Designing a Puzzle Toy for My Dog in SOLIDWORKS

Last Updated on by DesignPoint Team

If you have ever spoken with me on Tech Support or read any of my SOLIDWORKS and 3D printing blogs, you know my passion for SOLIDWORKS technology and engineering as a whole. Aside from doing what I love every day – engineering – I have a second passion, and that is dogs!

For Christmas, I was gifted the tiniest, fluffiest, most perfect baby puppy that ever existed – Auri. Here she is at two months old, shortly after my husband and I brought her home:


As new fur-parents, we quickly discovered that puppies are a handful! Not only do they not understand where they should use the bathroom, but they’re also teething and exploring the world around them, which means they will literally try chewing on anything.

Above you can see how Auri’s first day as an office dog went (that is the leg of my office chair).

And here’s the Ethernet cable she chewed, disconnecting my phone call:

Chewed ethernet cable

Needless to say, we needed to make a change. I picked up a bunch of books and started researching training methods and socialization techniques in an effort to bring her up in the best way possible. And one of the most helpful things I learned was the concept of a Puzzle Toy. Fortunately, for Auri, her parents are engineers!

I decided to solve this problem using the power of SOLIDWORKS and 3D printing. So let’s dig into it.

Creating the Shape

I started by creating a hollow egg shape using a simple Revolve and Shell command with a thickness of a tenth of an inch.

Hollow Egg Shape Shell using Revolve and Shell command in SOLIDWORKS

This basic shape, along with a hole big enough to fit a treat of some sort, is all I needed for the toy to function, but I have the power of SOLIDWORKS, so I decided to get a bit fancy.

Because this is being 3D printed eventually, removing material is generally a good thing. The less material needed to print, including supports, the less it will cost me in the long run. I then proceeded with creating some cutouts and embosses in addition to the large hole for the treat.

Getting Fancy with Fonts

I started with her name. To create a fancy, personalized toy, I wanted to cut her name through the thickness of the part. I was able to find a simple stencil font on, install it, and use this to create a sketch on the Front Plane. The font came in with a double-outline, which I wasn’t fond of, so I went ahead and used the Dissolve sketch text command to convert the text into splines which I could manipulate just like any other sketch object.

fit spline selection tool

After converting, I removed the contours I didn’t need and converted closed loops to simplified splines using the Fit Spline command. This command allowed me to get very smooth edges from continuous curves when I cut this out of my egg shape.

A quick tip here: Switching from Box Selection to Lasso Selection saved me a ton of time grabbing groups of entities that are close to other sketch elements. This option can be found from the Right-click menu while working in a part or assembly.

Lasso Selection

From here, to get the cutout, I used the Wrap command. This command is awesome because it now (new in 2017) allows us to wrap a sketch around any face and emboss, deboss, or scribe it into the surface. Without this ability, we would see significant distortion as is demonstrated below.

Here we can see what the cut would look like without Wrap. A normal Cut-Extrude produces distorted text around the edges of the cut.

auris name wrap 2

Here’s what it looks like with Wrap.

auris name wrap

Much better, right?

Adding the Decorations

Next, I wanted to create the main bone cutout for the treat and some additional decorative cutouts in a non-uniform pattern around the toy. To do this quickly, I sketched a bone shape on the Top plane and a paw print on a Midplane to the Front and Right planes. I also included a small circle (used later for positioning) in these sketches at the approximate center of these items before Extruding them as Surfaces.

Adding a bone decoration

From here, I used a combination of Curve-driven patterns (with Tangent to curve selected as the alignment method), Move/Copy Bodies, and the Scale command to create an irregular pattern of bones and paws coming out of my toy.

A quick tip here: The temporary axis generated with the cylindrical Surface Extrudes were especially useful when using the Move/Copy Bodies command as these allowed me to position things perfectly with little effort.

View Temporary Axes

When all was said and done, here’s what I got:


It looks a bit nasty at this point, right? Well, here’s where the magic happens!

The next step was to use one of my favorite features, the versatile and powerful Intersect tool. This tool allows us to take any number of bodies and create intersecting regions, internal regions, or both, and it even allows us to cap planar openings on surfaces if we need to!

To get all of the cutouts in one command, I activated Intersect and selected “Create both” before clicking only the main body of my part and using the Invert Selection button to cut away all of the excess material. Intersect also allows us to Consume surfaces (I did this), leaving us only with the portion we need. And with the click of a mouse, let’s roll the bones!

Here’s what it looks like:

Dog toy before Visualize

At this point, the toy is almost perfect, but to ensure that no treats slip out of the smaller holes, I decided to fill most of it back in a bit at the last moment by rolling back, taking a quick surface offset before I cut the biggest bone, and then thickening this a minimal amount. I then sent it over to SOLIDWORKS Visualize for a quick rendering so that I could admire my work and make any last-minute changes.

Finished Puzzle Toy Created in SOLIDWORKS

This design is a keeper, so now for the really fun part!

I wanted to run a quick simulation to verify that the toy would behave as expected before printing, so I quickly modeled a puppy using a couple of lofts and a bit of surfacing and created an assembly with the toy, the puppy, and a “play area.” I then applied an initial velocity to the puppy and a total of three contact sets – the floor to the toy, the floor to the puppy, and the puppy to the toy with Elastic Properties set to Impact. I also applied gravity to the Motion Analysis before calculating the result.

At this point, all that’s left is to print the toy! I did some research on puppy-safe materials, and it looks like we’re going to end up printing this in Nylon due to its bio-inert properties.

Tune in soon for a video of the toy in real life action – puppy included! I can’t wait to see Auri playing with the toy and, hopefully, it will allow us to avoid too many chewed ethernet cables moving forward (fingers crossed!).

Thanks for following along. I hope you enjoyed this blog as much as I enjoyed modeling this toy in SOLIDWORKS.

Auri at Home Depot

Check out more blogs like this one here. You’ll find helpful articles and educational videos on a wide range of engineering and manufacturing topics to help you maximize efficiency in your job role!

And don’t forget to follow us on Facebook, Twitter and LinkedIn to stay up-to-date on our latest blogs, videos, promotions and more!

More in this Category