There are some cat toys at the house that are particularly popular with the local residents.  They are simple hollow spheres with cut-out slots.  They are great for kitties to kick around — small and light.  After staring at one for a few minutes, piecing out the geometry, I realized that this would make a great instructional design for an introduction to 3D CAD modeling using simple geometric shapes and boolean transforms.  If you look at the photo, the cat toy on the left is the original, the one in the middle is the 3D model, and the one on the right came from uploading the model into a 3D printer.

Before we begin, you will need two things:

1. A copy of OpenSCAD. This is “free” in every sense of the word — it costs nothing AND is an Open Source project that people from around the globe contribute to and use.  You can get it for Mac, Windows, or Linux.

2. A web browser tab open to the OpenSCAD User Manual. OpenSCAD works like a programming language and although I’ll step you through the process, it is always good to have a language reference handy.

Step 1: Design

If you look at the original cat toy, it is a ball.  That is to say, it is a hollow sphere (or spherical shell if you want to get fancy).  That ball then has slots cut away at regular intervals.  I did a little bit of measuring beforehand.
i saw that you were saying:<br> translate(v = [-40, -44, -20 + 1 * 4.45])<br> cube(size=[80, 40, 4.45]);<br><br>over and over so i rerote it hear you go. :) i hop you like it .<br><br>DETAIL = 30;<br>difference()<br>{<br> sphere(r = 20, $fn = DETAIL);<br> sphere(r = 18, $fn = DETAIL);<br> for(i = [ [-40, 4, -20 + 2 * 4.45 ],<br> [-40, 4, -20 + 4 * 4.45],<br> [-40, 4, -20 + 6 * 4.45],<br> [-40, -44, -20 + 1 * 4.45],<br> [-40, -44, -20 + 3 * 4.45],<br> [-40, -44, -20 + 5 * 4.45],<br> [-40, -44, -20 + 7 * 4.45] ])<br> {<br> translate(i)<br> cube(size=[80, 40, 4.45]);<br> }<br>}<br>
Yep, thanks! I intentionally unrolled the loop to keep the walkthrough simple to follow for beginners. If you check the zipfile attached to the last step it holds a parametric version of the model and there's a slightly more flexible for() loop there that can vary both the number and size of the slots. There are some pretty cool things you can do with for loops in OpenSCAD!
Awesome instructable! Now if I had a 3D printer...
Many times, having access to a 3D printer is just as good as owning a 3D printer. Lots of cities have hackerspaces/makerspaces with MakerBots or RepRaps available. And for more fancy projects, companies like Shapeways let you upload a 3D model and enter a credit card number; they'll ship you the result.
Good grief, I understood that all the way through - code normally plaits my head!<br><br>
This is a nice and gentle introduction to OpenSCAD. Good Instructable!

About This Instructable




More by BrianEnigma:From atoms to bits to atoms: learning OpenSCAD by copying a cat toy 
Add instructable to: