Mail Archives: geda-user/2017/08/13/09:16:02
Hi all,
this is somewhat related to the other thread with the slotting.
As I wrote earlier, the subcircuit upgrade is not merely replacing
elements with something that supports "polygons and text on copper" or
"better paste pattern", but it is a large scale rework of the data model.
So instead of introducing 10 new special cases for 10 such feature
requests, we just let users compose arbitrary constructs on whatever
objects on whatever layers which will automatically solve all such
feature request.
As a result we will have less number of drawing primitives, but what
remains will be more generic. Together with subcircuits it will be easy to
combine them to build up new, non-atomic objects.
We will go from PCB's 11 drawing primitives to only 6 at the end. Less is
more: you will be able to draw arbitrary smd pad shapes and you already
can include paste and mask patterns in a subcircuit (that will then be the
footprint), draw poly on silk and text on copper in your footprints, just
to name a few possibilities we will get automatically.
More details can be found in the following devlog entry:
http://repo.hu/projects/pcb-rnd/devlog/20170813_prim.html
Most importantly: the new set of drawing primitives will be orthogonal and
will lack special casing. Examples of non-orthogonal, special cases in the
original data model:
- 'pin' which is really an element-via-with-pin-number; the via code is
mostly duplicated as 'pin' code, sometimes adding a few lines for the pin
number
- 'pad' which is really an element-copper-line-with-pin-number; but you
can't make a polygon or arc be an smd pad
- 'element-line' which is really an element-silk-line, but you can't make
it work with any other layer than silk and can't draw polygon on silk,
etc.
Finally, the best part is that we can do the transition while keeping
everything stable all the time. We simply add a few new primitives in
parallel to the old ones, for a short time we will have even more than 11.
Then when the new ones already work properly, we start switching over and
gradually remove the old ones. We will retain file format level
compatibility with every other CAD (e.g. kicad, eagle, gEDA/PCB).
Regards,
Igor2
- Raw text -