[Blender][Cura] Holes in models are not being printed.

I’m not sure if this is a setting I am messing up, my 3d models I am building, or something goofy blender does exporting STLs. It seems like any time I print an STL I make with holes in the horizontal plane, the Lulzbot just ignores them, despite Cura showing the model with the holes in it.

:bulb: Just a forewarning, I did clean up all the supports and such on the model, there are no supports covering the whole.

My Blender Model

My STL imported in Cura

Print missing the hole.

Post the STL file, it may have an issue.

Here, I attached the test.stl. I wouldn’t be surprised if I needed to use slic3r or something to go through and make sure it’s sliced right, but if it’s not how can I fix it.
test.stl (60.5 KB)

I downloaded just now, it comes out extremely small. Please check your scaling, it may be to small to print the holes. Cura tends to print anything… even if its not right.

It is .07 MM in size! I tried to send through sli3er and it crashed. Netfabb cloud also refused working on the STL file. I can see that the sections you have that print solid with no holes are part of the model that has issues.

I downloaded the test model and checked with default settings – the holes don’t print.

Went to Expert Settings, cleared the checkbox for “Fix horrible, Combine Everything (Type-A)”. The model prints just fine now, including the holes.

I don’t know if it is a problem with the model, or a problem with “fix horrible” being too aggressive at closing things up. But the quick fix or workaround is to de-select Fix Horrible before printing.

Layer view helps show the difference (see snapshots below).


I took into Simplify 3D and it was to small to even see. Then into 123D Design, I had to search to find it, way tiny spot on the corner of the Grid. Scale it up into something usable and re-post, that’s 3 of us so far that have said its too small. Once again, Cura will try to print anything and that’s not good.

The scale is just fine in Cura. The part loads and displays at normal size (as per examples I posted above).

In Cura, the part displays (and prints) as about 72.5mm across.

Since pictures speak louder than words…

yeah, the file wasn’t manifold, specifically the tabs with the holes in them had problem a thole level. Looks like you got a working one though.

@piercet - I think you are correct, the interior of the holes don’t appear to be fully formed in the model (i.e., not manifold). So I think the “Fix Horrible” is doing exactly what it is intended to do, and “sealing up” things by closing off the entire hole.

With “Fix Horrible” disabled, the Cura does print a usable part from the model – although watching the print, it was clear that the hole outlines weren’t complete in all areas.

So if the OP is just looking for a usable print, turning off Fix Horrible should do the trick. But if the model is going to be distributed, I recommend doing some more work to get it water-tight first so others don’t have the same issues when attempting to print.

Thanks, I guess this leaves me with two questions now.

Since the model seems to be not airtight, what would be the cause of this? Do I possibly have duplicate vertices that need to be merged or something? As for manifold, am I supposed to be modeling the hollow bits inside my model? I know blender has a solidify modifier that does this.

The last issue, the seemingly incorrect scale of the STL. It seems like my cura gets the scale right as well as ScottW’s. So is there any way I can normalize or ensure that this scale is right across all or most 3d printing software? I know blender uses blender units. 72.5mm is the correct measurement.

Use a different 3D modeling program. Sketchup was having issues also with 3D models, made for 3D printers, and there is a difference between the two. You should set the units for mm in the Setup. I do not use Blender but Fusion 360, the alternative simpler program would be another Autodesk product 123D Design. Some people use FreeCAD but I don’t like the interface so its Fusion for me.

Its been said before, a lot of STL’s on the internet and especially on ThingVerse are drawn by 3D designers, not 3D printer users. My rule, unless they show an actual 3D print not just the model… try another one.

Someone familiar with Blender may have a more specific answer, but basically you just need to inspect the model carefully to make sure all surfaces are solid and meet properly. I use mostly Sketchup, about which many people will parrot the “it doesn’t work for 3d models” line, but I’ve found it to work just fine. If you leave an open face, you’re going to have problems no matter which design package you use (although some are better at warning/fixing non-manifold structures). Any time I have had a problem with a Sketchup model being non-manifold, it was easily resolved by inspecting the model and fixing problems with missing/open faces.

The STL file’s internal structure contains units, but not a unit size. The software importing the file has to assign a value to those units. Cura assumes (and assigns) millimeters on import, so if the file was designed/exported to STL as mm as yours was, then it will scale correctly when imported to Cura. If it was designed/exported to STL as Inches, then it will be TINY (1/25.4th scale) when imported to Cura (and scaling xyz up by 25.4 will fix that). The same is true with other slicers; if they assume a particular unit value, then STL files that were exported using some other unit value will be scaled incorrectly upon import. This isn’t a problem with the STL or model; it just reflects a different unit size assumption on import than was used during export and is an inherent limitation of the STL format (i.e., no unit specification in the STL). You (or rather your slicer software) needs to know what unit value was used during export in order to import the model at proper scale.

I imported the STL file this morning into Blender and it loaded at the same size as many of the slicing programs did - 0.07252 MM. And when I loaded it into 3D Build and fixed the un-associated pieces & re scaled it to MM then none of the slicers had an issue with the file. But 3D Build saw the model as scaled in Meters.

So it saw it as 0.07252 Meters in 3D build and 0.07252 MM in the version of Blender I have loaded on my machine. :confused:

Again, the STL file does not contain unit size definition. If the model is 72.5mm across, the STL file contains information that it is “72.5 units” but not that those units are millimeters.

If Blender imports it as .07252mm, then Blender is “expecting” (and assigning) Meters as the unit when importing the STL. I don’t use Blender – so I don’t know if you can “tell” it that the STL file units are mm, or if you just need to re-scale the model after import.

Cura “assumes” mm on import, which is why the “72.5 units” in the STL imports as 72.5mm in Cura.

Simplify 3D saw it was too small to print and asked what to do. Autodesk 123D Design brought it in very tiny, perhaps it was the .07252mm file. I don’t waste my time on things that don’t import right. Its clearly a design software issue.

It did open in Fusion 360 but the file had issues and I could not work with it.

No, there is NOTHING WRONG with the size of the model in this STL. The size is ABSOLUTELY CORRECT.

STL files contain “units” only, and no definition of units. It is up to the package doing the import (or the person at the keyboard) to assign the correct units during or after import.

This is just an inherent limitation of STL files. When importing, you must know (or assume, or guess) what value was assigned to units when the file was created. Importing at an unexpected size does NOT mean the file is bad or has issues.

Agreed, this file has some manifold issues. But the size is exactly as it should be. When importing, you must tell your software to scale based on 1mm per unit. This is normal and expected behavior for importing STL files.

Ok whatever you say. It’s not the file. But this the only File I have issues with, using 3 very well known software programs. It must be those program that are wrong.

LOL. Don’t take my word for it. Go read the specification for STL files. There is no definition of unit value in an STL file, and people export them using different units all the time. In some STLs, each unit is an inch, in others a millimeter, and in others a meter. If your software always assumes meters when importing, then anything that wasn’t exported using meters will appear to be scaled incorrectly. That is NOT the model or the STL file’s fault.

Throwing away STL files because they “import really small” is like the carpenter that throws away all the nails with the point facing the wrong way. (We all know he should save those nails for the other side of the house.)

So I got a chance to mess around in blender a little bit more, and it definitely was my model I built having poorly connected edges. I have been messing with OpenSCAD and have been digging that for less organic modeling. The STL sizing issue makes sense that it would be incorrect depending how the model was imported and by what.