← Back to team overview

kicad-developers team mailing list archive

Re: Concerns about clearing disagreements before committing.

 

Dick,

> Then why are you here?  What is your point?  Make the patch contribution, all fields if
> you want, and I will personally give it extra consideration.
> 
> If you are here to only create mischief and take shots, we can do without that.
> 
> Contribute, do it like a team player, or go away please.
> 
> This is your best chance, right here, right now, to be taken into this team or be shut out.
> 

The changes are on my kicad-brian branch on launchpad
from a year ago.  Pull away.


I'll also take this opportunity to explain to you why the
internal unit is a bug and increasing it is a bug fix and
not a feature:

When I was laying out CBGA fields with metric spacing in
kicad, kicad moved every pad and via over to the next
decimil grid position.  This causes several errors:

1. No pad is in it true position on a metric grid and is
   no even in the correct position to a diagonal.

2. When placing vias between pads, each via was also off
   the metric grid, sometimes adding in error to the pad
   placement.

3. 45-degree dogbones between pads an vias could not make
   a 45-degree angle (because pads and vias are not on the
   diagonal, making a long dogbone and a little 1 mil jog
   segment between the one end of the dogbone and the via
   or pad.  Unlocking the 45-degree track does not solve
   the problem because the round-off jogs the endpoint of
   the track and the 1 mil fragment reappears.

4. Pads are misplaced with respect to their drill holes.

5. Pads and vias must be dropped from 12 mil to 11.8 mil to
   avoid DRC errors.  Tracks must be dropped from 5 mil to
   4.8 mil to avoid DRC errors.  (The DRC using integer math
   rounds the other way from the grid error at points.)

6. Fabricator says we do 5 and 5 and to meet annular ring
   requirements pads must be increased to 12 mil and tracks
   increased to 5 mil; however, when that is done, they all
   fail DRC on the fabricator's CAM tool.

7. The 5000 copper features on the board increase to about
   7000 due to the little 1 mil segments that cannot be
   gotten rid of.  Fabricator charges by number of copper
   features (because the number increases the run time and
   memory requirements of the CAM tool).  So I have 2000
   features too many and have to pay for 4 and 4 instead
   of 5 and 5.

Please understand that the Gerbers given to a manufacturer
represents design data and has nothing to do with
fabrication limits.  Round-off errors in the design data
simply add to the manufacturing tolerances making everthing
worse.  CAM systems are quite accurate in their calculations
of DRC on design data.  3.5 metric Gerber data (3.6 is
better) is required to place everything in its true position
on both an imperial and metric grid.  PCBNEW internal unit
must be a nanometer so that vias in a metric BGA pad field
are placed in their true design position.

BTW, the 0.1-degree angle doesn't cut it either.

This is why when I see someone take it upon themselves to
change the internal value to nanometers and get jumped on
for how the went about it rather disconcerting as a user.
Because, from a user perspective, I don't care whether int
was overloaded or macros are strewn everywhere:  without a
precise internal unit, kicad is useful only for laying out
dimmer switches.

Make the unit a nanometer, or better.  Make the angle
1/1000th of a degree, or better.  Otherwise these same
problems will result on some board.

--brian

-- 
Brian F. G. Bidulock    � The reasonable man adapts himself to the �
bidulock@xxxxxxxxxxx    � world; the unreasonable one persists in  �
http://www.openss7.org/ � trying  to adapt the  world  to himself. �
                        � Therefore  all  progress  depends on the �
                        � unreasonable man. -- George Bernard Shaw �


Follow ups

References