[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: PCB format wishlist



On Sat, Sep 04, 2010 at 07:50:51PM -0400, Ethan Swint wrote:
> In parallel to how we want to implement the PCB file format, why
> don't we have a separate thread on *what* we want to implement?
> I'll propose the following as a starting point:
> 
> 1) Better angle support: include rotation (in degrees,
> rotation/translation matrix, whatever) as a location argument
> instead of altering the pad/pin/silk/refdes/whatever location data
> separately

Definitely. We probably also want transformation information, in case
the use needs to shunt the footprint over a few tenths-of-mils to make
the component match the PCB grid.

> 2) Footprint re-use: reduce file size by having components refer to
> a 'base' component with XYRS information, make component tweaking
> easier. Say you wanted to change all your 0603 resistors - it's
> easier to change the fundamental component, rather than the present
> case of to modifying individual components in all of their
> rotations.

Agreed - we should only import footprints once (and the format should
support referencing external files, even if pcb itself doesn't give a
GUI way to do this), and tag components. This fits in well with point
#1.

> 3) Connectivity information: include the connection information
> between line segments, similar to (but not necessarily exactly!) SVG
> format, where multiple points and arcs can be included in one line.

I'm not sure what you're getting at here. I think the rule of least
surprise dictates that line segments be line segments, since that is
how they are manipulated.

However, it would be nice if pcb supported shift-dragging to maintain
connections while moving segments; also, if you could double-click
segments to select the entire trace. But that's another discussion.

> 4) DRC re-use: refer to a 'base' DRC rule, rather than re-describing
> the DRC at every instance.  DRC rules could be arbitrarily complex
> or simple, e.g. elements in DRC class '250V' must have a 0.050"
> clearance from class '5V', but can have 0.010" clearance within
> '250V', or something along the lines of the 'skinny, normal, fat,
> power' we have in place now.

Yes. Though naturally there shouldn't be any limits on the number of
DRC classes, rules inside classes, etc.

> 5) Ability to lock any portion of the location coordinate, either in
> absolute or relative to another entity (line segment locked to
> pin/pad, components locked to the same Y coordinate, etc) - rather
> than just specifying an absolute coordinate.
> 

More generally, we should support creating "groups" of components
that can be transformed and manipulated as a collection. However,
I'm not sure how much functionality this would give on top of the
functional-block proposal.

> We might not be able to use this flexibility until PCB's internals
> are modified, but the ability will be there, waiting to be tapped.
>

The dream is that we never have to make a breaking change again :).


Andrew
 


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user