*midmesh_repair
Provides various modes/operators to edit midmeshes.
Syntax
*midmesh_repair mode string_array number_of_strings
Type
HyperMesh Tcl Modify Command
Description
This command provides various modes/operators to edit midmeshes. This command assumes the midmesh will be in single component, and the topology is well defined by 1d elements which are also in single component other than the midmesh component.
Inputs
- mode
- The midmesh mode/operator to use.
- string_array
- The ID of the string array that contains the additional optional input parameters. The string array is created using the *createstringarray command. This should always be set to 1.
- number_of_strings
- Integer indicating the size (number of strings) in string_array.
Examples
AlignEdgeByLines:
*createlist nodes 1 296091 308312 308313 308314 122319
*createlist lines 2 13433 13711
*createstringarray 2 "NodeList = 1" "LineList = 2"
*midmesh_repair AlignEdgeByLines 1 2
AlignEdgeToMidOfLines:
*createlist nodes 1 104348 104350
*createlist lines 1 3770
*createlist lines 2 3098
*createstringarray 3 "NodeList = 1" "LineList1 = 1" "LineList2 = 2"
*midmesh_repair AlignEdgeToMidOfLines 1 3
AlignFace:
*createmark elements 1 775184-775196 775198-775221
*createmark surfaces 1 4458
*createstringarray 4 "Elemmark = 1" "Surfmark = 1" "UseOffset = 2" "lockBoundaryNodes = 1"
*midmesh_repair AlignFace 1 4
AlignTEdge:
*createmark elements 2 641791 641801 641812 641819 641828 641839 641853
*createmark surfaces 1 4458
*createstringarray 2 "a1DElemmark = 2" "Surfmark = 1"
*midmesh_repair AlignTEdge 1 2
AlignToMid:
*createmark elements 1 641791 641801 641812 641819 641828 641839 641853
*createmark surfaces 1 6945 6940
*createmark surfaces 2 4746 4731
*createstringarray 3 "ElemMark = 1" "Surf1Mark = 1" "Surf2Mark = 2"
*midmesh_repair AlignToMid 1 3
CreateMidEdge:
*createstringarray 3 "Node1 = 393803" "Node2 = 397834" "ElementSize = 2"
*midmesh_repair CreateMidEdge 1 3
CreateMidEdgeByLines:
*createmark lines 1 6825
*createmark lines 2 8525
*createstringarray 6 "Node1 = 327644" "Node2 = 327650" "Lines1Mark = 1" "Lines2Mark = 2" "ElementSize = 2"
*midmesh_repair CreateMidEdgeByLines 1 6
DetectIntersections:
*createmark elements 1 723914 781519
*createstringarray 2 "ElementMark = 1"
*midmesh_repair DetectIntersections 1 2
FillLoop:
*createmark elements 2 946766 946784 946816-946821
*createstringarray 2 "ElemMark = 2""delete1D = 0"
*midmesh_repair FillLoop 1 2
RepairFace:
*createmark elements 1 723914 781519
*createstringarray 2 "ElementMark = 1" "ElementSize = 2"
*midmesh_repair RepairFace 1 2
SplitByNodeEdge (mode 2):
*createmark elements 1 644746 765688-765716
*createstringarray 3 "NodeId = 375350" "a1DElemMark = 1" "Mode = 2"
*midmesh_repair SplitByNodeEdge 1 3
SplitByNodeEdge (mode 4):
*createmark elements 1 644746
*createstringarray 3 "NodeId = 375350" "a1DElemMark = 1" "Mode = 4" "SplitPoint = 368.227914 -3524.695550 703.658554"
*midmesh_repair SplitByNodeEdge 1 4
SplitByNodes:
*createstringarray 2 "SourceNode=363142" "TargetNode=363179"
*midmesh_repair SplitByNodes 1 2
Errors
if { [ catch {command_name...} ] } {
# Handle error
}
Version History
2019
2019.1 - CreateMidEdge now linearly interpolates between the selected nodes. The CreateMidEdgeWithLines Lines1Mark and Lines2Mark selections are now optional. The behaivor now depends on which, if any, lines marks are populated.
2020.1 - Added new mode values AlignToMid and AlignToMidOfLines. RepairFace now reevaluates created sets for changes. Added new SplitByNodeEdge mode value 4 and new option SplitPoint.