Documentation / Node reference / geo nodes

geo/GroupCreate

Creates a named group of points, primitives, edges or objects.

Group

Names a subset of the input so later nodes can act on just that part. Pick what the group is made of with `type`, then turn on one or more `by*` criteria; `combineMode` decides whether they union or intersect. RESOLVED mode freezes the members at cook time. RULE mode stores the criteria instead and re-runs them wherever the group is used, so the group follows topology that changes downstream. Edges and objects are always rules.

Parameters

Name Type What it does
type UInt8 AUTO · POINT · PRIMITIVE · OBJECT · EDGE What the group is made of: points, primitives, edges or objects.
group String Name of the group being created. Empty uses the node's name.
mode UInt8 RESOLVED · RULE RESOLVED freezes the members now. RULE re-runs the criteria wherever the group is used, so it tracks topology changes downstream. Edges and objects are always rules.
invert Bool Select everything the criteria did NOT match.
combineMode UInt8 OR · AND How several active criteria combine: OR takes the union, AND the intersection.
byPattern Bool Select from groups that already exist, or by entity index.
pattern String Groups to take the members of, space-separated. Same syntax as any other group field: a name, a `*` wildcard, `^name` to exclude, a plain index like `5`, or a range like `0-2`. Objects also accept object names and paths. This node's own group is ignored here.
byRange Bool Select a repeating slice of the entities.
range Vector2UInt First number = how many to take, second = how often. So 1 and 3 takes every third entity, 2 and 5 takes the first two of every five. This is a repeating step, not a from-to range: for that, use `pattern`.
byExpression Bool Select with an expression evaluated per entity.
expression Bool A true/false expression run on each entity, e.g. `attrib(.P).y > 0`. True means selected.
byBoundingBox Bool Select what falls inside a box.
boundingBoxMin Vector3 Lower corner of the box, in world space.
boundingBoxMax Vector3 Upper corner of the box, in world space.
byBoundingObject Bool Select what falls inside the shape plugged into input 1. Triangle meshes use a real inside test; anything else uses its bounding box.
edgeBoundingMode UInt8 CENTER · BOTH_ENDS · EITHER_END How an edge is tested against the box or the bounding object: by its centre, or by requiring both of its ends.
byUnshared Bool Select boundary edges: the ones with a single primitive on them. These are the open edges of a surface.
byNonManifold Bool Select edges shared by more than two primitives.
byCrease Bool Select interior edges that bend sharply.
creaseAngle Float How sharp the bend has to be, in degrees. Only edges above this angle are selected.
byConvexity Bool Select edges of one bend direction. CAD surfaces only.
convexity UInt8 CONVEX · CONCAVE · FLAT Which bend direction to keep: convex (an outer edge), concave (an inner corner) or flat.
byNormal Bool Select primitives facing a given direction.
normal Vector3 The direction to face.
angle Float How far a primitive may point away from that direction and still count, in degrees.
byArea Bool Select primitives by their area.
areaMode UInt8 SMALLER · LARGER Keep the primitives SMALLER or LARGER than the threshold.
area Float The area threshold.
byName Bool Select objects by name.
name String Object names to match. `*` and `?` are wildcards, `^name` excludes, e.g. `box* ^boxTemp`. A plain name matches exactly.
byGeometryType Bool Select objects by what kind of geometry they hold.
geometryType UInt8 UNDEFINED · POINT · SEGMENT · TRIANGLE · QUAD · TETRAHEDRON · HEXA · MANIFOLD_2D · MANIFOLD_3D · CAD_SHAPE · VOLUME · NURBS_CURVE · NURBS_SURFACE · BREP · VOXEL · SDF_3D · SDF_2D The geometry kind to match.

See also

This page is generated from the engine, so it describes the release you can download. The same text is in the editor's Help panel next to the node itself.