Sole Modeling Questions

Hi everybody,

I’m a 3D intern at a footwear company and I’m learning Rhino! I’m researching about potential opportunities to use Rhino for modeling soles and I had a couple of questions.

My goal is to be able to create a sole that is a single solid surface. I was (partly) able to do this by trimming 1/3 of a sphere to create a cup, and then using a cage mesh to edit it. I also used Grasshopper and LunchBox to create a hexagonal pattern on the sole. But it was pretty tedious and it’s not a closed surface like a sole would be.

I also tried drawing an outline of a sole using curves. Then I created two surfaces which I extruded from. I was able to use Pull/Offset Curve on Surface to project the sole outline on the two surfaces (Project didn’t work for some reason- perhaps because the surfaces were curved?). Then I used Sweep2 to join the surfaces. It turned out nicely but it’s a closed polysurface.

I’m hoping someone might have another idea I could try? I’ve been watching YouTube videos about shoe modeling in Rhino but most of them are from 2013 and are outdated. If creating a closed single surface is impossible, let me know. I also found that Rhino had a shoe plug-in in 2013 called RhinoShoe. Does anyone know if it’s still around?

Thank you all in advance!

Why are you trying to make it a single surface? Trying to do that generally makes modeling a lot harder.

Truthfully, I’m not sure; my manager asked me to try and make a single surface sole. Perhaps because it would be a solid instead of a hollow object?

No, there’s no difference in “solidness.” So this is some sort of academic exercise? Is the company familiar with Rhino already?

The only way to make a single-surface shape that actually is somewhat usable–the only reason to try this being to make it easier to make changes since it is only one surface, even though the result will usually be a gigantic mess that’s the exact opposite–is old-fashioned brute-force point-editing. Start with something like a sphere(but editable, at least Degree 3 surface in both directions,)then push points around, and gradually add more knots with InsertKnot to create more detail.

For a frame of reference as to how old-fashioned this is, that’s the type of modeling, using Alias, that was used to create the T-1000 in Terminator 2, which came out 27 years ago.

The company hasn’t used Rhino yet so I’m learning it for research and experimentation.

I tried modeling a sphere yesterday but it was a big hassle and the axis’s caused a lot of trouble. I’ll try again with your suggestions. Thank you for your help!

Hi Kiley - just to make sure… was your manager’s request for a single surface model an ‘informed’ one? Does he or she know about Nurbs and what that actually means to have a single surface? Because it is perfectly possible, in fact usual, to make fully closed solids that are not single surfaces - for example, make a Box in Rhino and Explode it then Join the faces back - see? You may know this all, I’m not trying to be a nuisance, but I just don’t want you chasing a useless and difficult solution.


It sounds like you want it to be a single surface so you can do some more processing on it in Grasshopper and lots of tools work with single surfaces and don’t spit out a solution that’s continuous across a polysurface. Cage editing a trimmed sphere is probably about as good as it gets if you really want to deal with a single surface. The other options would be to use (or make) more clever tools in Grasshopper.

EDIT: Leave the top open and deal with that after you’re done with Grasshopper.

1 Like

Well for a start I would look at the Level 1 training, specifically the ‘rubber duck’ exercise that (though the result in it is more than 1 surface)shows the very basics of the freeform process.

Of course most shoe soles I’ve ever seen don’t appear to lend themselves to single surfaces.

Hi Pascal, no worries, you’re not being a nuisance! I will check again. I experimented with having a closed solid sole yesterday and then joining the surfaces which was easy, but I couldn’t figure out how to edit the bottom of the sole for more complex designs. But thank you again!

Yeah the whole context of this is…not encouraging. Ask an intern with no experience in Rhino to do something really advanced for no apparent reason? To determine if Rhino is going to be useful to them? They’re aware that Rhino is widely used in that business, right?

