Houdini 20.5 Nodes Geometry nodes

Box geometry node

Creates a cube or six-sided rectangular box.

On this page

Tip

If you connect geometry to the Box SOP’s input, it will create a bounding box around the input geometry (this duplicates the functionality of the Bound node). You can also use this feature to create a cage for use with the Lattice node.

Placing a Box in the viewer

To...Do this

Place the box anywhere in the scene

  1. Click the Box tool on the Create tab.

  2. Move the cursor into the scene view.

    Note

    You can hold Alt to detach the box from the construction plane.

  3. Click to place the box anywhere in the scene view.

    If you press Enter without clicking, Houdini places the box at the origin.

Place the box at the origin

Press ⌃ Ctrl + on the Box tool on the shelf.

Note

The box can be moved once it is placed by either dragging it in the scene view or changing the values in the parameter editor.

For more information, see Box handles.

Parameters

Primitive Type

Type of geometry to create.

Polygon

Construct the box from size quadrilateral polygons.

Polygon mesh

Construct the box from a mesh of smaller polygons. Use the Axis divisions parameters to control the number of polygons the box is made out of.

Mesh

Creates a mesh primitive. A mesh primitive is a single primitive which has a natural UV mapping and which can’t be split apart, unlike the polygon mesh which is made up of individual polygons.

In most cases you will want to use Polygon mesh rather than Mesh.

NURBS

Construct the box from six NURBS surfaces. Use the Axis divisions parameters to control the number of CVs on the box.

Bezier

Construct the box from six Bezier patches.

Points

Create only the points without any geometry. If divisions are set, it creates the points in the same order as the Polygon mode. Otherwise, it creates the points in the same order as the Polygon mesh mode.

Primitive

Creates points in the same order as the Points mode with Divisions set. Fills the resulting dense lattice with hexahedra. These can be thought of as primitive cubes, but they allow arbitrary distortion of the eight corners.

Connectivity

Available when Primitive type is not Polygon. Controls how to construct the box. The “triangles” and “quads” options are ignored when Primitive type is NURBS or Bezier.

The “row” and “column” options create lines (polylines or straight curves, depending on the Primitive type) instead of surfaces.

Rows

Creates horizontal lines.

Columns

Creates vertical lines.

Rows & Cols

Both Rows and Columns.

Triangles

Build each face of the box with triangles.

Quadrilaterals

Build each face of the box with four-sided quadrilaterals.

Alternating Triangles

Build the grid with alternating triangles. Each four sided quadrilateral is divided in half making two back to back triangles, with the dividing lines alternating in direction.

Reverse Triangles

Build the grid with reverse triangles. Each four sided quadrilateral is divided in half making two back to back triangles, with the dividing lines all facing the same direction.

Consolidate Corner Points

Welds the corner points of the faces of the box.

Size

Size of the box along xyz axes.

Center

Position of center of box.

Rotate

Rotation about the center of the box.

Uniform Scale

Uniform scaling.

Axis Divisions

Number of divisions along each axis. Available when Primitive type is Polygon Mesh or Mesh.

Axis Orders

The order of the surface on each axis.

Divisions

Available when Primitive type is Polygon, Points, or Primitive. Creates a lattice for use with the Lattice deformer SOP. Turn on the checkbox to create a lattice, and use the fields to control the number of points in each axis.

If you do not wish the interior points, use Axis Divisions and Polygon Mesh or Mesh modes.

Enforcement Bars

Available when Primitive type is Polygon and Divisions is on. Places diagonal lines between points in the lattice.

Oriented Bounding Box (points only)

Available when you connect geometry to the node’s input. Orients the bounding box to the axes of the input geometry instead of the world axes.

This algorithm is based on points and so requires primitives with vertex hulls. It will not work with, for example, a primitive sphere or packed geometry. To get the bounding box of a primitive sphere, first convert it to polygons.

Add Vertex Normals

Adds vertex normals to the box, so that it will have an explicit cusped appearance.

Inputs

Bounding source

If you connect geometry to this input, Box will create a bounding box for the input geometry. (Otherwise, it uses the parameters to control the size and position of the box.) Use the Oriented bounding box parameter to orient the bounding box to the input geometry instead of the world axes.

Examples

BoxSpring Example for Box geometry node

The Box SOP is used for more than just creating boxes. It can also envelop existing geometry for specific purposes.

The Box SOP can either create a simple six-sided polygon box, calculate the bounding box size for geometry, or be used in conjunction with the Lattice SOP.

There are two objects within the box.hip file that are examples of this:

  • animated_bounding_box

    The animated_bounding_box object shows how you can envelope an object and surround it with a simple box, even if it is animated. This can be useful when displaying complicated geometry, in which case you would put the display flag on the box object and the render flag on the complicated geometry.

  • box_spring_lattice

    This is an example, a Lattice SOP used in conjunction with the Box SOP. The Box SOP is used to envelope some geometry, in this case a sphere. Divisions is checked to create the proper geometry by referencing the number of divisions in the Lattice SOP.

The top points of the box are grouped by a Group SOP. The Spring SOP uses these points as the Fixed Points from which to create the deformation.

Using the Box SOP in this way allows you to change the incoming geometry (the basic_sphere in this case) and have the box and lattice automatically re-size for you.

See also

Geometry nodes