|On this page|
Poly Extrude lets you "pull" faces and edges out to create new columns/sheets of polygons.
You can make the extrusion bigger or smaller (inset/outset), and twist it.
If you extrude interior edges, the node will use the surface normals.
If you extrude boundary edges, the node will use 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/transformed components are called the front (drawn in green).
Follow a curve
Make the extrusion follow an external curve
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 tranform to the extrusion front.
This transform is applied in addition to the Distance and Twist controls, so you probably want to set them to
0 if you want to use the transform.
The node automatically treats adjacent edges/faces as groups.
You can extrude individual edges/faces instead of treating them as a group.
The node transforms each element in its own space (unless you set Extrusion mode to "Translate Global").
If you want to define multiple source loops with edges/faces that happen to be adjacent, they will just 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.
(If you are extruding edges, you split with a point group. If you are extruding faces, you split with an edge group.)
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.
Faces or edges to extrude. This can be the name of a primitive or edge group.
Whether to treat adjacent edges/faces as a group, or as individuals.
When Divide into is "Connected components", any adjacent elements are treated as a single group. If there are edges/faces that are adjacent but you want to be sepearte groups, you can split them using this group. See splitting above.
Which normals to use to extrude faces/edges.
Extrude faces along their normals, extrude edges intelligently depending on whether they are interior or boundary edges.
Extrude along point normals.
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.
Expands or dilates the extrusion front. This has no effect when extruding edges.
Twists the extrusion front around the extrusion spine.
The number of rows of polygons in the extrusion.
The path the extrusion takes between the back and front.
Straight from the back to the front.
Curve between the back and front orientations.
Curve From Second Input
Take the shape of a curve connected to this node’s second input.
Transform Extruded Front
Turn this on to show full transformation (move, rotate, scale) controls for the extrusion front. This transform is applied in addition to the Distance and Twist controls, so you probably want to set them to
0 if you want to use the transform.
Order in which to apply local transformation (when Transform Extruded Front is on).
Order in which to apply local rotations (when Transform Extruded Front is on).
Moves the extrusion front (when Transform Extruded Front is on). The Z component controls the extrusion amount. The X and Y are applied to the front after extrusion.
Rotates the extrusion front (when Transform Extruded Front is on). You can use this to twist the extrusion, but see also Twist parameter for more information.
Scales the extrusion front (when Transform Extruded Front is on).
Shears the extrusion front (when Transform Extruded Front is on). The numbers represent X shear in XY plane, X shear in the XZ plane, and Y shear in the YZ plane.
Local pivot point for moving, rotating, and scaling the extrusion front (when Transform Extruded Front is on). This is local to each front, unless Extrusion mode is "Global translate".
Output Geometry and Groups
Generate polygons for the extrusion front. Turn this off if you only want the sides. This has no effect when extruding edges.
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.
Turn this off to delete the original extruded polygons. This has no effect when extruding edges.
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.
Generate polygons for the sides of the extrusion. If you turn this off, the node essentially is just a copy and translate of the selected edges/faces.
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.
If the original edges/faces were in any groups, add the corresponding edges/faces in the extrusion front to the same groups.
When this is on, the extrusion front cannot be inset beyond a point where the node determines it would create a degenerate, pinched, zero-size, or otherwise undesirable front. If you turn this off, insetting can continue to shrink the front through pinching and then invert so that further insetting actually grows the front. You should generally just leave this on all the time.
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 to zero size is off, this option is ignored.
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.
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.
Bridging tab controls several details of how the bridge connecting the back and front behaves.
How much the orientation of the front affects the direction of the extrusion at that end. Only available when Spine shape is not "Straight".
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".
How far the extrusion path follows the orientation of the extrusion front. Only available when Spine shape is not "Straight".
How far the path of the extrusion follows the orientation of the original edges/faces. Only available when Spine shape is not "Straight".
A technical parameter of the node’s internal algorithm. "Rotating frame" tends to be better for twisting bridges, but in practice there’s no good basis for choosing one or the other. You can try both and see if they make a difference for your bridge.
Controls the spacing of the divisions along the bridge.
Uses more polygons in high curvature areas and fewer polygons in straight areas.
Available when Spine shape is "Curve from second input" and the node’s second input is connected.
Reverse the direction of the spine curve.
Rotate the spine curve around the line through its end points.
How much to blend the direction at the end of the curve with the orientation of the extrusion front.
How much to blend the direction at the start of the curve with the orientation of the original edges/faces.
These parameters let you scale the width of the bridge along its length, creating pinches and/bulges in the bridge.
Scales the values of the Thickness ramp and/or 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.
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.
Scales the values of the Twist ramp and/or 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 Twist scale 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.
Multiply the extrusion distance by the value of this attribute.
Multiply the inset amount by the value of this attribute.
Multiply the twist amount by the value of this attribute.
Multiply the number of divisions by the value of this attribute.
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.
Use this vector attribute as an edge/face’s local X axis. The node makes this orthagonal 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.
Use this vector attribute 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.
Use this vector attribute as the edge/face’s center. This overrides the computed centroid.
Scale the extrusion amount by the value of this attribute.