UnrollSrf/Smah/Squish need help to "unbend" mesh model

Hi guys!

New with Rhino but have some background with CAD software for engineering, specially Solidwork, now I choose Rhino because lot of people told me that is the best to work with mesh specially to do some reverse engineering…

I have a .stl mesh model (also in .step file) that have curves that I need to unfold/unbend (can’t find a way to attach an image…but if you search for Mini-Dandelion on youtube or google you can get the idea of the model looking at the wheels) …but after reading the brief Rhino info about the functions to work with this and try a lot of things I realize that I need help from more experience users,…

I’m able to transfor from mesh to nurbs or to a solid surface, but no matter what I only get a straight line instead of the shape unfolded…

Can you plese gve me some tips?, my guess is that the issue is that the original shape is from a mesh that is create by a lot of triangles and even converting that to nurbs it also have a lot of surfaces that once the command try to unfold it make a mess…

I can attach the CAD file in .stl and .step if someone can give me a hand with this…I promise to make a video tutorial about it once it get solve to help other users…

Best regards.

Mauricio from Chile

Can you post an image or link to an image because the google results are not very helpful.

Just drag-and-drop the image onto the edit window.

I attach a render and the .stl file, also have it in step format if is more helpful…thank!

DW12-525-A17-Roue forme 6 - DW12-545-006-forme06-1.stl (2.7 MB)

The .stl model is just for the wheel of the robot…that’s the part that I need to “unbend”, increase the thickness as also bend again…

Hi @Mauricio_Henriquez,

Rhino has some problems to _Squish such geometry, mostly because of the part thickness and the uneven triangular topology of your mesh. If the mesh has even quads or triangles, the _Squish command works much better.

To get this done quickly, i´ve just imported your mesh and recreated one of the 8 ‘spokes’ using various commands shown in the file below. Some kind of manual unrolling. :wink:

Once you have a base surface, you can duplicate mesh border curves using _DupBorder and use _CreateUVCrv and _ApplyCrv to get curves from the mesh to a clean surface and _Trim, _Fillet etc. with them.

ManualUnroll_CG.3dm (3.2 MB)


Wow, just Wow, thanks a lot!!..Going to work with what you send me and let you know, but you give me 80% of what I need to do!!..Thanks a Lot!


Sorry to bother you again Clement and everyone…seems that I’m really newbie, even with some CAD experience Rhino is giving me a hard time…hard learning curve…even the supposedly easy things are getting hard even with all the Clement work that is almost what I want…

Actually one of the things that I was wanting was to separate and make flat one of the spokes of the wheel to try to cut it on my CNC, so from what Clement send me I was almost there on that aspect…but, always a but :frowning: …now I have problems to make it back to a .stl file!..trying to export I get an “No surface object to export” !! :-S …then I try “MeshPatch” to try to create a mesh with this flat version (if I’m correct I need a mesh to export to a stl file format?) …but trying to use MeshPatch I get this estrange results…Any ideas?

Other thing that I need before replicate the spike in a circular pattern and bend the shape again is to increase the spike thickness to about 1.5mm or so…actually want to learn how but I get really confuse with all this mash vs surface vs solid vs nurbs curves and functions for one thing that do not work for the other and so on… :frowning:

Sorry guys…need more help…

Thanks in advance…


Hi Mauricio,

try working with curves and surfaces instead of meshes whenever you can. Once you have your curves sitting flat on the CPlane, create a planar surface from them using _PlanarSrf command. You can then just export this surface as *.stl format and Rhino will ask you for the mesh settings. The mesh is not created in Rhino in this case.

A surface or polysurface can be meshed in Rhino too, which means you create a mesh object. To do this, use the _Mesh command instead of _MeshPatch which has a different purpose.

To increase (thicken) the flat spoke surface, use _ExtrudeSrf and set the option _Solid=Yes from the commandline. This creates a Polysurface. To thicken a 3d version of your bended spoke surface, you can do this with _OffsetSrf, again with the option _Solid=Yes.

Once you managed to create the bend surface as shown in my file, you should not need to bend the flattened curves to get a new bend spoke surface. Instead select all flat curves, run _ApplyCrv and select the surface. This will transform them just back from the CPlane to the surface. The opposite can be done using the _CreateUVCrv command, as shown in my file.

