With sufficient resolution (probably in mm as that is the one with higher resolution) that shouldn’t be an issue. If it works at mm correctly, there should be sufficient resolution for it to work in inches correctly as well. The current problem appears to be that the intermediate form of the coordinates doesn’t have enough resolution. The correct information must be present somewhere because gerber export works, parts with 0.5mm pitch can be successfully placed as can 8mil traces that connect them. That implies that somewhere in the database there are coordinates with adequate resolution to place them correctly with high resolution in gerber output (and presumably in the .fz file output as well!) What I believe is needed is to switch to those same coordinates for X/Y placement in Inspector. I agree that it may be a lot of work, but I think it is worth doing because as noted, the current method is pretty much unusable to successfully place components in pcb view. I expect comparing the coordinates in a .fz file with the coordinates obtained from Inspector should be illuminating (I expect (without proof currently!) that the ones in the .fz file are going to be a lot more precise than those from Inspector. I think (again currently without proof) that changing the positioning code in Inspector to use the same values that generate the gerber output should be fairly contained to the code in Inspector and should produce the desired output of having the setting entered in Inspector translate to the correct coordinates in pcb (which currently isn’t true!) and would be well worth doing or at least looking at to see if it is as easy as I think or there is a bigger issue. It seems to me we should be able to change to a more suitable set of coordinates (which must already exist somewhere for geber output to be correct) in the limited case of modifying the position values in Inspector. I agree that making a basic change that affects all areas is probably a non starter, but I think it is worth looking at if the specific code that displays and changes the x/y position of parts in pcb can be changed to improve the situation relatively easily. As noted a couple of posts back, currently a fairly wide selection of different fractional mm values map to a single output coordinate like this (in mm):
10.641 10.59-10.7
10.520 10.46-10.58
here anything in the range 10.59-10.7mm entered in Inspector X or Y coordinate field maps to an output of 10.641mm The next step is to 10.520mm (not an even multiple of the dimension setting!) The desirable outcome would be to be able to produce 10.50mm and 10.51mm (10.500 mm 10.501mm would be even better but perhaps not possible although I think that must be possible in gerber output indicating the data is there somewhere!) allowing the precise positioning of a part with 0.5mm pitch pins (at 1/10 the pitch value. I think that gerber output can do this, so that level of position data must be available somewhere and I think just not in use in this particular interface. It seems to me we maybe should be able to change this specific interface to use better data to get the desired outcome without making too large a change.
edit: I think I know what is going on here. The coordinates appear to be in pcb screen image space and are affected by the zoom factor like this:
Here I selected led1 and zoomed out to the max. I then changed the X coord (in mm) by 0.01 intervals and recorded the set value:
x coord in mm
set displayed
51 - 50.997
50.99 - 50.997
50.98 - 50.977
50.97 - 50.968
50.96 - 50.958
50.95 - 50.948
50.94 - 50.939
50.93 - 50.929
50.92 - 50.919
50.91 - 50.910
50.90 - 50.900
here the value tracks pretty closely to those entered! This indicates that a partial workaround is set the values with the image zoomed in to the max! The zoom factor appears to be what is affecting the set values (indicating to me that the coordinates are in the screen representation and are having the zoom factor multiplied or divided to set the coordinate values which I believe is incorrect and causes the reduction in dynamic range!) because as the zoom gets smaller the values compress.
Here I zoomed out to show the full board in the screen and repeated the above
x coord in mm
51 - 51.021
50.99 - 51.021
50.98 - 51.021
50.97 - 51.021
50.96 - 50.900
50.95 - 50.900
50.94 - 50.900
50.93 - 50.900
50.92 - 50.900
50.91 - 50.900
50.90 - 50.900
note the much smaller dynamic range of values. Then I zoomed out even further:
and now the values are even more compressed.
x coord in mm
51 - 50.900
50.99 - 50.900
50.98 - 50.900
50.97 - 50.900
50.96 - 50.900
50.95 - 50.900
50.94 - 50.900
50.93 - 50.900
50.92 - 50.900
50.91 - 50.900
50.90 - 50.900
I think this should be fixable fairly easily by just changing from the zoomed screen coordinates to the actual values in the database which should make the coordinates correct! Of course as always the devil is in the details, but I suspect the image is rendered from the values in the database multiplied by the current zoom value and thus this change should be fairly simple.
I would say at this point the next step is to decide what LED part you want to use and if it doesn’t currently exist then make a Fritzing part for it and then try the new (zoom all the way out) method for placement and see what the result looks like. I think it should be acceptable.
Peter