Learn to Make a 3D Printed Parametric Enclosure with Adafruit!

Learn to Make a 3D Printed Parametric Enclosure with Adafruit!

April’s Designer of the Month (DOTM) is Noe and Pedro Ruiz from Adafruit! They are always uploading new projects with sweet videos to accompany them on their 3D Hangouts show. It’s no wonder you voted them as the Top Designer in the Pinshape Awards. Without further ado, here they are to talk about creating parametric enclosures!

The Project – A 3D Printed Enclosure

In a recent project, I was commissioned to design a 3D printed enclosure for the Adafruit Feather. The goal was to make a multipurpose enclosure that could be used for different types of projects. I took this opportunity to design an enclosure that was parametrically driven via User Parameters. In this article, I’ll share with you what I learned and why you might want make your projects parametrically driven.

3D printed enclosure adafruit

The Tool

I used Autodesk Fusion 360 to 3D model the enclosure because it’s free to download, easy to use and has some really great parametric features.

3D printed enclosure autodesk

User Parameters

This feature allows you to set up custom variables that can be assigned to dimensions allowing you to quickly make changes to your design. Normally, I have to dive into a sketch and manually change dimension values to make changes. That doesn’t sound too difficult, however, doing this many times over and over adds up to lots of wasted time. With User Parameters, I can open up a dialog window, edit a value and have changes automatically get pushed to the design.

3D printed enclosure parametric design


The basic use of this feature is to apply it to sketch dimensions like length, width and height. Having the ability to quickly adjust the overall dimension of an enclosure is pretty nice, but making it “adaptive” is where it really gets interesting.

3D printed enclosure dimentions


Adaptive Design Features

In my enclosure design, I needed to have specific features “adapt” when the length, width or height has changed. For example, the cover part features little indentations on the lip which allow it to lock onto little “nubs” on the case. These features would break whenever I updated the length of the case, so I need a way to prevent that from happening. I found sketch constraints to be the solution for this issue because it allows you to define rules to specific sketch profiles. This mean I can lock sketch profiles to edges, sketch projections and  construction lines. By applying constraints, you can effectively define where a sketch profile should be.

3D printed enclosure parametric design

In this example, I have a rectangle locked to the top edge of the case via a colinear constraint. Combining this with a Midpoint constraint allows the rectangle to always be locked in the center of the case, no matter how long it is. I also applied this concept to the mounting tabs. I think this could be applied to features such as cutouts and even patterns.

Adjustable Tolerances

Another great way to incorporate User Parameters into your designs is to apply them to areas where parts snap together. Tolerances can vary from printer to printer, slicer to slicer and material to material, so having the ability to quickly adjust tolerances can be really useful.

Design for User Parameters

Before approaching a design, think about how and when you could use parameters. But you don’t have to apply them before designing. You can apply them to a project after it’s been made. In it’s simplest form, User Parameters are pretty easy to incorporate into your project. Making features adaptive was (and continues to be) a learning process for me. In my project, I wasn’t exactly sure how the pieces were going to fit together, so I didn’t apply user parameters until I fleshed out most of the design. This caused some things to break because the order of operations weren’t optimized for adaptive features. I ended up remaking the project from scratch, which sounds like extra work but it was worth it. Making it the second time around allowed me to carefully implement User Parameters.

Open Source

I’ve publicly shared the source so anyone is free to download and remix the design. You can see how the design was put together by stepping through the design history. It’s basically a timeline of all the features that make up the design. So, feel free to use it in your projects!

Layer by Layer Tutorials

If you’re interested in learning the nitty gritty of how I created this project using Fusion 360, you can watch my video tutorial. In the video, I cover how to apply this concept to a basic enclosure.

3D printed enclosure adafruit

I hope I have inspired you to think about how to leverage parametric features and achieve adaptive designs so that you can quickly make changes to your projects.

  • Parametric designs are also possible with other tools, including OpenSCAD. Does Pinshape have support for actually hosting parametric designs? A certain other 3D thing sharing site does, and so the parametric models I’ve made with OpenSCAD are hosted there, rather than Pinshape. It would be great if you added support for parametric OpenSCAD models.