← Back to team overview

kicad-developers team mailing list archive

Re: May nanometre resolution not be sufficient?


On Mon, Oct 22, 2012 at 12:44 PM, László Monda <laci@xxxxxxxx> wrote:
> Hi List,
> http://www.cadsoftusa.com/eagle-pcb-design-software/new-in-v6/ states
> that "Work with flawless conversions between mm and inches through
> increased internal resolution (allows grids of 1/4, 1/8, 1/16,1/32 and
> 1/64 mil)".
> Doing a little math it turns out that:
> 1/4 mil = 0.006 35 mm
> 1/8 mil = 0.003 175 mm
> (1 nm = 0.000 001 mm)
> 1/16 mil = 0.001 587 5 mm
> 1/32 mil = 0.000 793 75 mm
> 1/64 mil = 0.000 396 875 mm
> (1 pm = 0.000 000 001 mm)
> This worries me because given the vast hobbyist userbase of Eagle it'd
> be tremendously useful for KiCad to be able to import Eagle files
> eventually *without* loosing any accuracy.  According to the above
> values KiCad will retain precision up to 1/8 mil but not below.
> I assume that nanometre resolution has been choosen because whoever
> was in charge thought that it should be precise enough.  It's surely
> accurate enough to manufacture anything but conversion problems can
> arise.  I for one used KiCad from the pre-nanometre era and specified
> values like 8.645 mm which got rounded to the closest available value.
>  You may say that it's not a big deal but it is very disturbing and
> it's certainly not something that one expects from a CAD software.
> As absurd as it might seem only picometres would be small enough to
> provide the needed resolution to not loose accuracy.
> Please let me know what you think.
> PS: By the way, just for historical reasons what was the resolution of
> KiCad before the nanometre era?
> Thanks.

I think the problem is not there in the real world.

The output for production is at most accurate to a micro-meter or a micro-inch.
Photo plotters and CNC drill machines are not as accurate in practice.
Furthermore, footprints are mostly defined on a grid, which is of a
known size (not in pico-meters accuracy but in milli-inch or

>From the help-page of eagle ;
real u2mic(int n);
real u2mil(int n);
EAGLE stores all coordinate and size values as int values with a
resolution of 1/10000mm (0.1µ). The above unit conversion functions
can be used to convert these internal units to the desired measurement

For me personally the nano-meter is overkill already, more zero digits
behind the comma than before, we now limit the total board size
because of integer overflows.

Hope this is useful for you.

Have a good day,
Edwin van den Oetelaar