Problem exporting to STL

I’m helping @Quadhurst (Andrew Staton) to model parts of telegraph poles for 3D printing at 1/10 life size.

We are both working in the latest version of SU 2021.1.331, on Mac Monterey 12.3.

This is an upper section of a pole, with slots and bolt holes for cross-arms which will hold insulators for the wires.

The hex socket at the top, and plug at the bottom, allow for joining to a ‘roof’ section, and a further section of pole below.

It is reported as a solid component by both Solid Inspector and SU (after fixing an internal face in the original full size model).

Units are decimal inches.

We scaled the full size original by 0.1, to create a smaller version for export and 3D printing, and re-centred it on the origin.

Export to STL using inches as the export unit in the STL Export Options dialogue.

Import the STL, again using inches as the unit in STL Import Options, with the model units still in inches.

The import comes in 12x larger.

Why? It doesn’t make sense to me. I don’t remember any bug reports of a similar issue.

Trying again, but this time after scaling the original down by a factor of 10,
I scaled the definition.

Export again, still with everything in inches (model units, STL Export and Import Options).

Even weirder. The import still comes in 12x too large, but not only has it now got two missing faces, so has the originally exported component.

The shortest edge of the missing faces is 0.14", many times larger than the length which can cause ‘small edges’ problems, I would have thought.

Again, what’s going on, and how can we get an export that is the correct size?

Here’s the original full size model.
S2-7H.skp (386.5 KB)
And here’s the latest after scaling down, scale definition, export to STL, and reimport the STL.
S2-7H scaled down with imported STL.skp (677.8 KB)

But why is the method I’ve described not working? A bug in export or import STL? Something I’m overlooking?

Can someone else reproduce the issue, and/or suggest a workaround?

Both Andrew and I get the same result, repeatedly.


One roundabout way I have tried earlier for a different model, is to change the model units to metres, scale the original up x100, then export in metres, and import back into either SU, or into the slicer, using mm as the import units.

I imported into a new SU model with units in mm, and find that this works to preserve the scale, but the STL import has surface border issues when checked with Solid Inspector 2.

(I changed the units back to inches, to check the height of the imported STL file.)

What units did you import the .stl with? What units did you select when you exported it?

Is it actually supposed to be 10.18 in. tall in the print?

As described in the post - in inches everywhere when exporting and importing at 1:10 (i.e., model units, STL Export and STL Import Options).

And for the x100 model, original in metres, exported in metres, then imported using mm in the STL Import Options.

The print is indeed supposed to be 10.18" - the print firm that Andrew uses can print up to a little bigger than that size. It’s some form of laser resin printer.

Sorry. Too hard to follow what you actually want for the dimension.

What happens if you model in meters, leave the SketchUp model in meters and export the .stl file with meters as the selected units? Then import the .stl with inches as the units. That seems to work just fine for me and no screwing around with tiny faces that get deleted or any of that nonsense.

That’s probably the best option. The models all originate in Architectural units (Ft/inch/fraction sizes) but it would be easy to change the units to metres before export.

That’s probably the best route forward.

I’ll try that in a moment.

But I still am curious about why the scaling down, and keeping everything in (decimal) inches doesn’t work? Bug in export and/or import code?

PS. But that doesn’t do the scaling down to one tenth size.

I guess I’d model in meters. Not difficult to convert feet and inches to just inches and use them along with the fractions when enter dimensions. SketchUp will accept fraction entry with units set to meters.

As for the scaling down issue. I expect something is getting lost in translation. Are you scaling the definition when scaling?

I’ve tried both with and without using Scale Definition after scaling the component down.

It makes no difference. The imported STL (in SU) still comes in 12x too big.

And it also makes no difference if I change the units from Architectural to Inches before exporting the scaled-down component. I had wondered if the exporter treated Architectural units as feet, but it doesn’t seem to.

It might well have been easier if Andrew had stuck to his original intention of using 1:12 scale. Then the model could have been exported to STL in feet, and imported in inches!

But he found he needed the slight extra detail that printing in 1:10 rather than 1:12 gives him.

In the light of problems in getting a valid solid STL file at 1:10, I may persuade him to change back to 1:12.

I don’t understand why I can’t get a clean STL at 1:10. AFAIK the original model is a clean SU solid.

Don’t know I guess. Maybe if Box happens by he’ll have an idea. I did adjust the size to make it 10.18 meters tall, correct the definition and then exported as above. Uploaded the .stl to i.materialise using inches as the selected import units and it shows with the correct dimensions.

That’s helpful to know. Thanks for your interest, Dave.

Maybe @Box will have some more ideas. Or someone else can reproduce the problem both Andrew and I are having, and being baffled by.

I found that exporting the original, scaled down and definition scaled using Model Units, then importing that back into sketch using Inches will be the correct size, but it will need repair due to tiny faces.
Tiny faces can be a problem with edges you think are long enough but it is often the distance on another axis that is the problem, vertices too close together rather than length of edge. Anyway, in this case for me it is around one of the small holes where each segment is 0.0064", but not on all holes with its usual randomness.
I do question why you are reimporting the stl, if it is to test the size it may not help. That depends on the slicer and how it imports. My cura for example the way I have it set up opens the correctly sized model at 10.1mm, which might be a tad too small.

It was for that reason, and to see if the export at scale was solid.

The original model isn’t a solid in sketchup, you have an internal face which will show as an error in a slicer.

To check sizes and solidity you would be far better off downloading one of the slicer programs and using that to check. Most are free as far as I know. I have 3 for different printers, Cura is the most common one. Dave uses an online version. Or find out exactly which software the person who is doing the printing uses and get that. Importing back into sketchup is fraught with error potential, wrong size, missing faces etc
Also avoid trying to export very small geometry, scaling something down to the ‘correct’ size in sketchup, or even using the Dave Method, can lead to broken .stl files. it is still a tiny face issue and even saving a sketchup file at a tiny size can cause it to fail when opened again.
Far better to model at a larger size and use the export setting to give you an .stl that is solid and appropriately sized. Sometimes it is even simpler to size things in the printer software. Cura for example will allow you to change one dimension and it will adjust the rest accurately, or just change each individually.
As for inches, I don’t use them and i’m not sure how many slicer programs do, so you might have to play with that a bit.

Yes, I noted that in my earlier post, and fixed it before export.

Good advice. I tried that too - I have Cura on my iMac.

And exporting at a larger size, then using the slicer to import in different units also makes sense.

I’ll talk further to Andrew about how best to deal with the size and small faces issue.

I still don’t really understand why the two faces disappear - the edges don’t seem to me to be ‘tiny’ - but I note that it happens.

When 3D printing for myself, I almost always draw in metres, export in metres, and import in mm into the slicer.

But the objects Andrew is drawing, from mid-20th C Britain, were designed and documented in old imperial measurements - feet, inches and fractions. So he’s drawing them full size in ‘inch’ units.

Draw them in inches but with units set to meters. So something that is 96 inches long would be modeled as 96 meters long.once the model is complete scale it down to 9.6 meters long and export the .stl. in meters. Import it into the slicer using inches. No need to do any dimension conversion while modeling,

1 Like

Quick example:

The drawing in the background gives the distance from the bottom of the base to the center of the sphere at the top as 12’ 11" (155"). Units set to meters and drawing sized so that dimension is 155 meters. I traced just the fixed part of the column for this example. Copy resized to 1/10 of the original.

Exported .stl file of the smaller copy with export units set to Model Units or Meters. Uploaded to the slicer in inches.

Probably should have made it hollow.

1 Like