*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.
Example
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
if { [ catch {command_name...} ] } {
# Handle error
}
Version History
12.0