Houdini 20.0 Nodes Geometry nodes

Revolve 2.0 geometry node

Revolves a curve around a center axis to sweep out a surface.

On this page
Since 18.0

Using Revolve

To...Do this

Revolve a curve

  1. Draw a curve in the scene view.

  2. Make sure the curve is selected and click the Revolve tool on the Model tab.

Revolve multiple curves

  1. Draw curves in the scene view.

  2. Make sure all of the curves are selected and click the Revolve tool on the Model tab.

Note

Revolving multiple curves at the same time will merge the curve into a single object.

Revolve Handles

There are special handles available at the geometry level for the revolved curve object that allow you to change the rotation axis.

Parameters

Primitive Group

Subset of primitives to revolve around the axis specified by Origin and Direction.

Origin

Origin of the axis around which to revolve.

Axis Direction

Direction of the axis around which to revolve.

Divisions

Number of edges to create around the circle of revolution.

Revolve Type

When this is Closed, the input curves will be revolved in a full, closed circle around the axis. When this is Open Arc or Closed Arc, the input curves will be revolved in a circular arc between the two angles given by Start End Angle, with an extra point on the axis to close the loop in the case of Closed Arc.

Start End Angles

When Revolve Type is Open Arc or Closed Arc, this specifies the angles between which the circular arc should pass. When Revolve Type is Closed, the start angle alone is used to determine an overall rotation around the axis.

Surface Type

The surface topology to create for each curve’s grid. See the descriptions and image below.

Points

Don’t create any primitives, only points.

Rows

Create a curve for each vertex in the input curves.

Columns

Create a curve for each division, plus one or two if Revolve Type is Open Arc or Closed Arc.

Rows and Columns

Create curves corresponding with both the Rows option and the Columns option.

Triangles

Create triangles splitting the grid quads in a single direction.

Quadrilaterals

Create the grid quads as is.

Alternating Triangles

Create triangles splitting the grid quads in alternating directions.

Reverse Triangles

Create triangles splitting the grid quads in a single direction opposite that of the Triangles option.

Primitive Type

The type of primitive to output if Surface Type is not Points. When this is Automatic, polygons, NURBS surfaces, or Bezier surfaces are output, depending on whether the curves and cross sections are polygons, NURBS curves, or Bezier curves.

Ensure Unique Seam Vertices

If Surface Type is Rows, Columns, or Rows and Columns, and Revolve Type is Closed or Closed Arc or an input curve is closed, this option will add an extra vertex as needed to each curve to ensure that there are separate vertices for parametric curve u or v coordinate values 0 and 1. If any output primitives are polygon soups, NURBS surfaces, Bezier surfaces, or bilinear mesh primitives, this option similarly also adds any extra vertices that would be needed to ensure that all uv seams can be generated correctly. See the image below.

Swap Rows and Columns

When enabled, the order of the points and primitives in the grids will be adjusted to be column-major, having all points/primitives of one column before those of the next column, instead of the default row-major, having all point/primitives of one row before those of the next row. Toggling this also reverses normals, so Reverse Cross Sections may be useful to separately reverse normals.

Reverse Cross Sections

Toggle this on to reverse normals. When enabled, input curves primitives will be treated as if they were reversed, which has the effect of reversing normals on the surface.

End Caps

When enabled and any input curves are open, this adds end cap polygons, NURBS curves, or Bezier curves to close the tube.

End Caps Group

When enabled, a primitive group with this name will be created, containing any primitives created by the End Caps option.

UV Coordinates

Compute UVs

When enabled, a vertex uv attribute will be generated for the output surfaces, based on the parameters below, if one isn’t already on the input. U corresponds with the input curve parametric coordinate, and V corresponds with the parametric coordinate around the axis. When Surface Type is Points, this will be a point uv attribute.

Override Any Existing UVs

When enabled, a vertex uv attribute will be generated from scratch for the output surfaces, based on the parameters below, even if one is already on the input, instead of copying the UVs from the input.

Length-Weighted UVs

When enabled, the individual U and V coordinate distances will be scaled, relative to other edges, by the corresponding edge lengths. When Normalize Computed Us and Normalize Computed Vs are on, U and V coordinates will still be scaled to be within the 0 to 1 range, but along the curves or cross sections, the relative lengths in UV space will be proportional to their lengths in physical space. See the image below.

Normalize Computed Us

When enabled, the U coordinate will be scaled to go from 0 to 1, (before UV Scale is applied). Otherwise, U will correspond with the average distance around the cross sections on the mesh, ignoring any stretch applied by Stretch Around Turns. Either way, U can be scaled by the first component of UV Scale. When this is enabled and Normalize Computed Vs is disabled, V will be scaled such that U and V appear scaled similarly in space, though depending on the Use Max Cross Section Length per Curve for Proportional Scale option. This is especially useful for things like applying repeating rope textures, where the texture should be applied isotropically. See the image below.

Normalize Computed Vs

When enabled, the V coordinate will be scaled to go from 0 to 1, (before UV Scale is applied). Otherwise V will correspond with either the average distance along the mesh in the V direction or the distance along the backbone curve, depending on the Use Mesh Edge Lengths instead of Curve Edge Lengths. When this is enabled and Normalize Computed Us is disabled, U will be scaled such that U and V appear scaled similarly in space. See the image below.

Make Computed Us Wrap Seamlessly

When Normalize Computed Us is disabled and this is enabled, the range of U is rounded to the nearest positive integer, in order for textures to wrap correctly in the U direction. This rounding is applied after the corresponding component of UV Scale is applied, so that UV Scale can still be approximately a scale per length unit for small geometry when both Normalize Computed Us and Normalize Computed Vs are both disabled. See the image below.

Make Computed Vs Wrap Seamlessly

When Normalize Computed Vs is disabled and this is enabled, the range of V is rounded to the nearest positive integer, in order for textures to wrap correctly in the V direction. This rounding is applied after the corresponding component of UV Scale is applied, so that UV Scale can still be approximately a scale per length unit for small geometry when both Normalize Computed Us and Normalize Computed Vs are both disabled. See the image below.

Flip Computed Us

When this is enabled, any computed U values will be replaced with maxu-u, (e.g. 1-u if Normalize U is enabled and UV Scale has 1 for the first component), to avoid textures appearing backward. This should be on for textures to appear correct on surfaces viewed from the front, (i.e. normals pointing toward the camera), and should be off for textures to appear correct on surfaces viewed from the back, (i.e. normals pointing away from the camera). See the image below.

UV Scale

An additional scale on the generated UV coordinates. When Normalize U or Normalize V is on, the corresponding scale is applied after normalization. Otherwise, this scale is a scale per length unit, e.g. 0.5 would correspond with a period of 2 length units. If Make Computed Us Wrap Seamlessly or Make Computed Vs Wrap Seamlessly is enabled, the corresponding scale is applied before rounding to a positive integer number of repetitions of the U or V space, so that textures will still wrap correctly.

Examples

BasicRevolve Example for Revolve geometry node

This example demonstrates the Revolve SOP’s ability to create geometry by spinning curves and surfaces around any described axis. Simple objects, such as a torus and a vase, are generated by the Revolve SOP and user-defined inputs.

This file also shows off how different geometry types react to different Revolve SOP parameter changes.

See also

Geometry nodes