Inkscape OpenSCAD DXF Export (Q56784)

From Library of Open Source Hardware
Jump to navigation Jump to search
No description defined
Language Label Description Also known as
English
Inkscape OpenSCAD DXF Export
No description defined

    Statements

    1.0.0
    0 references
    https://spdx.org/licenses/GPL-3.0-or-later
    0 references
    UPDATE: Posted version 3 which adds "total_minx", "total_maxx", "total_miny" and "total_maxy" as well as similar dims for each layer named "layername_minx" and so on. UPDATE: Posted version 2 which works well in both Inkscape version 0.91 and 0.48. Most of us have our favorite tools. One of mine is Inkscape. I'm no pro but I've been able to do what I need with it. Another of my favorites is OpenSCAD. The purpose of this thing is to make it easier to take something from Inkscape and use it in OpenSCAD. The current steps you need to take to turn an SVG into an OpenSCAD usable DXF are the following: 1. Convert all objects to paths 2. Add extra points to paths 3. Convert paths to lines 4. Export to DXF After all that you may use your SVG design in OpenSCAD, but then if you want to edit your design you are faced with two equally unpalatable options: edit the original design and go through the steps again, or edit the DXF directly. I had had enough and set out to automate that process. I took all the best parts of at least 3 other DXF output extensions (I lost count!) and added automation for the steps listed above. With this Inkscape extension, you can edit/save your design and simply "Save a Copy As" to DXF whenever you want to try it in OpenSCAD. It is a lot smoother that way. Supposedly it exports color to the dxf as well but I don't know if that's supported in openscad. NOTE: If you change the size of the document in Inkscape the exported DXF will have misplaced objects. A workaround for this is to recreate all layers after resizing the document. I know, painful, but once you have the size worked out it's not bad. BONUS FEATURE: The extension automatically adds dimensions to the DXF: layer_name_width and layer_name_height for each layer and total_width and total_height. The dimensions can be accessed using the built-in dxf_dim command. Ex.: total_width = dxf_dim(file = "openscaddxf.dxf", name = "total_width"); Three fairly small provisos: - It's fairly slow because it has to launch a new inkscape instance to convert the objects to paths. It's not a pretty solution, but I believe it's the only way to do it at the moment. - Doesn't work with groups. You will need to ungroup everything before exporting - Doesn't work with intersecting lines. This will cause either the offending objects to disappear or everything will appear outlined instead of filled in. Repo is here: https://github.com/brad/Inkscape-OpenSCAD-DXF-Export
    0 references
    thingiverse.com
    0 references
    auto
    0 references
    www.thingiverse.com
    0 references
    en
    0 references
    polymaker
    0 references
    0 references