Yes, I found a tutorial for making a sole via editing a sphere using Grasshopper, and the lecturer explained that Grasshopper doesn’t read polysurfaces well. So that’s why I’m trying to use a single surface. I’ll try to figure out a solution for the top. Should I add another surface to join the sole and the top since the top doesn’t have as much detail as the bottom?

Yeeeeah…this is like, you’re jumping 10 steps ahead. Some random tutorial says to use Grasshopper to make a sole by editing a sphere? That. Makes. No. Sense. Learn how to actually use Rhino first, what NURBS are how to work with them, otherwise you’re not going to actually learn anything with Grasshopper and sure aren’t going to make any useful manufacturable geometry.


Ah Sam Whit, eh? :wink:

I’m talking about a surface that’s used to close the midsole portion, not the shoe upper. I would look at using something like a loft to make the top surface of the midsole and trim around with the bottom “hull” of your midsole to which you’ve applied your surface detailing. You should then be able to join those two together into a single closed poly.

But I would advise in the same direction as Jim. This method is very much a hack that requires a pretty deep knowledge to pull off. That may give you something that looks like what you’re after but it’s definitely not great practice.

@JimCarruthers @Louis_Leblanc

Yup, Sam haha :wink:

Jim, here is the tutorial if it helps:

Truthfully, I didn’t know any 3D stuff until 2 months ago so it’s been a huge learning curve for me. But I’ve learned a bit of RomansCAD, Modo, and now Rhino. I’ve been watching lynda, Youtube, and Udemy videos and this forum is awesome. Thank you both for your honesty and I’ll try your suggestions!


Okay I looked at that tutorial and that…yeah that’s not super helpful. You don’t actually need to use Grasshopper to do that sort of workflow, and until you’ve done it “manually” a few times with FlowAlongSrf I would sure not recommend it as you can see he’s spent an hour and doensn’t have anything more than a surface with some curves on it and virtually no chance of totally doing that in Grasshopper anyway. I also would not have used CageEdit to deform that initial surface, the result is 10X more complex than it needs to be.

The objective is to make a single surface for the ‘base’ of the sole, then use the tech behind FlowAlongSrf and similar tools to place the tread patterns on the sole as solids or curves to be offset/extruded. That’s fine, that’s what people indeed do. But it’s still kind of advanced and you need some practice on the basics of Rhino first. NURBS are quite a bit different animal from mesh and subdivision surface modeling.

1 Like

Gotcha, that makes sense. It seemed a lot more complex than it should’ve been, but I didn’t know better. I’ll check out FlowAlongSrf and do more NURBS research. Thanks again for all your help, I really appreciate it.

Great topic. I’m often coming across the same problem here - if you want to texture something for CAM, with engravings and so on, you inevitably end up with seams that you are going to have to cross. Plenty of people will point you in the direction of displacement and different unwrappings, but this in itself can come with some difficulty; especially when you only want texture in certain areas and need to form a watertight mesh for printing.

The result is pretty good though from the cage edit. I would usually have a sweep which goes around the ‘perimeter’ or bottom pattern and forms the sides, and either an extrusion/loft/network surface which makes up the bottom surface which comes into contact with the floor. So then there’s a guaranteed seam to cross somewhere if you wanted the whoel thing to be textured. Another big misnomer I find is that a lot of the ‘grasshopper-style’ aesthetics are great, but often just conveniently use the irregular UV topology to add ‘funk’. In more careful spheres of work, with regular patterns/textures, there are always so many more steps.

@Gallant to get your closed surface you’ll need a last of some kind ideally qith a mockup of your upper thickness. Although that depends on what your goal in mind is in terms of output (render/proto).

This is advanced stuff (you’re a beginner) but you could potentially learn a lot, so here goes:

You might be able to get a single surface, after you’ve constructed your sole with individual surface patches, if each patch is constructed with deference to the limitations of the merge surface command.

We do this all the time when there is downstream value to merged suface(s), though we don’t do footwear…

Copy the individual patches to a new layer before any merge so you may easily return to your patches if needed.