A 3D Printing Workflow with Free Software

Solid Hollow Lattice

One of the challenges for designers (beginner and advanced) creating objects for 3D printing is finding software capable of doing the complex things we enjoy seeing in 3D printing news and exhibitions. There really doesn’t seem to be one program capable of doing it all, and this has been re-emphasised to me during my recent studies at MIT and a visit to Autodesk. However, there is some good news: if you’re able to quickly learn software, you can find an increasing number of freebies that seem to be specialising in small aspects of the workflow, which you can move between to create complex designs.

Form 2 Print Lattice

This tutorial will show you how I used completely free software to create a complex object during my time in the MIT course “Additive Manufacturing: From 3D Printing to the Factory Floor” as part of a group project, and is actually very quick once you become familiar with the programs. This particular design combines a hollow object with an internal lattice structure suitable for SLA printing on a printer like the Form 2 from Formlabs, which is what was used for the translucent version in the photo above. The white version in the background is a cross-section view of what is going on within the SLA print.

Step 1: The Overall Form

Clip 01 - 01

There are loads of free programs to use for creating 3D models – Tinkercad, Sketchup, Openscad, Sculptris, Fusion 360 (if you’re linked to an educational institution)… there are many more and you can certainly use your favourite. For this project, I actually used Onshape for the first time, which runs completely in the cloud (so no software downloading or limitations on computer operating systems/specifications). If you are at a school or university, you can get a free license. It works very similar to Solidworks or other high-end CAD packages, so if you are familiar with sketches and features, you will pick it up very quickly.

Basically, whichever CAD software you use, you want to create the overall shape of your object. In this case, I created an organic tear-drop shape using a “loft,” and cut a section out of the back so that it would clip onto a desk and act as a bag hook (part of the MIT design challenge).

Step 2: Make it Hollow

Many CAD programs will allow you to “shell” your design, making it hollow inside. However, if you can’t find the tool, or aren’t getting good results, we can do this in the next piece of software. But first, export your solid file as a STL (and if you managed to shell it in this step, export a STL of the hollow version as well and skip the rest of this step. You will still need a solid version for the lattice process).

Meshmixer Hollow

The next free program, which I think is a must for anyone with a 3D printer, is Meshmixer. It allows you to edit the normally un-editable STL file format, and I have previously written tutorials about how to do download files from Thingiverse and combine them in creative ways or add your name to a downloaded part.

If you weren’t able to hollow out your design previously, click on Edit>Hollow and set your wall thickness. Just like that, your solid object is now hollow, and can be exported as a STL.

A note for SLA printing:

Meshmixer Drainage Holes

When using the Form 2 3D printer for the first time, I was surprised to learn that the PreForm software doesn’t allow for the user to specify infill patterns in the same way that is commonly done with FDM printing. That is what created the need for this custom lattice infill, and this tutorial. So, being a liquid resin printer, the final important step is to add drainage holes so that the form doesn’t end up completely full of liquid, and errors don’t occur during printing.

Meshmixer again has this function built in. While in the Hollow tool, you will have the option to “Generate Holes” and manipulate their location. This is really important, as you won’t be able to do it again later once your hollow and lattice are combined (unless you’re familiar with the boolean commands in Meshmixer and manually add a cylinder from the Meshmixer menu to use as a cutting tool).

Step 3: Creating a Lattice

Lattices and 3D printing are best friends. But creating a lattice in many CAD programs is close to impossible, usually requiring advanced skills and a computer that can handle very large patterning features. nTopology Element is a free program that will dramatically simplify the process for you – simply load a STL file, choose a lattice pattern, and boom! your object is now a lattice. But let’s go through it a little more slowly.

1. Import your solid STL file into nTopology Element.

2. On the top menu, click Lattice>Generate

3. In the pop-up, you can play with the lattice patterns (called “Rules”), the size of each lattice volume, and click Generate to get a preview. When you’re happy with the result, click on Apply.

nTopology Lattice Trim

4. You will notice that the result has the lattice coming outside of the original object. This is because only whole lattice volumes are used to fill the object, rather than automatically being trimmed to fit. So we must do this manually. In the top Edit menu, click on the Trim tool. A new pop-up will appear, asking you to select the Lattice geometry and the Trim Volume (original model), which you can select from the drop-down menu on the left. Click apply and the lattice will be trimmed to fit perfectly within your original design.

5. At this point, the lattice is made up of vectors – they have no volume. So the next step is to use the Thicken tool on the top menu to provide a diameter to your lattice.

nTopology Tutorial

