Houdini 12 Nodes Surface nodes

Extrudes geometry along a normal.

Tip

For extruding polygon faces, use Poly Extrude instead.

You can use this node for:

• Extruding and beveling Text and other geometry.

• Cusping the beveled edges to get sharp edges.

• Making primitives thicker or thinner.

Extrude by default uses the normal of the surface to determine the direction of extrusion. In the case of planar or open polygons, the normal is difficult to determine, and may not always provide the result that you expect. Turn on the Primitive Normals display in the Viewport display options to see the normals.

You can also extrude along an arbitrary vector, or along the face normal. You can specify the number of divisions in the extrusion.

Uses / Works in Relation With

This op is mainly used for generating bevels and extrusions of text with input cross-sections are from a Font op. Any curve or group of curves can be used as input.

Tips

Offsets

This op can be used for generating two offsetting curves where the distance between the two curves remains constant. To do this, make sure that you set Side Mesh to No Output, the first thickness to zero and adjust the second to increase or decrease the distance of the offset.

Fixing Stray Normals

If your geometry contains normals that are pointed in many directions (say after reading geometry from a File SOP, or if you have a lot of open or non-planar polygons), you can fix it so that they are suitable for extrusion.

Do this by appending a Group SOP to the SOP that contains your geometry, enable Normal, and reduce the Spread Angle to something less than 180° degrees (e.g. 90). Then append a Primitive SOP, which should work on the group made in the Group SOP. In the Face/Hull page, set the Vertex menu to Reverse.

Now the normals in your geometry will all be oriented in the roughly the same direction, and ready for extrusion. To narrow the tolerance, decrease the Spread Angle further.

1. Select a primitive with and drag it to a new location. An extrusion is built between the dragged location and the original primitive.

2. Use the parameter editor to edit the extrusion.

Tip

If you press Alt and drag the primitive by its normal, each primitive in the selection will be extruded along its normal.

Note

You can also extrude points and edges by enabling them in the selection mask before choosing this operator. Extruded points create open polygons. Extruded edges create meshes or closed polygons.

Mouse and Keys

 none Volatile key. Drag to move the selected extrusion to a new location. Alt + Moves the extrusion in direction of the height vector. Finish the extrusion.

 Front Face Toggle F Toggles the creation of the extrusion’s front face. Back Face Toggle B Toggles the creation of the extrusion’s back face or cap. Side Mesh Toggle I Toggles the creation of the extrusion’s side meshes. Finish Extruding Enter Completes the extrusion of the geometry.

Parameters

 Source Group The primitives to extrude. X-Section Group The primitives to use as the cross section.

Values

Point Fusion

Consolidates points of polygons that would otherwise overlap.

 All points Guarantees no overlapping points. Minimal Provides more uniform control with overlapping only in extreme cases. Individual Faces Implemented only for backward compatibility.
Front Face

Type of geometry to create for front face.

Back Face

Type of geometry to create for back face.

Side Mesh

Type of geometry to create for sides with polygonal cross-sections.

Initialize Extrusion

Attempts to fit the cross section to the source.

Thickness Offset

Controls the tangential offset of the cross section profile.

Thickness Scale

Controls the x scale of the cross section profile.

Depth Offset

Moves the entire extrusion forward or backward along the extrusion.

Depth Scale

Controls the y scale of the cross section profile.

Vertex

Translates the cross section such that the vertex specified is at the cross section origin.

Cusp Sides

Whether sides are to be smooth-shaded or faceted.

Side Cusp Angle

Threshold angle for edge faceting.

Consolidate Faces

Consolidates the points of the face to the points of the sides.

Remove Shared Sides

Prevents the creation of duplicate sides.

Hole Polygons

If polygons overlap in a plane the inner polygons will be stamped out of the outer polygons in a fashion similar to the hole sop. This allows you to extrude letters like O properly.

The problem with Hole Polygons is that it may incorrectly merge polygons that just happen to overlap. If one had shards of glass flying through space, it may happen that two shards overlap on one frame and will be incorrectly holed. Not only does this cut out the shape of one piece of glass from the other (an undesired effect), but it also will change the primitive count. To avoid this problem, turn off Hole Polygons.

Groups

 Create Output Groups Generates 3 groups. One for front, back and sides. Front Group Name of the front group. Back Group Name of the back group. Side Group Name of the side group.

Inputs

 Source Input Input the op containing the curves that you want to extrude. The input can be polygons, Bezier curves, NURBS curves, or any combination of the three types. Cross-Section Input The op on this input will be used to define a cross-section. If not specified, a straight line is used to extrude the object. This cross-section should be an open Bezier, NURBS, or polygon drawn in the XY Plane.

Examples

 ExtrudeFont Load | Launch `.../examples/nodes/sop/extrude/ExtrudeFont.otl`This is an example of the Extrude SOP. It illustrates how volume and geometry are created from flat primitives. It also demonstrates how to separate parts of the geometry into groups, and how to apply different shaders to each group.

Examples that use this node

Example forExample name

`.../examples/nodes/dop/pyrosolver/BillowyTurbine.otl`

`.../examples/nodes/obj/indirectlight/IndirectLightBox.otl`

`.../examples/nodes/shop/material/DownHillLavaFlow.otl`

`.../examples/nodes/sop/carve/DiscCarve.otl`

`.../examples/nodes/sop/cookie/CookieGear.otl`
`.../examples/nodes/sop/copy/StampStars.otl`