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

Re: gEDA-user: pcb crooked traces



Andrew Poelstra:
> On Fri, Oct 08, 2010 at 11:46:39AM +0200, Armin Faltl wrote:
...
> > The only practical consideration I see is, that the internal unit of PCB
> > allows handling with integer-arithmetic (makes comparisons a lot
> > faster and safer than floating point).
...

That might be true, but if you are talking about an internal 
representation with nm resolution, then you have the same problem as 
for the floating point, there are too many separate values that 
basically is the same value and you can't tell them apart looking at a 
board.

...
> I don't think we could reasonably use floating-point. There is no
> room for rounding error when designing tight areas of a PCB.

That is nonsense, it is all about tolerances.

1, going from physical components to footprint file is basically a
   big averageing operation

2, going from pcb-file to physical pcb is a big rounding operation
   with some added noise, or do you believe you can make pcb's with
   nm's precision?

...
> Suppose we stored a scaling factor in the .pcb files, of x10, x100,
> x254, etc? Then we could use nanometer precision by default and go
> bigger if we need a bigger board.

A, What is an integer plus a scaling factor?
   -- it is a floating point value.

B, If you implement it as an integer (value) and an integer (scale),
 you could just as well do the scaling thing in some postprocessing
 step, outside of the pcb program. That is basically how gschem handles
 dimensions, it doesn't care.

C, As a side note, if you use double's for the internal representaion, 
 then you don't loose precision compared to having an int32_t. You can 
 convert an int32_t to an double and back without loosing precision.

Regards,
/Karl Hammar

---------
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57




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