6. Lastly, the thickened lattice needs to be turned into a single mesh that can be 3D printed. The Mesh button (where it says Interchange on the top menu) will join everything together and give you a single mesh. In the drop-down menu on the left, you can now right-click on the mesh, and click on export to get your STL file.

Step 4: Bringing it all Together

The free version of nTopology won’t let you stitch multiple files together, however the Pro version will if you ever end up with the need for a full license. So back to Meshmixer to bring it all together ready for 3D printing.

1. Import the hollow STL and lattice STL into Meshmixer (when you click on import for the second file, use the Append option).

2. You will notice that the ends of the lattice stick out from your object. There are 2 ways to correct this: Option 1 is to use the sculpt tool with the “Flatten” brush to go around and push the ends of the lattice inside of the object boundary – it’s just like pushing clay.

Meshmixer Sculpt Lattice

Option 2 is to ever so slightly reduce the scale of your lattice. With the lattice selected in the pop-up Object Browser window (on the right of my window), click on Edit>Transform and you can either manually manipulate the scale, or more accurately type in the reduction in the transform window (with the uniform scaling option ticked). You should only need a small reduction until the lattice fits just inside the outer skin of your object.

3. By turning off the hollow part in the Object Browser, but keeping it selected, you will get an X-Ray view into your object to check if the lattice and hollow part are intersecting. This can help with any final alignment. Remember; you want the lattice touching the solid shell, but not poking through so it’s visible, or loosely floating within the hollow.

Meshmixer Lattice View

4. In the Object Browser, [shift]+click to select both parts at the same time. A new window will appear that will allow you to Boolean Union or Combine both parts together, creating a single object.

5. Export the final STL and you are ready for 3D printing.

SLA Form 2 Print Fresh

Step 5: Getting Creative

Meshmixer Creative Lattice

Once you get a bit of experience with this process and some of the other tools in Meshmixer, your imagination is the limit! You can really begin to play with different combinations of solid and lattice structures depending on the result you want. Have some fun and feel free to share any of your own creations in the comments section.

– Posted by James Novak

Organic Models Grown in Grasshopper

During November 2017 I was lucky enough to be involved in a 2-day workshop run by Lionel Dean from Future Factories. Lionel has been working with 3D printing for many years, and his work is very inspirational – I’d recommend taking a look at his projects which all use algorithms to generate complex, one-off products often 3D printed in precious metals like gold. The projects really highlight the capabilities of 3D printing and push the boundaries of what is possible.

The workshop focused on using Grasshopper, which runs as a plugin for the 3D modelling software Rhino. If you’ve been following this blog for a while you’ve probably seen a few videos and demonstrations as I’ve been learning the program, including my successful Kickstarter earlier this year. The video above is the final simulation produced by the end of the workshop, which was an exploration of mimicking natural growth processes, similar to a sprouting seed. It’s not perfect, but definitely highlights the opportunities of using algorithms to design, as opposed to manually creating a singular static form. In Lionel’s work, he often uses these forms of growth to allow people to essentially pause the simulation and have the particular “frame” 3D printed as a custom object.

20171220 Grasshopper Code

For any fellow Grasshopper geeks, above you can get an idea of the code used to generate these sprouts. There is no starting model in Rhino, it is entirely built from this code. Hopefully this will influence some future projects…

– Posted by James Novak

Creating 3D Print Test Parts in Solidworks

20151125_3D Test Piece

Over the last 2 days I’ve been heavily involved with the “Beyond 3D Printing: The Evolving Digital Landscape” conference in Brisbane  as discussed in a previous post. As part of the day 1 masterclasses I ran sessions on “CAD Strategies for 3D Printing” where we got everyone hands-on with Solidworks and ran a tutorial on how to create useful test pieces when you have a 3D printer, and how to take advantage of parametric tools available in Solidworks.

Obviously there are lots of ways to test your 3D printer’s limits, one of the simplest being to download some pre-made test pieces and run them through your printer to work out things like minimum wall thicknesses and support angles – Make Magazine have provided some great ones free on Thingiverse which they use for their articles comparing 3D printers. However this is more of a calibration tool, and doesn’t give you a deeper understanding of the limits and opportunities of 3D printing.

To get people thinking about this, I created a step-by-step tutorial showing how to create the test-pieces shown above. Click the below PDF to download the guide and follow along. If you don’t have Solidworks, you may still follow along and use the tools available in your own CAD software to create something similar.

CAD Strategies for 3D Printing – PDF Tutorial

