One of the most basic 3D design skills isÂ putting a thing on top of another thing. It’s not hard. Even these guys can do it:

But what if you want toÂ putÂ a thingÂ around another thing?

For an amateur 3D designer, how to wrapÂ something around another thingÂ is one of those questions that you know must have an answer but seems impossible to figure out.

ItÂ comes up so often, in fact, that we’re going to devoteÂ all of this week’s Tutorial Tuesday to answering it using the Grasshopper plugin that comes with the 3D modeling software Rhino. (See last week’s post for an introduction to Grasshopper). And we’re going to give you the code so you can wrap your own things around other things.

### Learn to Wrap

For example, suppose you have a flat bandÂ that you want to wrap around an elliptical cylinder to make a bracelet. In the image below, Â the individual pentagons in the bandÂ each get extruded to different heights â€”Â and those extrusions are preserved when the band is wrapped around the cylinder.

We are trying to make a bracelet, so the cylinder should have wrist-sized dimensions that we can adjust. The bandÂ we are trying to wrap around the wrist-cylinder might not beÂ the same length as the circumference of the cylinder, but we want it to wrap around the cylinder evenly. Finally, for a C-shaped bracelet, we want to be able to adjustÂ the size of the gap where the bracelet will slide ontoÂ the wearer’s wrist.

Here’s the solution we came up with in Grasshopper: (You can also download the code.)

If you’re curious, the height-scaling cluster in the mid-upper purple group that enables the design to be faithfully wrapped around different sizes of cylinders with different gaps without warping looks like this:

You don’t need to know how to program in Grasshopper to use this code; you only need to be able to use the Grasshopper interface. Download theÂ bracelet wrapper codeÂ and open it in Grasshopper to get started.

With thisÂ code, you can wrap any 3D object around a cylinder to make a bracelet by following theseÂ steps:

1. Create a long flat STL model in software other than Rhino.
2. Import that mesh/STL object into Rhino and move it into the bounding box.
3. Use sliders in the Grasshopper file to scale the bounding box to the size of your imported mesh
4. Use sliders in the Grasshopper file to set the width of the gap, the width of the wearer’s wrist, the size ofÂ the gap, and the desired amount of ovalness.
5. Right-click on the rightmost Surface Morph box in Grasshopper and select “Bake” to create an exportable model of your curved design.
6. From Rhino, select the wrapped object and then use File / Export Selected to export it as an STL file.
7. Print and enjoy ðŸ™‚

### Let the bracelet-making begin!

Once you get this process set up, you can create a wide range of parametric bracelets starting from any models you like. Here’s howÂ our wrapped pentagon tessellation bracelet came out.

(We just figured out this wrapping technique this weekend, so our printed model isn’t here yet!)

AndÂ here’sÂ a famous trigonometricÂ curve that weÂ createdÂ in OpenSCAD:

After wrapping it around a cylinder with Grasshopper, we get thisÂ variable frequency bracelet:

What’s the Frequency bracelet by mathgrrl

What things do you want to wrap around other things?

Do you have a different method that you can share? Or would you like some help getting the Grasshopper code from this post up and running? Let us know in the comments.