TIP: to learn new commands, just click on the button and press F1 to get help for this command. Some of the help entries have videos you can watch. :wink:


Thanks a lot Clement! …with your detailed and kind instructions I’m almost there! :smiley: …but I have a couple of doubts about the best way to complete the job since one thing that I try give me some problems on others and so on…

So far as you can see on the CAD file and on the screenshot I was able to create a planar surface using…of course, PlanarSrf, then I able to increase thickness with ExtrudeSrf but in this case I miss the fillet, don’t want to make it again since is already there…so then I use the already bend surface that you give me and use OffsetSrf…Great! I have a bend spoke surface of about 1mm with fillet on it!..almost there!,…but as you can see on the screenshot I still need a second curvature on both fin of the spoke (the one marked with a red circle…sorry still don’t know hor to use rhino labels)…And here is where my problems begin since no matter what I try the ApplyCrv don’t seem to get what I try to do and actually don’t do anything and the model remain the same…

Not sure what is the best route here…use the already bend spoke that I have with the right thickness and try to apply the second bend to the to the fins and finally replicate all in a circle pattern to produce the complete wheel?, or go back to the plain spoke, surface from then, and mmm,not sure, or use the already flatten wheel that you give me and from there finish the fillet, thickness and all bends all together in all spokes? (btw, why the fillet was not replicated in the circular pattern?)… One of my issues to go from the flat instead of the already curved surface spoke that you give me is that from the flat one it seems that the fillet don’t seems to act as part of the surface so once I increase the thickness it miss the fillet…

I feel that I’m really close and feeling a little more confortable with Rhino…great! :slight_smile: …thanks a lot!


ManualUnroll_CG_2.3dm (4.7 MB)

Hi Mauricio,

some tips to get it with double curvature, also check the file below. These are the steps and commands used in the outlined numbers 1-8 of the file:

  1. _ExtrudeCrv the Curve “B” in your file downward, to create the missing curved surface

  2. _Sweep2, using the green curves as rails, and the upper and lower edge of the surface from step 1.

  3. _DupEdge, and create the red curves. _Sweep2 again with green curves as rails to get a single surface

  4. Marked the 4 points (see Arrows) from step 3 and created new isocurves using _ExtractIsoCurve at points

  5. _CreateUVCrv as described. Tip: use _Dir (SwapUV and ReverseV) to better control the orientation

  6. _Fillet to get the round corners, _Explode the outer border curves before the next step !

  7. Use _Untrim to get rid of the old trims, _ApplyCrv to get the flat curves to the untrimmed surface.

  8. _ExtendSrf all 4 surface edges slightly, then i used _Trim to get the final shape

Finally, use _OffsetSrf to thicken the part. This way you will not have to fillet the corners after the offset.

ManualUnroll_CG_3.3dm (322.1 KB)

yes, Rhino does not create the fillet in this case. The steps above let you make the fillets in 2D space, so you can just apply them in one go.


G’day Mauricio,

The “bend” command might also be of assistance with the two side fins. Probably better to do just one side then mirror it to the other side and boolean to the first part so that it is definitely symmetrical.


Hi Everyone,
I work with Mauricio, and finally we made a 3D model and we printing it (view the pics) but still we do not get some rounded parts (marked in red in pictures), I was thinking in to cut that wing marked in red (_BooleanDifference) and make it again curved and paste it on the original surface, but i don’t have results yet… what do you think? what can i do? another idea?

Attached the rhino files that i use.
ManualUnroll_CG_2_HugoV1.3dm (10.2 MB)
ManualUnroll_CG.3dm (3.2 MB)

Some pictures to understand better…

I need to change this

And make it curved like this

Other pics

1 Like

Is this to be made in metal? If so, just water cut it and bend it in real life.

If this was on the model and it didn’t print properly then there is something else wrong between the model and the final part.


just try if below is closer to what you want. I guess you can make he bent side parts in various ways, just trim away the linear side parts and create new ones. I did this by extruding the orange shape with the arrow in z-direction, then created the offset (outside direction), then did the fillets.

ManualUnroll_CG_3.3dm (1.0 MB)


Thanks a lot Clement, You’ve been very helpful for us! I will post the final 3D printing soon.