A good test piece should give you a number of things to discover in each print, not only about what your printer can/can’t do, but also informing your design process. As you can see in the photographed prints, a test piece doesn’t have to successfully print in order to be valuable, you can learn a lot either way. By taking advantage of the parametric tools in Solidworks, when a print does fail, it will be very quick to modify a dimension or 2 and re-run the print. In this model we can learn about 3D printing without support material and minimum wall sections. We can also gauge how likely our more complex model on the right is to print, which is simply a repeated pattern of the basic pyramid lattice. Complexity doesn’t actually have to be complex to model, you can use pattern features to repeat a relatively simple shape over and over again.

This also brings into question the debate about when CAD should be used in your design process. Traditionally the development of a concept has been done by sketching on paper, with CAD being used more as a final documentation tool later in the design process. But when designing for additive manufacturing, perhaps it’s time to bring CAD into the early stages of the process alongside sketching, in order to understand exactly what’s possible with the technology, and challenge traditional thinking? What do you think?

– Posted by James Novak

Tutorial – Faceted (Low-Poly) Shapes in Solidworks

Faceted Pocket AllAnother design and another excuse to share some of my modelling process using Solidworks. This can be applied to far more complex forms to achieve that faceted or ‘low-poly‘ effect with as much dimensional control as you like. Of course there are a million ways to skin a cat (or model a Solidworks part) and this is just the best process I could think of for accuracy on this particular design I’m working on. Feel free to leave a comment about your own methods or tips, I’m no expert!

Step 1 Give yourself some orthogonal views of the overall shape you want to achieve. This includes the triangles that will be used for the facets. For this one I just used a front and top view.

Step 2 Create a 3D sketch and connect all your vertices. Of course you can move things around if you like, but connecting back to those first sketches you set up really helps control the 3D sketch, which are notorious for having a mind of their own.

Step 3 Create another new 3D sketch, and convert just 3 lines from the previous 3D sketch that forms a triangle. Exit the sketch and use the Filled Surface tool to create a flat 2D surface.

Step 4 Repeat until you have enough flat surfaces to define your shape. Always be on the lookout for a pattern in your design – any opportunity to use the Linear Pattern or Mirror tools will really save time, so in this example I’ve only had to model 3 surfaces which I can later reflect to generate the larger design. Then Knit the surfaces together. The coming steps are where there are a number of ways to proceed, including use of the Offset Surfaces tool or Thicken. However these always result in messy, uncontrolled edges, so I’m not a fan. Instead I have setup another 3D sketch, and drawn some lines back in the z-axis from the vertices of the knitted surface – this will determine the thickness of the part.

Step 5 Repeat steps 3 and 4 to create another surface that sits perfectly behind (or in front of) the first.

Step 6 On the front plane (or whichever plane is the primary view) convert the lines of the outside perimeter of the surfaces you’ve created. These can then be extruded into a large block – just make sure you continue beyond the surfaces you’ve created.

Step 7 Use the Surface Cut tool for both knitted surfaces, making sure you cut away the block in the right direction. You want to be left with a solid only between the 2 surfaces. In the feature tree you can then right-click on the knitted surfaces and hide them, leaving only the solid material on screen.

Step 8 The hard work’s over, now use the Mirror or Linear Pattern tools to expand your design. You can also add any other details (in this case some cut-outs) before using these pattern features.

As I said there are many ways to achieve this aesthetic, and many other programs that you can achieve faceted objects far quicker. But if like me you’re wanting specific control of the facets and dimensions (rather than simply taking a shape and reducing the poly count), this might be useful. Please leave a comment with any questions, or like the post so I know it’s been useful for you. Happy cadding (if that’s a word)!

– Posted by James Novak

Tutorial – Abstract Wireframe Lattice in Solidworks

Abstract Wireframe AllWhile working on part of a new design for 3D printing I thought I’d capture a few of the key stages and put together a brief tutorial about how to create a complex-looking wireframe (or lattice) design. Who said Solidworks couldn’t do complex organic models?? (this article has been updated slightly on 2/12/2014 since I modified my process – that’s Solidworks for you, there’s always a million ways to achieve the same outcome. Some are just a little cleaner than others).

Step 1 is to setup some planes with sketches defining the rough shape of the object you want. This is important to get the overall size right and control the shape. By putting some planes at angles, this will increase the visual complexity rather than all planes parallel.

Step 2 is to create a 3D Sketch – then imagine you’re a spider and draw lines between vertices! Setting up the planes in step 1 means your 3D sketch will be easy to control (if you’ve tried 3D sketching without any guides you know how quickly it can get out of control).

