1

I have an SVG file that I'm converting to DXF to feed to a laser cutter via the LaserCut 5.3 software.

I have my SVG file all complete, scaled to the full size (1:1). As per the LaserCut page regarding Inkscape support, I have the document properties unit set to mm, all my paths are sized in mm. The grid lines are all in mm. I've verified all the paths are the correct size.

In the document properties, I have the scaling set to 1:1, 1 user unit to 1 mm. I've also tried changing around the scaling factor, and that made no difference.

I've tried to save the SVG to DXF both using Save As... and Save a Copy.... When saving to DXF, it prompts me for the base unit, and I chose mm.

When I import the file into LaserCut, the paths are all the right shape, ... but they are never the right size.

Does anyone have any idea how to get the DXF to properly represent the size of my drawing? I've never worked with DXFs before.

If I manually scale all the objects up by about 375%, then it seems to import into LaserCut the right size. It doesn't make any sense why I should need to do that, as my drawings are produced to a 1:1 scale. I'm confused.

2
  • It's a bug in Inkscape - there are some solutions to try listed here: bugs.launchpad.net/inkscape/+bug/1643383
    – Billy Kerr
    Aug 12, 2017 at 17:48
  • 1
    I overlooked the "Base Unit" in the dialog that pops up after you select the location to save the DXF from Inkscape. It was set to pixels instead of millimeters. Changing the value fixed the issue for me.
    – Alan Samet
    Oct 2, 2019 at 22:04

2 Answers 2

1

I repeated the problem. I made in Inkscape a strokeless 120 mm wide rectangle. When I saved it as DXF, the base unit was selected to be 1 mm.

When the DXF was imported to 3 separate programs with 100% scaling and having 1 unit = 1 mm, all programs got 31,75 mm wide rectangle. Those programs were Illustrator, a CAD (only a free demo) and Inkscape.

I'm afraid that Inkscape outputs the DXFs in reduced size and some underhood knowledge is needed to get it right.

You should note that scaling is not a fix. Without knowing the reasons of the problem one cannot be sure that the needed scaling is the same for all forms and sizes.

I hope that someone with more Inkscape knowledge provides a proper fix. Without it save as SVG. Convert it to DXF in another program.

2
  • 1
    I know you say that scaling the result isn't an option but it's often a good idea to include a reference shape of easily determined dimension in your drawing. This has saved me some deal of pain when transferring designs between file formats and applications - not just Inkscape and CAD programs.
    – user19660
    Aug 16, 2017 at 12:45
  • @MattBracewell Yeah, I did that too! lol. The table in LaserCut has a 5cm grid, so I made a 5cm square in the corner of my file, just as a validity check when importing into LaserCut.
    – eidylon
    Sep 19, 2017 at 2:22
0

So I figured a way around this. I downloaded an Inkscape extension Big Blue Saw DXF Export for Inkscape.

There were a couple changes I needed to make to one of the script files though.

The first, from reading on the blog post there was because I'm using a newer version of Inkscape than the script was originally written for.

After installing the extension in Inkscape, find and open the file inch_dxf_outlines.py in your text editorof choice.

Around line 118, make the following change:

h = inkex.unittouu(self.document.getroot().xpath('@height',namespaces=inkex.NSS)[0])

to

h = self.unittouu(self.document.getroot().xpath('@height',namespaces=inkex.NSS)[0])

changing inkex to self .

The other change I had to make because I work in millimeters instead of inches. Around line 119, make the following change:

scale = scale/25.4

to

scale/7.15

With BigBlueSaw and those two changes, my millimeter SVG files in Inkscape now export to DXF at the proper size.

Not the answer you're looking for? Browse other questions tagged or ask your own question.