So today i had an interesting experience. As i have been lately, i sometimes go to the library to print out parts I’ve designed for my custom 3D printer project. While they print i use the time to crunch out upcoming essays for for school.
But this time instead of the printer happily moving along and producing perfect parts i got a rude awakening. The parts that came out looked like picture #3. Instead of my corner pieces being printed with two triangular pyramids and four “arms” they printed with one triangle, a “tail” and two “spaghetti blobs” on the side in a mess. It looked more like a deformed geometric fish instead.
Looking for info online i found helpful information on the Ultimaker Forum. It seems if i go into Layer view beforehand i can see what it will print out like and see any obvious gaps before hand. X-ray mode is even more helpful in a situation like this because if there are any faces or walls that have problems they get highlighted in bright red.
As you can see on mine, the bad models have several red triangular “internal” walls. The models have internal walls because they were created in Solidworks as assemblies from smaller parts and “digitally glued together”. Normally that shouldn’t cause a problem, but for some reason it did.
Currently i’m using Solidworks 2007 to create my 3D models. I wish i could use a good Open Source CAD program that works in Ubuntu Linux, but sadly none really exist. Not to my liking anyway. FreeCad has potential, but has a long way to go. OpenSCAD looks decent, but is for people who have mathematical minds. Sadly i don’t. And Blender has amazing graphics, but is not a CAD program. If someone could combine the beautiful elegance of Blender while stripping out it’s over-complexity and merging it with FreeCAD, and taking the user friendliness of Solidworks it would be perfect. Oh, and it has to be cross-platform (meaning runs on Ubuntu Linux). So until that day i’m forced to use a proprietary CAD program on a otherwise useless proprietary operating system, either on it’s own machine (or run in a virtual machine like Virtualbox). Far from an elegant solution. -End Of Rant. lol.
For me my problem was some sort of issue with the internal walls. Normally this should not be a problem. Since my version of Solidworks does not export whole assemblies as STL files (instead each separate part is exported into STL), I’ve been using 3dContentCentral to convert my CAD files into single STL files. Apparently the issue i ran into arises when i export my assemblies into single part files before converting them to STL. If i instead upload the entire assembly (and dependencies) and convert those to STL files it seems to work fine. Somehow that makes a difference when fixing whatever was wrong with those internal walls/faces. Whatever. At least i’m happy to find a solution.
I wanted to fix my bad CAD models from the beginning, but for example if i had a bad STL file that was not created by me and i still needed to print it, i could turn to Cura’s expert settings. In Cura’s expert settings there are some tools that attempt to “fix horrible” models that would otherwise fail to print correctly. I could have gone that route to print them anyway, but for me the better solution was to fix the source of the problem which was a bad CAD model.
So, all in all, check your parts before you print them. Cura’s x-ray mode and layer mode are invaluable tools that can help you avoid problems with your 3D printing endeavors.
This site also gives some good tips on bad edge geometry and bad STL meshes.