Houdini 21.0 Nodes Geometry nodes

Poly Extrude 2.0 geometry node

Extrudes polygonal faces and edges.

On this page
Since 14.5

Overview

Poly Extrude lets you pull faces and edges out to create new columns or sheets of polygons.

You can make the extrusion bigger or smaller (inset/outset), and twist it.

If you extrude interior edges, the node uses the surface normals.

If you extrude boundary edges, the node uses the surface direction.

You can set the number of divisions in the extrusion and have the extrusion curve from the source to the destination.

You can draw a curve and have the extrusion follow the shape of the curve.

The node creates a copy of the selected components and transforms them according the parameters, then builds a polygonal bridge between them. The original components are called the back of the extrusion (drawn in red), and the copied or transformed components are called the front (drawn in green).

How to

To...Do this

Extrude edges/faces

  1. Select the edges or faces you want to extrude.

  2. On the Model shelf, select the Poly Extrude tool.

  3. Use the line handle to pull or push the extrusion front. Use the controls in the operation toolbar across the top of the viewport to set the inset and number of divisions.

Follow a curve

To...Do this

Make the extrusion follow an external curve

  1. Draw the curve you want the extrusion to follow.

  2. Extrude the edges or faces.

  3. Connect the curve to the Poly Extrude node’s second input.

  4. In the Poly Extrude parameters, set Spine Shape to Curve from second input.

Distance/twist vs. transform

By default, the tool only extrudes along the normals with controls for distance, inset, and twist.

You can optionally turn on the Transform extruded front to also apply a full move/rotate/scale transform to the extrusion front.

This transform is applied in addition to the Distance and Twist controls, so you may want to set them to 0 to use the transform.

Multiple extrusions

The node automatically treats adjacent edges/faces as groups.

You can extrude individual edges/faces instead of treating them as a group.

Note

The node transforms each element in its own space unless you set Extrusion mode to Translate Global).

Splitting groups

To define multiple source loops with edges/faces that are adjacent, they will look like one thing to the node. You can choose a point/edge Split group that divides adjacent faces/edges into separate groups.

In this image, the yellow line is an edge group splitting the selected faces into two sources.

Note

If you are extruding edges, you split with a point group. If you are extruding faces, you split with an edge group.

Notes

  • Unlike previous versions of PolyExtrude, this node does not support local variables or per-primitive/edge expressions for performance reasons.

  • If you want to vary some parameter per-primitive/edge, store the value in an attribute and use the controls on the Local Control tab.

Parameters

Group

Faces or edges to extrude. This can be the name of a primitive or edge group.

Divide Into

Whether to treat adjacent edges/faces as a group, or as individuals.

Split Group

When Divide into is Connected components, any adjacent elements are treated as a single group. If there are edges/faces that are adjacent but want separate groups, you can split them using this group. See splitting.

Extrusion Mode

Which normals to use to extrude faces/edges.

Primitive/Edge Normal

Extrude faces along their normals, extrude edges intelligently depending on whether they are interior or boundary edges.

Point Normal

Extrude along point normals.

Distance

How far (in Houdini units) to pull out the extrusion. You can use a negative number to push the extrusion in the opposite direction of the normals.

Inset

Expands or dilates the extrusion front. This has no effect when extruding edges.

Twist

Twists the extrusion front around the extrusion spine.

Divisions

The number of rows of polygons in the extrusion.

Spine Shape

The path the extrusion takes between the back and front.

Straight

Straight from the back to the front.

Curved

Curve between the back and front orientations.

Curve From Second Input

Take the shape of a curve connected to this node’s second input.

Extrusion

Front transform

Transform Extruded Front

When on, shows full transformation (move, rotate, scale) controls for the extrusion front. This transform is applied in addition to the Distance and Twist controls, set them to 0 to use the transform.

Transform Order

When Transform Extruded Front is on, order to apply local transformation.

Translate

When Transform Extruded Front is on, moves the extrusion front. The Z component controls the extrusion amount. The X and Y are applied to the front after extrusion.

Rotate

When Transform Extruded Front is on, rotates the extrusion front. Use this to twist the extrusion. See also Twist parameter for more information.

Scale

