Add surface node

Creates Points or Polygons, or adds points/polys to an input.

All Parameters Local variables Example files

If an input is specified, this OP adds points and polygons to it as specified below. If no input is specified, then it generates the points and polygons below as a new entity.

Extract points

Used in conjunction with a point expression, the Add op can be useful for extracting a specific point from another op. For example, to extract the X, Y and Z value of the fifth point, from a Grid SOP in geo1:

point("geo1/grid1",5,"P",0),point("geo2/grid1",5,"P",1), point("geo3/grid1",5,"P",2)
Points added in this way are appended to the end of the point list if a Source is specified. Click the Information Pop-up on the op Tile to find out how many points there are. For example, if you have added two points and there are 347 points (from 0 to 346), you have added the last two point numbers: 345 and 346.

Create a specific number of points

Create an Add SOP and set it to create a single point, then append a Copy SOP and set its number of copies to the (possibly animated) number of points you want.

This works correctly even when number of points is 0, unlike some other approaches.

Parameters

Points

Overview

The three leftmost input fields represent the X,Y and Z coordinates of the point. The last input field represents the spline weight of the point. If the point is later used to create a spline (NURBS or Bezier) primitive, the weight will influence the shape of the primitive and may cause that primitive to become rational. Polygons and metaballs are not affected by this weight.

X, Y, Z, and W can be constants (numbers) or variables.

Delete Geometry But Keep the Points

This will destroy all the polygons, NURBs, and other primitives, leaving only the points intact.

Polygons: By Pattern

Overview

Create a fixed number of polygons by specifying a point pattern for each polygon Enter connection lists here to create polygons.

{from}-{to}[:{every}][,{of}]
eg1: 1 2 3 4
eg2: 1 3-15 16 8
eg3: 1-234 820-410 235-409
eg4: 0-15:2
eg5: 0-15:2,3

Polygons: By Group

Overview

Create as many polygons as determined by the group field and by the grouping/skipping rules.

Group

Subset of points to be connected.

Add

Optionally join subgroups of points.

N

Increment to use for subgroup joining.

Attribute

If group by attribute is specified, this attribute will be used to determine how to connect the polygons within the group. Points with the same attribute value will be connected together. The connection order will respect the point order of the group.

Remove Unused Points

Keep only the connected points.

Local variables

N

Index of the last point in the geometry.

CEX, CEY, CEZ

The centroid of the input.

XMIN, XMAX

The X extents of the bounding box of the input.

YMIN, YMAX

The Y extents of the bounding box of the input.

ZMIN, ZMAX

The Z extents of the bounding box of the input.

SIZEX, SIZEY, SIZEZ

The size of the bounding box of the input.

Example files

Add

$HFS/houdini/help/examples/nodes/sop/add/Add.cmd

Load | Launch

This network demonstrates the many uses of the Add SOP to build and manipulate geometry:

  • It is used to create points in space which can then be used to create polygons using designated patterns. These polygons can be open or closed. Futhermore, each point can be animated through expressions or keyframes.

  • It is used to both create points and grab points from other primitives. These points may be used in polygon creation.

  • The Add SOP may be utilized to create a polygon using points extracted from another polygonal object. A Group SOP allows for the creation of the point group that will be referenced by the Add SOP.

  • The Add SOP is used to create a polygon from a group of animated Null objects. An Object Merge SOP references the null points in SOPs which are then fed into an Add SOP for polygon generation. A Fit SOP, in turn, is used to create an interpolated spline from the referenced null points. The result is an animted spline.

  • The Add SOP is used to generate points without creating any primitives. Also, points from other objects can be extracted through the Add SOP.

  • Finally the Add SOP can additionally be used to procedurally create rows and columns.

Usages in other examples

Example name Example for

Material shader

Load | Launch

Material shader

Load | Launch

Muscle object

Load | Launch

Geometry compositing node

Load | Launch

Torus surface node

Load | Launch

Carve surface node

Load | Launch

Circle surface node

Load | Launch

Creep surface node

Load | Launch

Creep surface node

Load | Launch

Creep surface node

Load | Launch

Creep surface node

Load | Launch

Creep surface node

Load | Launch

Creep surface node

Load | Launch

Cap surface node

Load | Launch

Cap surface node

Load | Launch

Point Cloud Iso Surface surface node

Load | Launch

Cache surface node

Load | Launch

Particle surface node

Load | Launch

Platonic Solids surface node

Load | Launch

Sequence Blend surface node

Load | Launch

Sequence Blend surface node

Load | Launch

Sequence Blend surface node

Load | Launch

Sequence Blend surface node

Load | Launch

Extrude surface node

Load | Launch

L-system surface node

Load | Launch

Comb surface node

Load | Launch

Fur surface node

Load | Launch

Clay surface node

Load | Launch

Cookie surface node

Load | Launch

Cookie surface node

Load | Launch

Cookie surface node

Load | Launch

Convert surface node

Load | Launch

Convert surface node

Load | Launch

Convert surface node

Load | Launch

Convert surface node

Load | Launch

Copy surface node

Load | Launch

Attrib Reorient surface node

Load | Launch

Box surface node

Load | Launch

Point surface node

Load | Launch

Particle Fluid Sink dynamics node

Load | Launch

Particle Fluid Sink dynamics node

Load | Launch

RBD Pin Constraint dynamics node

Load | Launch

POP Solver dynamics node

Load | Launch

Gas Surface Tension 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

Wind Force 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

Smoke 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

SOP Solver dynamics node

Load | Launch

SOP Solver 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

Blend Solver dynamics node

Load | Launch

Lookup channel node

Load | Launch

Fetch channel node

Load | Launch

Collision particle node

Load | Launch

Collision particle node

Load | Launch

Collision particle node

Load | Launch

Collision particle node

Load | Launch

Collision particle node

Load | Launch

Collision particle node

Load | Launch

Orbit particle node

Load | Launch

Orbit particle node

Load | Launch

Orbit particle node

Load | Launch

Orbit particle node

Load | Launch

Creep particle node

Load | Launch

Lookat particle node

Load | Launch

Rotation particle node

Load | Launch

Follow particle node

Load | Launch

Follow particle node

Load | Launch

Follow particle node

Load | Launch

Follow particle node

Load | Launch

Follow particle node

Load | Launch

Follow particle node

Load | Launch

Follow particle node

Load | Launch

Attractor particle node

Load | Launch

Attractor particle node

Load | Launch

Attractor particle node

Load | Launch

Event particle node

Load | Launch

Instance particle node

Load | Launch

Split particle node

Load | Launch

Wind particle node

Load | Launch

Fan particle node

Load | Launch

Stream particle node

Load | Launch

Color particle node

Load | Launch

Color particle node

Load | Launch

Interact particle node

Load | Launch

Property particle node

Load | Launch

Mantra render node

Load | Launch

Mantra render node

Load | Launch

Mantra render node

Load | Launch

Mantra render node

Load | Launch

Torque render node

Load | Launch