Mail Archives: geda-user/2015/09/09/06:50:29
On Wed, 9 Sep 2015, Erich Heinzle (a1039181 AT gmail DOT com) [via geda-user AT delorie DOT com] wrote:
>If apertures were properly implemented for non round pins/pads, it would
>
>a) make it more Ucamco standard compliant
>b) perhaps simplify the implementation of additional features in future,
>i.e. tear drop pads, obround pads.
I do have native support for assymetrical shaped pins (sort of teardrops)
in pcb-rnd.
While flashing is probably good for gerber, it doesn't make things easier
with the current infra: rectangular and octagonal pins are
polygons. If they are just polygons, the code can calculate them and
place them without having to worry about other pins. The user presses 's'
and they grow, or presses 'q' and change shape - locally. It's relatively
easy to implement with the generic polygon idea.
If they have to be flashed, and you decide to make this in pcb core, you
need to make a catalogue of all the shapes you used. When
the user presses 's', you need to check whether this was the last
reference of the given sized/shaped pin so you can remove unused
catalogue items and then check whether the new size/shape already has an
item and increase the reference counter or create the item. Changes are
not local anymore, you need to start worrying about saving the flash
catalogue in the pcb file or generating it on load, etc.
If you don't do it in the core but in the gerber exporter (which is imo
much simpler), you need to build the same catalogue, but only once, when
you start, and you don't need to delete from it ever, just delete the
whole thing at the end of the export. So no reference counting, just an
index of shapes alerady seen. Probably something like this is already
happening for line widths and/or hole sizes.
Regards,
Igor2
- Raw text -