When Transform Extruded Front is on, scales the extrusion front.

Shear

When Transform Extruded Front is on, shears the extrusion front. The numbers represent X shear in XY plane, X shear in the XZ plane, and Y shear in the YZ plane.

Pivot Translate

When Transform Extruded Front is on, the local pivot point for moving, rotating, and scaling the extrusion front. This is local to each front, unless Transform Space is Global.

Pivot Rotation

When Transform Extruded Front is on, the local pivot space’s rotation value for transformations. This is local to each front, unless Transform Space is Global.

Pre-Transform Order

When Transform Extruded Front is on, the order in which transformations occur in the pre-transform.

Pre-Rotate Order

When Transform Extruded Front is on, the order in which rotations occur in the pre-transform.

Pre-Translate

When Transform Extruded Front is on, the amount of translation along xyz axes in the pre-transform.

Pre-Rotate

When Transform Extruded Front is on, the amount of rotation about xyz axes in the pre-transform.

Pre-Scale

When Transform Extruded Front is on, the non-uniform scaling along xyz axes in the pre-transform.

Pre-Shear

When Transform Extruded Front is on, the amount of shearing in the pre-transform. The three values represent shearing in the X direction on the XY plane, in the X direction on the XZ plane, and in the Y direction on the YZ plane, respectively.

Output Geometry and Groups

Output Front

Generate polygons for the extrusion front. Turn this off if you only want the sides. This has no effect when extruding edges.

Front Group

Enter the name to put the polygons of the extrusion front in this group. You can use this group name in later nodes to easily target just the front polygons.

Output Back

Turn this off to delete the original extruded polygons. This has no effect when extruding edges.

Back Group

Enter the name to put the polygons at the start of the extrusion in this group. You can use this group name in later nodes to easily target just the back polygons.

Output Side

Generate polygons for the sides of the extrusion. If you turn this off, the node is essentially a copy and translate of the selected edges/faces.

Side Group

Enter the name to put the polygons in the extrusion sides in this group. You can use this group name in later nodes to easily target just the side polygons.

Front Boundary Group

Enter the name to put the edges bordering the front and side of the extrusion in this group. This group is equal to the front group when extruding edges. This group is empty when both Output Front and Output Side are off. This group is highlighted green in the polyextrude state in the viewport.

Back Boundary Group

Enter the name to put the edges bordering the back and side of the extrusion in this group. This group is equal to the back group when extruding edges. This group is highlighted red in the polyextrude state in the viewport.

Preserve Groups

Don’t delete the contents of the output groups if they already exist before adding new entries.

Insetting

Limit Insetting

When on, the extrusion front cannot be inset beyond a point where the node determines it would create a degenerate, pinched, zero-size, or undesirable front. When off, insetting can continue to shrink the front through pinching and then invert so that further insetting actually grows the front. You should generally leave this on at all times.

Use Common Limit

If you are extruding multiple fronts, as you increase Inset, once one front has a zero-size edge, all fronts stop shrinking. Turn this off to allow each front to shrink to zero individually as you increase Inset. If Limit Insetting is off, this option is ignored.

Normals

By default, if the input geometry has normal attributes, the node adds those attributes to the extruded geometry.

Add Vertex Normals

Add vertex normals. If vertex normals existed on the original selected edges/faces, the node overwrites them.

Cusp Angle

Vertices across a shared edge will have different normals if the face normals differ by more than this angle.

Cusp All Front Boundary Edges

Always cusp boundary edges of the extrusion front, ignoring the Cusp angle.

Cusp All Back Boundary Edges

Always cusp boundary edges of the extrusion back, ignoring the Cusp angle.

Texture Coordinates

Generate Unwrapped Texture Coordinates for Sides

Generate unwrapped texture coordinates for the polygons that make up the side of the extrusion. They will only be generated if texture attributes already exist on the input geometry.

Style

Unit Square

Textures fill up the unit square.

Rectangular

Textures fill up a length-adjusted rectangle.

Proportional

Textures fill up a length proportional equilateral trapezoid island for each bridge.

Scaling

Fit Unit Square

Scale the island to fit in the unit square.

Match 3D Scale

