Basic Group Operations

Geometry Groups

The command syntax to create or modify a group is:

Group ["name" | <id>] Add <list of topology entities>

For example, the command,

group "exterior" add surface 1 to 2, curve 3 to 5

will create the group named Exterior consisting of the listed topological entities. Any of the commands that can be applied to the "regular" topological entities can also be applied to groups. For example, mesh Exterior , list Exterior , or draw Exterior .

Elements may specified by name as well. For example, the command

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

will add the surfaces named 'bill' 'john' and 'fred' to 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' add surface with name '*bill*'

A topological entity can be removed from a group using the command:

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

The Xor operation can also be performed on entities in group. Xor means if an entity is already in the group, the command will delete this entity from the group. If it is not in the group, the entity is then added to the group.

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

The Equals operation assigns the group to be exactly the same as the list given. All other existing members of the group will be removed.

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

Group Booleans

Groups may also be created from existing groups by using boolean operations. Each of these commands will create a new group that contains entities from two existing groups. The intersect command will create a new group that contains elements common to both existing groups. The unite command will contain entities that exist in either group. The subtract command will remove entities that are common to both groups and create a new group from entities that exist in exactly one of the groups.

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>

Mesh Groups

Groups may also contain mesh entities. The commands for adding and removing mesh entities are analogous to those for geometric entities.

Group ["name" | <id>] Add {Hex|Face|Edge|Node <id_list>}

Group ["name" | <id>] Remove {Hex|Face|Edge|Node <id_list>}

Group ["name" | <id>] Xor {Hex|Face|Edge|Node <id_list>}

Group Transformations and Copy

The contents of a group can be transformed with the group transform commands. The group itself is not copied, only the contents. This is especially helpful for transforming groups of free mesh elements, where no geometry is associated. If the optional copy keyword is provided, the geometric entities in the group will be copied before being transformed. If the group contains geometric entities that are meshed, the mesh will also be copied and transformed, unless the optional nomesh keyword is specified. Child entities (i.e. vertices, curves, or surfaces attached to a volume) cannot be transformed using this command, unless the parent entity (for example, an adjacent volume) is also contained in the group. However, any child entity can be copied and transformed. In addition, all merged partners must be contained in the group. Only geometric entities in a group will be copied with these commands. Mesh entities in groups will not be copied. The copy keyword is ignored if the group contains mesh entities. Similarly, a group that contains mesh entities associated to geometry cannot be transformed.

Group {<'name'>|<id>} [Copy [nomesh]] [Move <dx> <dy> <dz>]

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

Group {<'name'>|<id>} [Copy [nomesh]] [Move <direction> [distance]]

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

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

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

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

Group {<'name'>|<id>} [Copy [nomesh]] [Rotate <angle> About Vertex <Vertex_id1> <Vertex_id2>]

Group {<'name'>|<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 delete the group specified and all of its contained groups recursively.

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.