Inkscape.org
Beginners' Questions How many decimal places can Inkscape handle for mm measurements
  1. #1
    siser siser @siser

    I'm working on precision CNC cutting for watch protection film (PPF) and need to know Inkscape's decimal precision limits for millimeter units.

    Specifically:

    • Can Inkscape accurately handle 0.01 millimeter stroke widths?
    • What's the maximum decimal precision (digits after decimal point) for millimeter measurements?
    • Does this precision hold when importing/exporting SVG files?
    • Any precision loss when scaling or transforming objects?

    I'm editing technical SVG files originally from CorelDRAW/Rhino and need to maintain 0.001 millimeter accuracy for manufacturing.

    Thanks!

  2. #2
    Lazur Lazur @Lazur

    It's one of those - needs testing.

     

    Shift+Ctrl+P - svg output settings/number of decimals. Set those numbers to be the highest.

    The mm value can be set in your document settings -ctrl+shift+D-.

    The svg doesn't have the units specified throughout the document, only in the defs section.

     

    What exactly to test out, what exactly you are dealing with.

    Rhino is CAD, can deal with NURBS. Inkscape probably imports those objects as Bézier paths. 

    Same if you have a polyline -it can be imported as such, but edited only after converted to a path (cubic Bézier).

    Unfortunately inkscape doesn't support editing arcs inside a path. 

    So if you are working with circular arcs you will introduce some inaccuracy. 

    If you are interested in the background why, have a good read here: https://pomax.github.io/bezierinfo/

    -the nodes can be placed "exactly", the midpoints of the segments are the worst-

     

    Still, if you want to edit paths by Boolean operations, you should be cautious.

    As far as I remember some versions behaved different than others or just users reporting back unexpected inaccuracies. 

     

    Stroke widths are a visual addition on top of the drawing so it's up to the render. 

    If inkscape is not rendering the expected result, can try other svg viewers with the same file.

    Contrary pdf has a limit on thin strokes and 0.01 mm probably won't render. 

    Cannot really check on a regular pdf viewer either of the limited zoom range and stereolithography is not on the palette of the everyday copy shop. 

    Those printers cannot produce a clean line thinner than 0.1 mm.

    For the most part I'd say the stroke rendering is more accurate than offsetting a path, although dashed strokes may appear a bit off. 

     

    Cannot check coreldraw but I'd assume inkscape is equally capable. 

     

    I'd test drawing in a bigger scale and before saving change the scale factor in the document's settings. 

    Which way the inaccuracies of Booleans should also scale down.

  3. #3
    siser siser @siser

    Following up on my earlier precision question - here's the type of shapes I typically work with shapes as shown on attach image.

    My workflow:

    • SVG files exported from Rhino8
    • Use Inkscape only for fixing broken elements (joining nodes) and simple resize edits
    • Shapes range: 2mm to 50mm dimensions
    • Line widths: 0.01mm to 0.05mm
    • Output to CNC cutter

    Results: Getting very precise cuts consistently.

    Thanks for the earlier technical insights - they're valuable for understanding limitations, but wanted to share that for my specific workflow, Inkscape works excellently so far for my manufacturing precision.

    Quick question: What does Inkscape consider as "hairline" stroke width when measured in millimeters?

    I'm working with SVG files from Rhino, and Rhino estimates some stroke widths as "hairline." Trying to understand what this translates to in actual mm measurements for precision CNC cutting work.

    Thanks!

     

    Rhinosvg
  4. #4
    Tyler Durden Tyler Durden @TylerDurden
    *

    If you are using CNC, you might only need the geometry.

    Inkscape can set the stroke to 0mm, but the geometry can still be seen onscreen using View>Display Mode Outlines.

     

    Inkscape 20250729072603
    Zerowidthstrokes
  5. #5
    karliss karliss @karliss

    Hairline strokes have no dimensions, consider them 0mm. It will be rendered as thin as current zoom level allows, but all the math should happen using center line.
    CNC is one of the usecases for it. Your CNC software should still be able to compensate for kerf thickness if you choose it do so, but that should be done based on cutting tool settings not the visual line thickness on screen.

    In the Inkscape settings you can also choose whether bounding box dimensions are based on "Visual bounding box" or "Geometric bounding box".  

  6. #6
    karliss karliss @karliss
    TylerDurden

    Inkscape can set the stroke to 0mm, but the geometry can still be seen onscreen using View>Display Mode Outlines.

    Please don't do that. The whole point of hairlines is avoiding need for hacks like that. They will be visible at any zoom level, but not influence any of dimensions as if they were 0 width.

  7. #7
    Tyler Durden Tyler Durden @TylerDurden
    *

    Hairlines are written to the SVG as 0.99999997 px. That may still work if viewing as outlines and geometric bounding box.

    fill: none;
    stroke: #ffff00;
    stroke-width: 0.99999997;
    stroke-dasharray: none;
    vector-effect: non-scaling-stroke;
    -inkscape-stroke: hairline;

     

    Compare to zero stroke width:

    fill: none;
    stroke: #ffff00;
    stroke-width: 0;
    stroke-dasharray: none;

     

     

     

  8. #8
    Tyler Durden Tyler Durden @TylerDurden

    I wouldn't call it a hack. the GUI has zero as a menu option. Viewing outlines is common practice for anyone using Inkscape for CNC.

  9. #9
    COD COD @COD
    🏆

    Tyler - 

    I always use outline view prior to importing into Fusion.

    A new trick I discovered the other day in Inkscape to verify closed profiles in Fusion. Select everything you plan to export to Fusion and use the Shape Builder tool. Mouse over every profile to verify it is closed. You can also verify if something that is not supossed to be overlapped. I had a screwed up profile in Fusion and I couldn't figure out what was causing it. Found it instantly with the ShapeBuilder tool. 🤣

     

Inkscape Inkscape.org Inkscape Forum Beginners' Questions How many decimal places can Inkscape handle for mm measurements