Learn How to Make Interlocking Parts with Any 3D Design

Learn How to Make Interlocking Parts with Any 3D Design

For designs that are too large for your printer’s build volume or multi-part assemblies, mating components is essential. Adhesives are also effective, but for parts requiring high strength or permanence, a better solution is required.

Designing interlocking mechanisms into parts provides a more permanent bond between components. Using adhesives in parallel with interlocking mechanisms creates a much stronger bond than adhesives alone. In this tutorial, we’ll show you how to add interlocking mechanisms to any 3D model.

Many techniques require that you have access to the original CAD file, but this technique is applicable to any type of 3D model that can be used with 3D printers including common formats like STLs and OBJs. We’ll show you how to divide your models into multiple components and add interlocking mechanisms so that you can create multi-part assemblies like this full sized R2D2 from Formlabs.

Full size, 3D printed, R2D2 using interlocking parts

3D Printed, Full-Sized R2D2 Image Source: Formlabs

You’ll learn two techniques with 3D modeling program Blender. You can download it for free before getting started. The first type of interlocking mechanism is a simple pin and cavity. 

The second type of interlocking design you’ll learn about is the dovetail mechanism. A dovetail mechanism is the same design used to attach puzzle pieces together. Dovetails are flexible in their shape and significantly improve the bonding strength of separate components. After learning these two techniques, you’ll be equipped to create high-strength, multi-part assemblies!

Pin and Cavity

This first technique uses a simple cylindrical pin on one end and a hollow cavity on the other. The pin and cavity helps to hold parts together by increasing friction, adds extra surface area for adhesives, and improves the alignment of separate components.

Preparing the Workspace

To get started, open up Blender and prepare the workspace by hitting the ‘a’ key to select all objects and then the ‘x’ key to delete the default objects in the scene. Next, import your object into the scene by navigating to the ‘file’ menu in the top bar, and selecting import with the correct file type.

Splitting the Model

For this tutorial, we’ll use a simple cube as our base and split the model in half, then add the interlocking components. To split the model, add a second cube to the workspace by using the ‘create’ panel on the left side. Add the cube and hit ‘s’ to scale it to be larger than the original. To simplify things, we’ll set the second cube to display as a wireframe so that we can see our original object through it. Select the larger cube and hit the cube thumbnail on the right side of the screen labeled ‘Object’. Scroll down and set the maximum draw type to wire.

Think of the larger cube as a cutting tool. Everything outside of the cube will be one object and everything inside of the cube will be another. Position the larger cube to reflect where you’d like the cut to be made; we’ll be keeping things simple and using the center. Now, select the smaller cube which we’ll be cutting. Duplicate the object by using ‘shift-d’ and hit ‘enter’ immediately afterwards making sure not to move the second cube. Name your cubes something creative in the right panel and hide one of them by toggling the eye icon next to the object name.

To create your split, click on the smaller cube and select the wrench tool in the right panel. Next, select the boolean modifier from the dropdown, and select your cutting cube from the ‘Object’ menu. For the first half, set the operation type to ‘Difference’. This creates the first half of your object and now you can hide the cut cube and show the duplicated cube by toggling the eye icons next to their names.

Repeat the boolean operation for the duplicated cube by selecting the smaller cube, adding the boolean modifier, and choosing the cutting cube from the object panel. Instead of using ‘difference’ as the operation type, this time we’ll use ‘intersect’ which will preserve the other half of the cube. Apply the boolean and toggle the eye icon for your original cube to make it reappear.

Congratulations, you’ve successfully split your object into two halves. This technique can be used with a wide variety of shapes as cutting tools and allows you to create versatile splits in your 3D models. Experiment with this technique using other cutting tools like spheres and cylinders as practice.

Adding the Pin

Next, hide one of the halves of your cube by toggling the eye icon in the right panel. Make a cylinder that will be used as a pin by navigating to the create panel on the left side and choosing ‘cylinder’. By default, this likely won’t be rotated in the way we want so a handy trick to correct the rotation is to select ‘r’ for rotate then ‘x’ for the x axis and ‘90’ for the degree of rotation. Experiment with different axis (x, y, and z) and with different angles until the cylinder is angled in the correct orientation.

Next, use the arrow keys to position your cylinder such that it intersects with the cube half. In this step, we’ll be creating the pin so keep that in mind when positioning your cylinder. To combine the objects together, select your cube half, then add a boolean modifier. Select the cylinder as your object and union as the operation, then apply the boolean. Your pin is complete and you can now hide this component and make the other half visible. Make sure not to reposition your cylinder after this step!

Creating the Cavity

To create the cavity, we’ll expand the cylinder outwards a bit to allow for a tight fit between the cubes. Select the cylinder and add the ‘solidify’ modifier from the modifiers panel on the right side. Follow along with the settings shown below to create a cylinder that’s 0.125mm larger than the original. Apply the solidify modifier. Next, we’ll cut the cylinder out of the other half of our object.

Select your other cube half and add a ‘boolean’ modifier from the modifiers panel. Select the scaled up cylinder as the ‘object’ and difference as the ‘operation’. This will create our cavity. Both halves of our model are complete! The only thing left to do is export the models separately.

Exporting your model

