nicklockwood / ShapeScript

The ShapeScript 3D modeling app for macOS and iOS
https://shapescript.info
MIT License
393 stars 18 forks source link

clarification about units and export size #13

Closed mgrider closed 11 months ago

mgrider commented 11 months ago

It's possible this is really just a documentation request, but I think it'd be nice to have some clarification around what units ShapeScript is using when exporting. It would be great if the documentation under "Export" clarified what is happening more specifically.

More about my problem/situation:

I have done some 3D printing previously using exported .stl files produced by ShapeScript, but at that time I wasn't too concerned about exact sizing. For my current project, the size matters quite a bit, and I've been working in ShapeScript with the convention that 1 == 1cm, but I'm fairly sure ShapeScript is exporting 1 as 1 inch.

My 3D printing software (PrusaSlicer) actually gives me a warning that it thinks the units are inches, and asks if I want to convert. I think in the past I've just said "sure" and clicked through that dialog, but silly me, I thought I could just say "no thanks" and that would be enough for my geometry to work with metric units, but when I do that, the size is not correct no matter what factor of 10 I use, so I think that's not how it works.

My guess is that I probably need to convert my units to inches before export, and then let PrusaSlicer convert them back. Please let me know if it still doesn't seem like I understand what's going on. 😂

The (likely much more difficult) feature request would be for some way to specify metric unit sizing on export.

nicklockwood commented 11 months ago

I don't think any of ShapeScript's export formats have the concept of units built into them. STL files certainly have no such concept.

A value of one unit in your ShapeScript file maps directly to one unit in an exported STL file.

So the question is really what units PrucaSlicer is assuming when it imports an STL?

mgrider commented 11 months ago

You are totally right! PrusaSlicer assumes mm sizes. It was giving me that warning because I wrote my ShapeScript file with cm sizes, so it was off by a factor of 10, but that wasn't actually the issue. I just had the wrong idea about how big my model was going to be. I wrote this whole issue on the assumption that the size of my model in Prusa Slicer "looked wrong", but it turns out it was not wrong.

Sorry for the hassle!

nicklockwood commented 11 months ago

@mgrider no problem at all, glad you got it sorted!