Scale the island to match the lengths in 3-space.

Match Incident UV Scale

Scale the island to match the lengths in UV-space.

Spine Control

Bridging tab controls several details of how the bridge connecting the back and front behaves.

Shape Adjustment

Front Magnitude

How much the orientation of the front affects the direction of the extrusion at that end. Only available when Spine Shape is not Straight.

Back Magnitude

How much the orientation of the original edges/faces affects the direction of the extrusion at that end. Only available when Spine Shape is not Straight.

Front Stiffness

How far the extrusion path follows the orientation of the extrusion front. Only available when Spine Shape is not Straight.

Back Stiffness

How far the path of the extrusion follows the orientation of the original edges/faces. Only available when Spine Shape is not Straight.

Spacing

Controls the spacing of the divisions along the bridge.

Uniform

Spaced equally.

Curvature Sensitive

Uses more polygons in high curvature areas and fewer polygons in straight areas.

External Spine

Available when Spine Shape is Curve from second input and the node’s second input is connected.

Reverse Direction

Reverse the direction of the spine curve.

Axial Rotation

Rotate the spine curve around the line through its end points.

Front Blend

How much to blend the direction at the end of the curve with the orientation of the extrusion front.

Back Blend

How much to blend the direction at the start of the curve with the orientation of the original edges/faces.

Thickness

These parameters let you scale the width of the bridge along its length, creating pinches and/bulges in the bridge.

Thickness Scale

Scales the values of the Thickness ramp and/or Thickness attribute.

Thickness Attribute

If Spine Shape is Curve From Second Input (on the Spine tab), use this attribute on the external curve to control the thickness of the bridge. This is multiplied by the Thickness scale and added to the thickness ramp.

Thickness Ramp

Controls the thickness of the bridge along its length. The horizontal axis represents the length of the bridge. Values of 0.5 do no scaling. Values less than 0.5 narrow the bridge. Values greater than 0.5 widen the bridge.

Twist

Range Half-Width

Scales the values of the Twist ramp and/or Twist attribute.

Twist Attribute

If Spine Shape is External (on the Spine tab), use this attribute on the external curve to control the twist of the bridge. This is multiplied by the Range Half-Width and added to the twist ramp.

Local Twist Ramp

Controls the twist of the bridge along its length. The horizontal axis represents the length of the bridge. Values of 0.5 represent no twist. Values less than 0.5 twist in one direction, values greater than 0.5 twist in the other direction.

Local Control

Local Attributes

Distance Scale

Multiply the extrusion distance by the value of this attribute (primitive attribute for face extrusion or point attribute for edge extrusion).

Inset Scale

Multiply the inset amount by the value of this attribute (primitive attribute for face extrusion or point attribute for edge extrusion).

Twist Scale

Multiply the twist amount by the value of this attribute (primitive attribute for face extrusion or point attribute for edge extrusion).

Divisions Scale

Multiply the number of divisions by the value of this attribute (primitive attribute for face extrusion or point attribute for edge extrusion).

Local Frames

You can use these attributes to control the local transform space and extrusion amount of each individual component.

If you're extruding faces, these should be primitive attributes, and the values are averaged from all faces in an extrusion front. If you're extruding edges, they should be point attributes, and the value of each edge is the average of the values on its two endpoints.

X Direction

Use this vector attribute (primitive attribute for face extrusion or point attribute for edge extrusion) as an edge/face’s local X axis. The node makes this orthogonal to the local Z axis if it’s not already. If the vector is 0,0,0 the node ignores it. The node automatically normalizes the vector.

Z Direction

Use this vector attribute (primitive attribute for face extrusion or point attribute for edge extrusion) as an edge/face’s local Z axis. This overrides the computed normal. If the vector is 0,0,0 the node ignores it. The node automatically normalizes the vector.

Center

Use this vector attribute (primitive attribute for face extrusion or point attribute for edge extrusion) as the edge/face’s center. This overrides the computed centroid.

Examples

PolyextrudeTube Example for Poly Extrude geometry node

This example demonstrates how to extrude geometry using the Poly Extrude SOP, as well as demonstrating the different extrude controls, Global and Local.

See also

Geometry nodes