Create Curves to remove concave regions of curve

Hi guys,

First time poster on these forums but wanted to start by thanking everyone for their contributions, it’s an amazing community.

I’ve currently in the process of modelling a shoe of a 3D scan of the foot (wearing a sock) with the end goal of printing a custom shoe. To do so, I need to add ‘space’ to the toe box of the shoe which includes removing the concave regions. I’ve managed to create a GH file that identifies points along the line that are concave (red) and convex (blue).

However, I’m having trouble taking the next step of creating curves to replace these concave regions. I’ve [manually] created one of these curves as an example shown in green (see below).

I would love to hear all your advice as I seem stuck at this stage.

Thanks in advance!

Foot Model (Cleaned) v1.3dm (4.2 MB)
Concave-Convex Method (13.5 KB)

Hi Brandon,

Would you mind sharing an example curve to work on?


Hi Daniel,
I’ve attached the Rhino and GH files above, do you want a seperate file with the curve extracted?\


Sorry maybe I missed that… just reading on the phone right now. Will have a look!

1 Like

You could try the component Convex Hull Points (HullPt):

1 Like

Thanks Adam

Is there a way to smooth out the lines to there’s no sharp transitions?

The example above, I used an Arc 3Pt But still had issues transitioning between the ‘foot’ outline and these curves

To exemplify the point above, looking at the top of the foot:

Red = original
Blue = Convex Hull Points (HullPt)
Green = Ideal [drawn manually, three examples]

I am wondering if there’s a solution to automating this ‘ideal’ polycurve


I have been playing around with concave/convex curve segments recently, so I was interested in your post.
attached is a version that automatically fills the concave parts and allows to adjust the blendCurve buldge factor.

This gives some control over the blend but it is not perfect… but that is also due to the topology of the foot outline… Í mean it does not make sense to get rid of all concave elements… like on the inside of the foot.

one more advanced way would be to look at tangent vectors (eg. look for matching threshold) at the neighboring convex curves and blend between these points and not the inflection points. That would give smoother transition in some cases, but I think it would still be a kind of manual decision what blend you want at what part of the foot.

btw. my file only works on closed curves (for sorting convex/concave correctly) so I extracted the entire outline from your Rhino file. (and ignore the data dam… was in there already too lazy to remove) (32.8 KB)

*I did rebuild/reconstruct your polyline in order to work with curvature. Not sure how acceptable that is for what you need to do… however, once that step is done, you could also look into the “fair” command in Rhino, which might be helpful to achieve what you are looking for

little addition: subCrv to move the A/B points of the blendCrv further into the convex segments. (36.9 KB)

Thank you so much for the assistance.

I will have a good read into the file to understand the methodology.

Cheers mate!

1 Like