Houdini 20.5 Nodes Geometry nodes

Group geometry node

Generates groups of points, primitives, or edges according to various criteria.

This node type is deprecated. It is scheduled to be deleted in an upcoming revision of Houdini.

Use the Group Create node instead.

(Since version 16.0.)

On this page

Overview

Elements can occur in more than one group. Groups are used in many parts of the Parameter Editor to specify which portions of input geometry you wish an operator to act upon.

You can also create ordered groups. To do so, enable the Ordered checkbox.

This operator is very powerful and is ideal for combining geometry that is similar. For example, all the primitive geometry of a group of door structures for a three-dimensional architectural model could be grouped together and consequently scaled and re-sized together using a Transform node. Works in conjunction with most filter nodes.

Group name specifiers become very powerful when you use pattern matching in your group specifiers.

Using Group Geometry

  1. Select the points, primitives, edges, or vertices you want to group.

  2. Click the Group Geometry tool on the Model tab of the shelf.

  3. Enter a Group Name in the operation controls toolbar or the parameter editor.

Tip

When using the hotkeys to select edges to group, press ⇥ Tab once the selection is complete (instead of Enter), and select the Group Geometry operation in the tab menu.

Creating groups based on point attributes

You can create groups based on point/primitive attributes using the Combine tab and group specification syntax.

For example, to create a group containing all points with Y position greater than 0:

  1. In the parameter editor for the Group node, click the Combine tab.

  2. In the Group field (below Combine entity), set the left side to the name of the group you want to create, click the equal button in the middle, and set the right side to @P.y>0

In this example, P is the name of the position vector attribute, .y takes the Y component of the vector, and >0 selects points where the component is greater than 0. See the @ group specification syntax for more information. Note that the @ syntax does not allow spaces.

Inputs

Source geometry

The geometry on which to create the groups.

Bounding object

Bounding geometry. (Only works for point groups when selecting by bounding geometry.)

Accepts all geometry.

Parameters

Create

Group Name

The name of the group to create.

Entity

Whether to create a primitive or point group.

Geometry Type

What sort of primitives to allow in the group.

Merge Operation

How to resolve collisions between the newly created group with an already existing group.

Replace Existing

The newly created group will replace the existing group.

Union With Existing

The group will consist of the union between the newly created group and the already existing group.

Intersect With Existing

The group will consist of the intersection between the newly created group and the already existing group.

Subtract From Existing

The group will consist of the contents of the already existing group that are not also in the newly created group.

Number

Enable

Enables grouping by number.

Create Ordered

Orders the points/primitives in the group in the order they are entered. Useful when skinning.

Operation

Groups by a pattern, a range, or an expression.

Filter Expression

This is evaluated for every point or primitive. If it is true, the element is added to the group. It supports all the local variables of the Point and Primitive operations.

Edge groups are currently not supported with expressions.

Note

Points and primitives that match the expression will be in the final group regardless of the other tabs.

Pattern

Enter the pattern to be grouped.

This field also accepts edge patterns:

Code

Meaning

n

All edges in primitive number ‹n›.

p‹n

Point number ‹n› / edges with point number ‹n›.

n›e‹m

Edge number ‹m› of primitive ‹n›.

p‹a›-‹b

Edges between point number ‹a› and point number ‹b›.

Start

The start of the range to be grouped. For edge groups the ranges will be interpreted as primitive indices.

End

The end of the range to be grouped. For edge groups the ranges will be interpreted as primitive indices.

Select _ of _

Group every # of # primitives/points. Edges are grouped here by primitive numbers.

Bounding

Enable

Enable grouping by bounding volume.

Bounding Type

Shape of bounding volume.

Size

Size of bounding volume.

Center

Center of bounding volume.

Iso

The iso surface of volume to do the grouping with. Points whose volume value are less than this will be grouped. A value of 0 is good for SDF volumes. For fog volumes, use a value of 0.5 and turn on Invert Volumes for best results.

Invert Volume

Inverts sense of being inside the volume.

Include Entities Not Wholly Contained

Include entities that are not wholly contained within the bounding object.

Normal

Enable

Enable grouping by normal.

Direction

Normal direction to group by.

Spread Angle

Deviation from the direction to allow in the group.

Backface from

Groups primitives facing away from this object.

Note

Unlike grouping by normal this operation will remove items that satisfy the backface condition from any group created via another tab. If no other group is created, this operation will add satisfying items.

Non-Planar Polys

Groups polygons that are non-planar given the tolerance.

Note

Polygons that are non-planar will be added to the group regardless of the other tabs.

Edges

Note

Points, primitives, and edges that match the edge grouping rules will be in the final group regardless of the other tabs.

Enable

Enables edge grouping.

Min Edge Angle

Groups primitives with at least this angle between their normals. For edge groups, an edge is included in the group if the two primitives that share it satisfy this angle requirement.

Max Edge Angle

Groups primitives with at most this angle between their normals. For edge groups, an edge is included in the group if the two primitives that share it satisfy this angle requirement.

Edge Angle Uses Angle Between Edges

For edge groups only, when this option is checked edges are included in the group based on the angle between themselves, instead of the angle between the primitives that share them.

Each edge is compared against all other edges that share a point with it.

Min Edge Length

Groups edges that have at least this length.

Max Edge Length

Groups edges that have at most this length.

Edge Depth

Number of edges away from the points in Point Group.

Point Group

Points around which group is centered.

Unshared Edges

Groups all points/primitives/edges with unshared edges. For edge groups, an edge is added to the group if it only has one primitive adjacent to it.

Create Boundary Groups

Create groups containing surface boundary points.

Combine

Combines different groups based on boolean operators.

Combine Entity

The type of group on which to operate. While it can usually be determined from the given groups, this parameter is useful to resolve ambiguous cases.

Group

This section allows you to create a new group out of existing groups. Enter the group to operate on or create in the first field and the name of the existing group in the field on the other side of the buttons. You can either include the contents of the other group by selecting Equals or everything that is not the other group by selecting Equals all but. Use the fields below to combine additional groups.

Edit

Rename

Renames an existing group to something else. When renaming groups, you can use wildcards to rename several groups that match the specified pattern. For more information about the pattern substitution rules, please see Attrib String Edit.

Group

Group to rename.

New Name

New name of group.

Convert

Converts between different types of groups. When converting groups, you can use wildcards to convert several groups that match the specified pattern. For more information about the pattern substitution rules, please see Attrib String Edit.

Convert From

Source group type.

Convert To

Newly created group type.

Group

Group to convert.

Convert Name

The new name of the converted group. Leave this empty to keep the name of the original group.

Preserve Original

Preserves original geometry.

Omit Entities in New Group not Wholly Contained in the Old Group

This option allows only primitives that have all of their points or edges in the original point group to be included in the resulting primitive group, when converting from a point group or an edge group to a primitive group.

The same thing applies when converting from a point group or a primitive group to an edge group. Only edges with both points in the original point group will be added to the new group.

Delete

Deletes an existing group.

Group

Group to delete.

Locals

N

(number of points/primitives/edges) -1

See list of standard variables.

Examples

FeaturedEdges

This example demonstrates how feature edges of your object can be preserved during a polyreduce by using an Edge Group.

See also

Geometry nodes