Basic Group Operations

Geometry Groups

The common syntax to create or modify a group is to give it a name and a collection of entities:

Group ["name"] Equals <list of entities>

The Equals operation assigns the group to contain the given list. If the group already existed, its prior contents are overwritten. (Once a group is created, it can be refered to by id as well.) Here, entities can be geometry entities, mesh entities, or both. For example, the command,

group "Exterior" equals surface 1 to 2, curve 3 to 5

will create the group named (names are case sensitive). Any command taking entities can also take a group: e.g., mesh Exterior, list Exterior, or draw Exterior.

Geometry entities may specified by name as well. E.g.,

group 'Interior' add surface with name 'bill' 'john' 'fred'

will place the surfaces named 'bill' 'john' and 'fred' in the group Interior.

Wildcards (*) can also be used with names. To add all surfaces with the substring 'bob' in their name, use the command:

group 'interior' equals surface with name '*bill*'

There are a variety of operations for modifying the contents of a group, such as adding or removing entities. These can also be used to create a group from scratch by using a new name.

Group ["name" | <id>] Add <entity list>

Group ["name" | <id>] Remove <entity list>

Group ["name" | <id>] Xor <entity list>

Group Booleans

Groups may also be created from the contents of existing groups by set booleans: Group A boolean B preposition C. These operations will also overwrite the contents of existing groups. The intersect command will create a new group that contains elements common to both groups: A = B ∩ C. The unite command collects entities that exist in either group: A = B ∪ C. The subtract command collect the entities in one group but not the other: A = C ∖ B.

Group {<'name'>|<id>} Intersect Group <id> with Group <id>

Group {<'name'>|<id>} Unite Group <id> with Group <id>

Group {<'name'>|<id>} Subtract Group <id> from Group <id>

Group Copy and Transform

The contents of a group can be copied and transformed (e.g. moved), or simply transformed. (The group itself is not copied, only the contents.) This works only for groups of geometry entities, or groups of free mesh elements without associated geometry. Groups can collect free mesh entities in much the same way as a geometric entity. If the optional copy keyword is provided, the entities in the group will be copied first, and the copy will be transformed. Geometric and mesh groups behave differently. For geometry groups, if the group contains geometric entities that are meshed, the mesh will also be copied and transformed, unless the optional nomesh keyword is specified. You can copy a single surface of a volume, but you cannot move just it, because geometric entities cannot be transformed unless the parent entity is also. In addition, all merged partners must be contained in the group. However, any geometric entity can be copied and transformed. For mesh groups, transforming the nodes will implicitly transform the elements containing those nodes. The copy keyword is ignored if the group contains mesh entities. These types of mesh groups can only contain free mesh entities; for copying and transforming mesh associated to geometry, use a geometry group. (In the following, recall that an existing group name can always be used in place of 'Group <id>'.)

Group <id> [Copy [nomesh]] [Move <dx> <dy> <dz>]

Group <id> [Copy [nomesh]] [Move {x|y|z} <distance>...]

Group <id> [Copy [nomesh]] [Move <direction> [distance]]

Group <id> [Copy [nomesh]] [Reflect {x|y|z}]

Group <id> [Copy [nomesh]] [Reflect <x> <y> <z>]

Group <id> [Copy [nomesh]] [Rotate <angle> About {x|y|z}]

Group <id> [Copy [nomesh]] [Rotate <angle> About <x> <y> <z>]

Group <id> [Copy [nomesh]] [Rotate <angle> About Vertex <Vertex_id1> <Vertex_id2>]

Group <id> [Copy [nomesh]] [Scale <scale> | x <val> y <val> z <val>]

Deleting Groups

Groups can be deleted with the following command:

Delete Group <id range> [Propagate]

The option propagate will also delete any contained groups, recursively. That is, if group A contains group B and group B contains group C, then Delete Group A Propagate will delete groups A, B, and C.

Cleaning Out Groups

You can remove all of the entities in a group via the cleanout command:

Group <group_id_range> Cleanout [Geometry|Mesh] [Propagate]

By default all entities will be removed - optionally you can cleanout just geometry or mesh entities. As in delete, the propagate option will cleanout the group specified and all of its contained groups recursively.