Rhino WIP Feature: InflateCrv

What is InflateCrv?

InflateCrv is a new feature in Rhino WIP that allows a user to select a closed planar curve and create an inflated or “puffy” mesh or SubD. With a post-operation on a SubD result (ToNURBS command), a NURBS surface can be created.

Why InflateCrv?

This feature is useful for sign makers, graphic designers, or any designer who needs to create geometry that has a “puffy” or inflated look.

More Information

InflateCrv is flexible and easy to use. Simply set the height, resolution (i.e. mesh polygon count), and the flattening value (which adds a flat top to the geometry) to create the base geometry. Command-line options include the ability to output a mesh or a QuadRemesh, and to output a SubD from there. If you choose a SubD result, that geometry can be further converted, as a post-operation, to a NURBS model using the ToNURBS command.

How It Works

Pick a closed planar curve and run the InflateCrv command. Enter a height value to see a preview of the mesh geometry.

Adjust the height value as needed and preview.

A flattening value (in model units) can be added to create a flattened version of your inflate.

Flattening value at .1:

Flattening value result at .5:

Flattening value result at .25:

The resolution value controls how many polygons are in the mesh result. This can affect the smoothness in a mesh result. For SubD, it’s wise to experiment with the resolution value because lower values may result in easier to edit models if any post process modeling is to be done.

Choose QuadRemesh=Yes if outputting to SubD (or quad based mesh). Choose QuadRemesh=No and output as an unmodified mesh. This is useful if further modeling or editing is to be done later depending on use case needs.

Try it:

  1. Create a closed, planar curve.

  2. Run the InflateCrv command.

  3. Experiment with your own height, flattening and output options.

Download the Rhino WIP and Try It Out!

Hi @theoutside
Great addition. I think it would be great, if the current height is displayed in the prompt - similar to the extrude command (and most other distance dependant Rhino commands) - see screen grab.


TIA, Jakob

I’m hoping this gets some on screen ui with sliders that can adjust both height and flattening with visual feedback.

https://mcneel.myjetbrains.com/youtrack/issue/RH-93886/inflatecrv-UI

Very useful too @theoutside. If you guys four add and draft/taper value besides the depth value this could be really useful for labeling parts for 3D printing without the debossed labels needing build supports when printed.

thx,

Gustavo

@Kyle @DanielPiker This feature would be really appreciated by jewelrs and accessory makers.

I’ve plenty of client paying (a lot) other software just for having this feature

edit: IMO it should have a proper windows with all the options like the Quadremesh or Shrinkwrap have. And with the option to output nurbs (_tonurbs) version directly.

edit2: it also need an explicit control on the final height (achieved by a vertical Scale1D)

Hi @skysurfer
That was exactly what I asked for - and initially thought to be missing from the command. It’s actually there - you just need to type the desired height at the “root” of the prompt. For some reason, it’s just not shown in bold brackets, like heights/distances usually are in Rhino.


HTH, Jakob

Gosh! you’re right!
Thanks!

…Still a windows complete interface would enhance the UX a lot.

Of course the more I think about this the more I realize that the profile shape/draft angle/inflate-deflate mode are only subset features of a much bigger and more important set of 2 features:

  1. Does this work in 3D text, or just flat?

    Can this be in the inside of a ring for example, or even on a compound curvature surface, and should I dare to say: polysurface, across patch boundaries/edges?

  2. Can this also be part of a more substantial and important feature upgrade: editable 3D text? And by 3D text I don’t mean the old/flat ‘text objects’ but rather ‘text on surface/polysurface/subD’

G

As far as surfaces or polysurfaces are concerned, in my opinion there are no problems. Today I tested it with FlowAlongSurface

Good catch, thanks. This is changed now for the next WIP release

In answer to 1. - The input curves do currently need to be planar (though not necessarily horizontal or all the same plane). The result can of course then be mapped onto curved surfaces like brvdln shows.

Accepting non planar curves as input would require a different approach, since just making a starting surface with those curves as boundaries doesn’t always have a straightforward answer, especially while supporting nested curves as needed for lettering.
An alternative that could be relatively easy to add though would be a command which accepts non planar surfaces or meshes, and inflates them along their normals.

@DanielPiker in my 9.0.26069.12305, 2026-03-10 version the Shaded Preview doesn’t work.

It’s just me?

Yes, the preview during the command is currently shown only in wireframe. This could be changed to shaded though.
Also - agreed a proper options window and an option for nurbs output would be good - I’ll see what I can do.

About draft/taper value - I’m not sure I follow exactly what is wanted here.
Something like the existing ExtrudeCrvTapered but with controllable rounding of where the taper meets the flat?

I can interpreter Gustavo’s request saying that the result should have inclined wall for being safetly removed from moulds (draf angles).
I can imagine another parameter making the side wall tangent to an angled from the originating surface.

I hope this fast draft sketch can help

right, but I’m asking for tools that eliminate steps and facilitate design, editability and iteration. So manually flowing along surface any input is the same old way of modeling.

That sounds a lot more interesting to me.

Point 2 (editable text) is also very important, since most of the changes are about changing the text input itself:

When will Rhino have editable 3D text? Today, even in V9 WIP, the minute I finish a TextObject command the result is flat/2D-extruded/dumb extrusions. I cannot write them on surface/polysurface/subd, and I cannot edit the text. Not even before using them as boolean operands of parts.

Added to RH-59885 text with history
-wim

can you post a quick pic of what you describing?

please make this it’s own different topic. you are straying from the inflate feature here. I’d like to keep this thread focused on that feature please.

Sorry Kyle, you are right, please split the topic. I’ll post later here the taper detail and show you all why it matters for 3D printing. Thx