[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gEDA-dev: Re: gEDA trackers




> Indeed, but I believe that it is impossible to make it work properly
> without fundamental changes to the PCB file format.

Most of these changes would need file format changes.

I've proposed a more flexible file format in the past, something which
can always be parsed even if you don't know what the data means.  Not
as complex as XML, though.  We already have a simple parser for the
menu files (pcb-menu.res) which we can re-use.

> Modify them little by little by steps which give irrational numbers
> and the errors will accumulate.

Last time we talked about this, we decided that the best way to solve
this would be to save the original (unrotated) coordinates in a
separate data tree off the Element structure, and recalculate all the
coordinates from that, rather than from previous calculations.  In
theory, we could store the unrotated element in the file, with an
attribute for rotation, but that would break backward compatibility in
a subtle way.  I'd rather break it in an obvious (i.e. easy to detect)
way, or not break it at all.

> 1) add an editable solderpaste layer (I have no idea on whether this
> can be done in a few hours): right now the solderpaste seems to be
> exactly the same size as the pads. This is almost always wrong,
> especially for large pads (DPAK, etc).

I did this once for a project I was working on, by hacking draw.c.
What you really want is a solderpaste definition associated with the
pads themselves, i.e. saved in the pcb file.  This is much harder.

> The simpler way to have semi-automatic solderpaste might be to have
> something similar to the soldermask dimension,

What I envision is adding a new "multipin" which defines all the
things on every layer (including the hole, if any) in terms of
arbitrary geometries.  Most of the time, pins and pads are simple, so
we can benefit from the simple structures we already have.  When you
need more, you can afford something much more flexible.

Once you start on the "dimension" method, you end up needing one for
each edge.  Consider a TQFP that has extended pads for debugging.
You'd want to limit the paste to where the pin's going to be, not the
whole pad, and it may be off-center.

> The real nuisance is that, in metric mode, 45 degree tracks often 
> do not snap exactly to the coordinates as PCB adds a very small
> (0.0001 inch typically) stub. Now if I add another segment to the 

This is more likely a rounding error than a units error.


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