*feature_replace

Geometrically replaces a selection of surfaces with a second selection of surfaces, reconnecting the new surfaces to the rest of the original surfaces according to the original connections.

Syntax

*feature_replace source_entity_type source_mark_id target_entity_type target_mark_id double_array number_of_doubles tolerance keep_source

Type

HyperMesh Tcl Modify Command

Description

This command geometrically replaces a selection of surfaces with a second selection of surfaces, reconnecting the new surfaces to the rest of the original surfaces according to the original connections.

In this command, a part of the boundary of the source surfaces, after transformation by the input transformation matrix, is assumed to be matching with a part of the boundary of the target surfaces, within a given tolerance. This command checks and finds the matching boundary edges between the source and target surfaces. Then, the target surfaces are replaced by a transformed copy of the source surfaces. The connections with the other surfaces along the matching boundary are preserved according to the original connections. The new surfaces are put in the same component as the target surfaces. If some of the target surfaces are part of a solid, those solids are recreated after replacement if the new configuration forms a closed volume/volumes that allow creation of solids. If the source surfaces contain solids, those solids are also maintained in the replacement.

Inputs

source_entity_type
The source entity types. Valid values are surfs.
source_mark_id
The mark ID containing the source entities. Valid values are 1 and 2.
target_entity_type
The target entity types. Valid values are surfs.
target_mark_id
The mark ID containing the target entities. Valid values are 1 and 2.
double_array
The double array ID that contains the 4x4 transformation matrix. The double array is created using the *createdoublearray command. This should always be set to 1.
number_of_doubles
Integer indicating the size (number of doubles) in the double array created using *createdoublearray. This should always be set to 16.
tolerance
The tolerance used for edge stitching.
keep_source
0 - Keep source surfaces after replacement.
1 - Delete source surfaces after replacement.

Example

To replace target surfaces 4, 19 and 25 with source surfaces 7, 9, 10, 33 and 34 with a tolerance of 0.5, and using a transformation matrix which is a translation of 20 units in the z-direction only:
1.0  0.0  0.0  0.0
0.0  1.0  0.0  0.0
0.0  0.0  1.0  0.0
0.0  0.0  20.0 1.0

*createmark surfs 1 7 9 10 33 34  
*createmark surfs 2 4 19 25 
*createdoublearray 16 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 20.0 1.0 
*feature_replace surfs 1 surfs 2 1 16 0.5 0

Errors

Incorrect usage results in a Tcl error. To detect errors, you can use the catch command:
if { [ catch {command_name...} ] } {
   # Handle error
}

Version History

12.0