I’ve been trying to print interlocking 3d objects and I’ve been finding it frustrating to try and get things to print out at the size I want them; images seem to scale unpredictably when converted from other formats to SVG/PDF.
It would be very helpful if the printer interface could scale, rotate, or translate objects by a set amount rather than requiring me to eyeball things based on the screen edge ruler.
It’s true. Numerical input for a bunch of these things would be really helpful. However, in your case I think you’ll want to get to the bottom of the haywire conversion so that your SVG specifies the actual desired size of things.
What’s your current process for conversion: source software and format, metric vs. imperial and what software do you use for the conversion.
Any consistency to the results you’re seeing? For example, everything imports about 25x too small, or perhaps 2.5x too small?
that’s on my software wishlist too, along with an optional grid overlay, and side rulers that go to at least 1/32" not just 1/8". but my biggest wish is that the Glowforge app would save your alignment, engrave settings on a project so you can duplicate your engravings days later. my app tends to error out and forces me to reload, making it so I have to start the engrave prep from scratch. I would also love it if they could make something that fits into the crumb tray or main to center and align materials precisely. I would especially like an optional low crumb tray with said alignment help so to use for thicker materials. those are just my ideas.
As it turns out, depending on how you are exporting from Illustrator, more than this is needed. I suspect you know all this, as it was one of your excellent posts that got me interested to investigate the topic, but I will post it for others’ benefit.
When exporting SVG, both AI and Inkscape export in “user units” which are pixels. Depending on how you export, it will also put a “viewbox” around the drawing. The viewbox specifies the size in physical dimensions (mm or in typically) as well as user units. So with that, in theory, external programs reading the file, like GFUI, can correctly determine the mapping between the two coordinate systems and hence the physical size of paths within the SVG.
However, if you use Illustrator’s “Asset Export” feature and the SVG file format, it does not include the viewbox. This means that the external program has to guess the mapping from pixels to physical units. Unfortunately, Inkscape’s guess is 96 pixels-per-inch (ppi or dpi), and Illustrator’s is 72. The GFUI default also appears to be 96, as does that of Fusion 360. 72/96 is 0.75. So this is why when stuff is missized it is always 75% of the correct size.
In addition, depending on how big the viewbox is, there can be a significant loss of precision. In general, specify 3 decimal places in export, and that shouldn’t be an issue.
So here are my rules:
Always uncheck “Responsive” in SVG settings when exporting SVG from Illustrator
If using the “Asset Export” feature, use another format. PDF set to High Quality Print settings works well. Other means of exporting from Illustrator (Exportfor Screens, Save As,…) don’t have this issue, so feel free to use SVG there.
Always double check the size in the GFUI using the rulers.
Specify 3 decimal places in the export settings
Also, notable is no matter what I did, SVG with viewbox or not, when going from Illustrator to Inkscape, I found it miscaled things by that 72/96 ratio. Same for Illustrator to Fusion 360. I ended up just manually fixing that by scaling things in the destination program by 1.333 (~96/72).
Shivers! That’s only 3 decimal points of precision. The resulting object won’t be scaled precisely correct
If you want/need more precision you can often get it by using the fractional notation in your scaling box in many programs. So multiply by (1+(96/72)) instead of typing in 1.333. The internal calcs are going to be done at ridiculous levels of precision depending on the variable’s data store in the program because it will be likely aligned on half-word or full-word boundaries using Real data types. The 3 digits are just for display.
Thank you for pointing that out. I actually was unaware of this detail; in fact in my video tutorial I recommended Asset Export. Such a simple thing as saving a file turns out to be so damned complicated.
I endorse your rules. Personally I would just forget about #2 and not use Asset Export. It’s probably only useful if you have multiple assets in one document that you want to save to separate files with one button. Not an impossible use case for laser cutting, but it’s not my typical workflow. I usually do Export for Screens (with the keyboard shortcut) and use the Artboards tab with Full Document selected. It’s quick and gives me the desired result of a correctly sized SVG that is not pinned to an artboard. If I want that, I just change Full Document to All.
That sounds like a bug in Fusion 360. I’m not sure if I have the stamina to join their forum and crusade for a fix but in the meantime exporting to dxf seems to be more straightforward for this workflow.