Step 3 can be done in a number of ways depending how accurate you want to be, and how patient you are. The first part is the same no matter which option you go for – create a plane perpendicular at the end point of 1 of the lines (by clicking the line as the first reference, and the endpoint of that line as the second). Draw a circle on the plane with the line through the center. Give it a dimension, then right click on the dimension and ‘Link Values.’ Create a new name, which will allow you to draw upon the parametric capabilities of Solidworks as you move forward and link all dimensions together, meaning you can update 1 and the entire model will rebuild with this new diameter. Now you can either exit the sketch and use the ‘Sweep‘ function, linking up as many lines as you like, which will look OK but will result in sharp junctions at each vertex which even a fillet won’t perfect. Or if you are a bit OCD like me go 1 line at a time either as a ‘Sweep’ feature, or ‘Extrude‘ using the ‘up to vertex’ option to the endpoint of the line.

Step 4 is to repeat, repeat, repeat! This is also where the ‘Link Value’ becomes useful – when you sketch each new circle and add a dimension, just right-click on the dimension and go to the ‘Link Value’ option. There will be a drop-down menu where you can select the name of the dimension you created in the first sketch. This will link all the diameters together using a single dimension. You can keep the ‘Merge’ option checked, or un-check to leave each extrude as a separate body to combine at the end. Up to you, I usually merge everything as I go if possible (saves any surprises at the end).

Step 5 Once the framework is complete, the last step is to fill all those little joints between the cylinders. Simplest method if you are working in part mode is to sketch on one of the flat surfaces, convert one of the circles, then turn this into a semi-circle. This will allow you to do a 360 degree ‘Revolve‘ feature, filling any gaps in the joint. If you prefer you can complete this step after creating each cylinder so you don’t lose track. If you’ve modeled as separate bodies, you can now use the ‘Combine‘ feature to join all those individual pieces together as a single solid.

Hope that’s useful, I know it’s more time-consuming than some other CAD software out there, but it’s also extremely accurate. This model took about 2 hours to complete. Leave a comment if you have any questions, or share it around.

– Posted by James Novak

MeshLab Saves the Day

141129 Meshlab ReductionI’m on a roll against huge STL file sizes! You can look back at some of the past story here, but in summary I have a complex section of a design that started off being a collection of separate truncated octahedron parts. When saved as an STL, the file size was 259MB, which for something only the size of an Up! Plus 2 print plate, was pretty ridiculous.

It took me a lot of mucking around but eventually I reduced the STL file size by merging all those separate parts to form a single solid within Solidworks. That’s the 104MB pictured above.

Now I have just discovered the freely available MeshLab software, which in a matter of seconds has simplified the mesh to half the file size, without compromising quality. Now if you’re a 3D printing nerd like me, that’s cool! I’m sure with tweaking this could be further reduced, which is important since the part I’ve been testing is only a portion of a larger product, and I need it to be less than 100MB for uploading to i.Materialise in the future.

Looks like MeshLab does a whole range of other things like repairing meshes and cleaning up textures, so if you’re slow like I obviously am, download MeshLab now!

– Posted by James Novak

Merging Saves MB’s

Test SectionIf you’re keeping score you may know that I’ve been losing against the might of HUGE file sizes and failed 3D prints (check out the last attempt here). Looks like my luck is turning!

This is the truncated octahedron segment that was meant to print the other day, with an STL file size of 259MB. My hunch about turning the assembly into a part file and combining all the solid bodies (which takes at least half an hour!) has finally come good, with an STL file now less than half the size at 104MB. Happy Days 🙂

The issue has been one of overlapping geometry, which Solidworks seems to hate – rather than each truncated octahedron perfectly lining up, they are actually about 0.02mm away from perfection; a detail that has taken weeks of on and off experimentation to get right! So if you want my hot tip, stop trying to model so damn perfectly!

– Posted by James Novak

Truncated Octahedron

Solidworks to 3D PrintI came across the truncated octahedron during my Honours studies, researching shapes that would fill 3D spaces without leaving any gaps. Now that I have the time to get back to some of these ideas, I’m quickly blowing the Solidworks file size into the hundreds of MB’s! But the great thing about this shape is that it can print on the ‘Up! Plus 2’ 3D printer without any support structure, and is strong enough to stand on. In this photo you can see the CAD file and one of my 3D prints of a segment.

I’m currently looking at combining all the parts into a solid body as it seems to save a substantial amount of MB’s when converted to an STL file if everything is joined – I guess because there are less individual surfaces all intersecting. Just a pain to do!

– Posted by James Novak