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

Re: gEDA-user: pcb, how to remove mm garbage (very short lines)?



1 in = 25.399999999972 mm not exactly 25.4 but close enough for layout
work if you use high enough precision.

25.4 to 1 might not be close enough if you are trying to put a satellite
in orbit around mars.

Steve M.


On Wed, 2008-11-19 at 18:58 -0700, John Doty wrote:
> On Nov 19, 2008, at 4:08 PM, Peter Clifton wrote:
> 
> > On Wed, 2008-11-19 at 15:44 -0700, John Doty wrote:
> >
> >> If you insist on no artifacts, it's zero.
> >>
> >> If you round imperial units to the nearest 0.01 mil, you have no
> >> additional roundoff error if your fundamental unit is 1 nm, because
> >> 0.01 mil is *exactly* (by definition) 254 nm.
> >
> > Good point... meaning it would be sensible to move towards some  
> > kind of
> > metric internal units, or an intrinsic coordinate system with units in
> > metric being given the divisor of 254 * 10^n.
> >
> >> It's much harder to go the other way with a humanly comprehensible
> >> rounding because of the factor of 127 in the definition of the inch.
> >
> > I get that 127 * 2 = 254.. which definition of the inch mentions 127
> > explicitly though?
> 
> I have multiple reference books that state 2.54 cm = 1 inch exactly.  
> Presumably there's some SI or NIST definition.
> 
> >
> >> 2^32 nm is about 4.3 meters, large enough for any PCB I've ever seen.
> >> 2^64 nm is about 0.12 astronomical unit ;-)
> >
> > Well.. I can't recall if we use signed or unsigned numbers throughout,
> > so we might end up limited at half those.
> 
> If it's signed, you can go 2.1 m either way, so it's the same.
> 
> > Aren't 64 bit integers going
> > to be slow on a 32bit CPU?
> 
> How slow. What fraction of computation is arithmetic in world  
> coordinates?
> 
> >
> >
> > Practicalities of changing:
> >
> > 1. Change internal units: ought not to be _that_ hard since DJ nicely
> > abstracted things away when he refactored to introduce the HID (IIRC).
> > Make loading / saving convert to the old units, (rounded to integers).
> >
> > 2. Add unit specifiers to file-format, so users could, if they want,
> > write out coordinates such as:
> >
> > 5mm, 10mm or 5 mm, 10 mm. from their footprint-generation scripts.
> >
> > Save the files out with native units, e.g. "123456000 nm"
> >
> > Perhaps, for optimal flare, we could make it more human readable, by
> > writing out something decimalised, like: 123.456 mm (*)
> >
> > If the coordinates for a point happened to be a convenient decimal
> > fraction of an inch (requiring less decimal places / significant  
> > figures
> > than the metric representation), then we could choose to emit in mils,
> > or inches etc..
> >
> > * (Taking care not to loose precision if we were to read it back via a
> > floating point number).
> >
> >
> >
> > -- 
> > Peter Clifton
> >
> > Electrical Engineering Division,
> > Engineering Department,
> > University of Cambridge,
> > 9, JJ Thomson Avenue,
> > Cambridge
> > CB3 0FA
> >
> > Tel: +44 (0)7729 980173 - (No signal in the lab!)
> >
> >
> >
> > _______________________________________________
> > geda-user mailing list
> > geda-user@xxxxxxxxxxxxxx
> > http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
> >
> 
> John Doty              Noqsi Aerospace, Ltd.
> http://www.noqsi.com/
> jpd@xxxxxxxxx
> 
> 
> 
> 
> _______________________________________________
> geda-user mailing list
> geda-user@xxxxxxxxxxxxxx
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user



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