Make both halves of your model visible by toggling the eye icons in the right panel. Select one half and then navigate to ‘file’ -> ‘export’ -> ‘STL’. Before saving, make sure the ‘Selection only’ checkbox is active in the bottom left corner of the window. Select save and repeat the process again, this time making sure that the other half of your object is selected.

This is one of the more challenging tutorials we’ve done so feel free to ask any questions in the comments below! In the next section, we’ll show you how to create the slightly more challenging dovetail mechanism. This uses most of the same steps from this technique so if you made your way through this, the second part should be a breeze.

Interlocking parts using pin and cavity mechanism


Dovetail mechanisms are among the strongest and most effective methods for bonding separate components together. They provide friction between components, resistance to parts being pulled apart, and increased surface area for adhesives.

Many of the steps for creating dovetail mechanisms are the same as those for the pin and cavity technique. If you haven’t done so already, read through that section as we’ll be referencing many of the same techniques here. We’ll start off with a flattened cube that’s been duplicated (we’ve embellished ours a bit to make it look like a puzzle piece) and we suggest you do the same to follow along. 

Making the Dovetail

To start off, create a new cube with a length and width that will be close to the dimensions of your dovetail. To scale your cube hit the ‘s’ key and then the ‘x’ key to scale in the x dimension. Repeat the same process for the y dimension by scaling and using the ‘y’ key.

Next, we need to set the cube to be the same height as our other objects. To start off, switch into edit mode by hitting the ‘tab’ key. We’ll be venturing to the bottom toolbar for these next steps and you can follow along in the video below.

Enable ‘face select’, then toggle on the ‘snap during transform’ magnet, and finally choose ‘face snap element’ from the adjacent drop down. Select the top face of your dovetail and begin to scale it in the Z axis (‘s’ for scale and ‘z’ to constrain it to the z axis) while moving your cursor to the top edge of your other object. The cursor will snap to the edge of the other object. Repeat this step for the bottom face this time selecting an edge at the bottom of your original object.

Next, we’ll shape the object to look a bit more like a dovetail. Select one of the outer faces of your object and hit the ‘s’ key then ‘x’ key to scale only in the x axis. For our project, we’ll be scaling in the x axis but another dimension might be more appropriate for your case.

Next we’ll add fillets and round the edges a bit. To do this, switch into ‘edge’ mode and select the two outer edges of your dovetail. Tip: use the ‘ctrl’ key to select multiple objects at once. Once your edges are selected, hit ‘ctrl + b’ and drag your cursor inwards to make the fillets. Move up on the scroll wheel to round the edges of your fillet and adjust it to your preferences. Our dovetail is complete, and all that’s left to do is union it to one half of our model and intersect it from the other.

Boolean your Dovetail

Instead of re-inventing the wheel, we’ll reference the steps from the pin and cavity section pointing out any important differences. We’ll start off by hitting ‘tab’ to switch back into object mode so that we can union the dovetail to one of our puzzle pieces. Use the arrow keys to drag the dovetail so that it intersects with the desired edge of your model. Tip: you can use snaps in object mode as well to precisely align components. Union the dovetail to your object by using ‘union’ as the operation and your dovetail as the object. Apply the modifier and the first half of your object is complete!

Next, repeat the solidify steps from the pin and cavity section to scale your dovetail outwards by 0.125mm. Next, we’ll drag the dovetail so that it intersects with the other half of our puzzle piece. For this, we won’t be using the snap tools and will instead be making sure that a small section of the dovetail intersects outside of the puzzle piece. This is important to ensure that the cut goes all the way through the object.

Use the boolean modifier this time with ‘difference’ as the operator and the dovetail as the object. Our puzzle pieces are complete and you can follow the steps above to save them separately.

Interlocking parts using dovetail mechanism

This is one of the more challenging tutorials we’ve done so we’re looking forward to your feedback and feel free to ask any questions in the comments below. This technique will allow you to create interlocking parts on any 3D model as compared to many of the other tutorials available which require you to have access to the original CAD model.

Check out Formlabs’ article on making parts larger than your printer’s build volume to get a sense for the sorts of projects that you can complete using interlocking parts. SLA printers are especially well optimized for holding the tight tolerances required for interlocking parts and also bond especially well to adhesives. To get a sense for the quality of SLA printed parts yourself, request a free sample part from Formlabs.


Pinshape is a 3D printing community and marketplace where makers from all over the world can find and share their next great 3D print and help each other get the best results from their 3D printers.

  • Gary Fischer

    Thank you for the excellent tutorial. This will be very useful!

  • Expanding the pin or dovetail doesn’t improve the tightness of the fit if you also use the expanded feature to subtract from the other side. Isn’t that what you’re doing here?

  • Pinshape

    You’re absolutely correct that expanding outwards and then subtracting makes the negative half larger than the positive half. If both parts are left as is, it can be challenging to get components to fit together. The 0.125mm expansion provides enough clearance to allow parts to fit together while still maintaining a snug fit.

  • Danyl Bekhoucha

    You could do that faster: you can split a model with the Bisect tool or Knife tool with Angle Contraint (c) and Cut through enabled (z).

    For the pin you can do a boolean to make the hole, then you duplicate the pin and do alt + s to shrink the pin that goes inside. You could also use the BoltFactory addon (included) to make a screw and perform a boolean then a shrink on the screw.