Box surface node

Creates a cube or six-sided rectangular box.

All Parameters Inputs Example files

See also: Bound, Lattice, Spring

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.

Box Handles

There are special handles available at the geometry level for the box object that allow you to stretch and squash it.

  1. Move to the geometry level by double clicking the box node in the network editor or by clicking the Jump to Operator button on the operation controls toolbar.

  2. Drag the handles to squash or stretch the box.

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.

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.

Size

Size of the box along xyz axes.

Center

Position of center of box.

Axis Divisions

Number of divisions along each axis.

Axis Orders

The order of the surface on each axis.

Divisions

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

Enforcement Bars

Available when Primitive type is “Polygon” and Divisions is on. Places diagonal lines between points in the lattice. This may be useful when you are using the lattice with the Spring SOP.

Consolidate Corner Points

Welds the corner points of the faces of the box.

Oriented Bounding Box

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. It will not work with, for example, a primitive sphere. To get the bounding box of a primitive sphere, first convert it to polygons.

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.

Example files

Box

$HFS/houdini/help/examples/nodes/sop/box/Box.cmd

Load | Launch

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 POP. The Spring POP 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.

Usages in other examples

Example name Example for

Poly Frame surface node

Load | Launch

Geometry compositing node

Load | Launch

Dissolve surface node

Load | Launch

Surfsect surface node

Load | Launch

Add surface node

Load | Launch

Crease surface node

Load | Launch

Point Cloud Iso Surface surface node

Load | Launch

Particle surface node

Load | Launch

Particle surface node

Load | Launch

ForEach surface node

Load | Launch

Dop Import surface node

Load | Launch

Platonic Solids surface node

Load | Launch

Clip surface node

Load | Launch

UV Project surface node

Load | Launch

MDD Point Cache render node

Load | Launch

Duplicate surface node

Load | Launch

Copy surface node

Load | Launch

Copy surface node

Load | Launch

Attrib Reorient surface node

Load | Launch

Lattice surface node

Load | Launch

Lattice surface node

Load | Launch

Poly Stitch surface node

Load | Launch

Particle Fluid Sink dynamics node

Load | Launch

Particle Fluid Sink dynamics node

Load | Launch

Fluid Force dynamics node

Load | Launch

RBD Pin Constraint dynamics node

Load | Launch

Cloth Solver dynamics node

Load | Launch

POP Solver dynamics node

Load | Launch

RBD Solver dynamics node

Load | Launch

Gas Surface Tension dynamics node

Load | Launch

Field Force dynamics node

Load | Launch

Field Force dynamics node

Load | Launch

Field Force dynamics node

Load | Launch

Reference Frame Force dynamics node

Load | Launch

RBD Angular Spring Constraint dynamics node

Load | Launch

RBD Angular Spring Constraint dynamics node

Load | Launch

Wind Force dynamics node

Load | Launch

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

Smoke Object dynamics node

Load | Launch

RBD Glue Object dynamics node

Load | Launch

RBD Glue Object dynamics node

Load | Launch

Particle Fluid Emitter dynamics node

Load | Launch

Particle Fluid Emitter dynamics node

Load | Launch

RBD Auto Freeze dynamics node

Load | Launch

Copy Objects dynamics node

Load | Launch

Anchor: Align Axis dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Object dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Particle Fluid Solver dynamics node

Load | Launch

Active Value dynamics node

Load | Launch

Fluid Object dynamics node

Load | Launch

Fluid Object dynamics node

Load | Launch

Fluid Object dynamics node

Load | Launch

Fluid Object dynamics node

Load | Launch

Fluid Object dynamics node

Load | Launch

Fluid Object dynamics node

Load | Launch

Fluid Object dynamics node

Load | Launch

Fluid Object dynamics node

Load | Launch

RBD Keyframe Active dynamics node

Load | Launch

RBD Hinge Constraint dynamics node

Load | Launch

RBD Fractured Object dynamics node

Load | Launch

Dynamics channel node

Load | Launch

Object channel node

Load | Launch

Lookup channel node

Load | Launch

Export channel node

Load | Launch

Torque particle node

Load | Launch

Instance particle node

Load | Launch

Mantra render node

Load | Launch

Torque render node

Load | Launch

Torque render node

Load | Launch

Torque render node

Load | Launch