Units in schematic

Hello!

I noticed this when modifying my options:

Units

Although I have chosen millimeters, all the settings are in mils.
Is this a feature?

Does it mean anything to have actual units in a schematic in the first place? It could be 1 unit, and the
unit remaining abstract until actually printing. Default text 1/2 unit, repeated items pitch 10 units, etc…
And when actually printing, choosing the grid size or fitting to the page would actually allow to print.

Thanks

Pascal

I have seen discussion about schematic units in the developers mailing list. It’s a valid observation that the unit could be abstract. For practical reasons it will probably be something physical even in the future versions of KiCad. I’m not sure if it must be visible everywhere. For it to be transparent good and easily usable zooming options would be needed for display and printing/plotting.

I think the biggest reason for real world units is that people need some reasonable readable physical size for the symbols and text for default 1:1 printing. In the end, if there are good zooming options, it doesn’t matter what the unit is.

1 Like

Currently the base unit of Eeschema is 1mil (integer representation). So these values can only be in multiples of that unit. If we used mm here, it would need to be a decimal representation to map correctly to the mils units. Users might be slightly confused if they tried to set a 1.0mm pitch but instead kept getting 0.9906. Future versions will change this legacy behavior.

I’m grow up is SI unit too. But I think keep mil or 10th of mil, or 1000th mil unit still make all conversion make more natural without round up. Here is why:
1 mil = 25.4 nm – this mean everything in mil can convert to nm without any round up.
1 mm = 39.37007874… - This mean everything in mm cannot convert to mil without any round up.

If we need micro meter precision level , store internal unit as 100th of mil ( integer number of 1 is 0.01 mil). With this scale, when convert mil to um - round up with 1um will give you exactly value in um. (Exact tolerance is 0.254 um).

In 4.0.7 version store 10th of the mil which not allow us to go down to 1um - but +/-2.54um tolerance.

We are talking about schematic here, which does not require precision. What is required is a deliberately coarse grid for wire nodes to ensure that the user gets the expected netlist.
I remember when I first started with KiCad in the 4.0.0 days, there were no end forum posts where users had used a symbol off grid and broke connections.

2 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.