# Mesh ```{eval-rst} .. py:class:: MentatMeshTool3D: :nocontentsentry: .. py:attribute:: OptionMeshType :nocontentsentry: Control: Select the mesh control type. :type: Enumerate: { TetraMaxVol, TetraLengthEdges, HexaLengthEdges, ExtrudeSurface, RevolveSurface, Parasolid3D } .. py:attribute:: ParameterMesh :nocontentsentry: Parameters: Mesh parameters. :type: MeshParasolid3D ``` ```{eval-rst} .. py:class:: MeshParasolid3D: :nocontentsentry: .. py:attribute:: EType :nocontentsentry: Element Type. :type: Enumerate: { POINT, LINE, LINE3, TRIA, TRIA6, QUAD, QUAD8, POLYGON, TETRA, TETRA10, PENTA, PENTA15, HEX8, HEX20, HYBRID, PYRAM5, PYRAM13, UNDEFINED } .. py:attribute:: IsAutomatic :nocontentsentry: Automatic: Element size is calculated autmatically. :type: bool .. py:attribute:: SizeEdges :nocontentsentry: Edges size: Maximum size for the edges. | Constraints: Conditions: Value must be greater than 0. :type: Double .. py:attribute:: Tol :nocontentsentry: Tolerance merge. | Constraints: Conditions: Value must be greater or equal than 0. :type: Double .. py:attribute:: CurvatureCheck :nocontentsentry: Curvature check. :type: bool .. py:attribute:: InternalCoarsening :nocontentsentry: Internal coarsening. :type: bool .. py:attribute:: ShortEdges :nocontentsentry: Short edges: Activate to collapse short edges. :type: bool .. py:attribute:: Extension :nocontentsentry: Export format: Activate to change the export geometry from STEP to IGES format. :type: bool .. py:attribute:: DirectApproach :nocontentsentry: Direct approach: Create parasolid geometry to mesh by direct approach. :type: bool ``` ```{eval-rst} .. py:class:: MentatMeshTool2D: :nocontentsentry: .. py:attribute:: OptionMeshType :nocontentsentry: Control: Select the mesh control type. :type: Enumerate: { MaxArea, LengthEdges, QuadNumDiv, Automatic2D, Parasolid2D, LocalMesh2DEdgeLength } .. py:attribute:: ParameterMesh :nocontentsentry: Parameters: Mesh parameters. :type: MeshParasolid2D ``` ```{eval-rst} .. py:class:: MeshParasolid2D: :nocontentsentry: .. py:attribute:: EType :nocontentsentry: Element Type. :type: Enumerate: { POINT, LINE, LINE3, TRIA, TRIA6, QUAD, QUAD8, POLYGON, TETRA, TETRA10, PENTA, PENTA15, HEX8, HEX20, HYBRID, PYRAM5, PYRAM13, UNDEFINED } .. py:attribute:: IsAutomatic :nocontentsentry: Automatic: Element size is calculated autmatically. :type: bool .. py:attribute:: SizeEdges :nocontentsentry: Edges size: Maximum size for the edges. | Constraints: Conditions: Value must be greater than 0. :type: Double .. py:attribute:: Tol :nocontentsentry: Tolerance merge. | Constraints: Conditions: Value must be greater or equal than 0. :type: Double .. py:attribute:: CurvatureCheck :nocontentsentry: Curvature check. :type: bool .. py:attribute:: Extension :nocontentsentry: Export format: Activate to change the export geometry from STEP to IGES format. :type: bool .. py:attribute:: DirectApproach :nocontentsentry: Direct approach: Create parasolid geometry to mesh by direct approach. :type: bool ``` ```{eval-rst} .. py:function:: changeElementsSE(SE1, SE2) :nocontentsentry: Changes the elements used by a structural element | Constraints: Mesh :param SESolid3D SE1: Struct. Elem. 1: First structural element. The nodes of this structural element will remain unchanged.. Conditions: The input must be non-empty. "" does not exist in the dropdown list. :param List SE2: Struct. Elem. 2: Second structural element. Conditions: "" does not exist in the dropdown list. ``` ```{eval-rst} .. py:function:: changeElementType(ElementType) :nocontentsentry: Element type: Choose the type of the elements that will be used for meshing | Alias: elementType :param Enumerate: { Linear, Quadratic } ElementType: Type of elements that will be used for meshing. ``` ```{eval-rst} .. py:function:: checkMesh(SE, MetricType, MinArea, MaxArea) :nocontentsentry: Check mesh: | Constraints: User interface :param SESolid3D SE: Struct. Elem: Structural element. Conditions: "" does not exist in the dropdown list. :param MetricType: Metric type. :param MinArea: Min. value of area: Minimum value of area. :param MaxArea: Max. value of area: Maximum value of area. ``` ```{eval-rst} .. py:function:: checkMesh(SE, MetricType, MinMinAngle, MaxMinAngle) :nocontentsentry: Check mesh: | Constraints: User interface :param SESolid3D SE: Struct. Elem: Structural element. Conditions: "" does not exist in the dropdown list. :param MetricType: Metric type. :param MinMinAngle: Min. value of minimum angle: Minimum value of minimum angle. :param MaxMinAngle: Max. value of minimum angle: Maximum value of minimum angle. ``` ```{eval-rst} .. py:function:: checkMesh(SE, MetricType, MinMaxAngle, MaxMaxAngle) :nocontentsentry: Check mesh: | Constraints: User interface :param SESolid3D SE: Struct. Elem: Structural element. Conditions: "" does not exist in the dropdown list. :param MetricType: Metric type. :param MinMaxAngle: Min. value of maximum angle: Maximum value of maximum angle. :param MaxMaxAngle: Max. value of maximum angle: Maximum value of maximum angle. ``` ```{eval-rst} .. py:function:: checkMesh(SE, MetricType, MinAspectRatio, MaxAspectRatio) :nocontentsentry: Check mesh: | Constraints: User interface :param SESolid3D SE: Struct. Elem: Structural element. Conditions: "" does not exist in the dropdown list. :param MetricType: Metric type. :param MinAspectRatio: Min. value of aspect ratio: Minimum value of aspect ratio. :param MaxAspectRatio: Max. value of aspect ratio: Maximum value of aspect ratio. ``` ```{eval-rst} .. py:function:: checkMesh(SE, MetricType, MinEdgeRatio, MaxEdgeRatio) :nocontentsentry: Check mesh: | Constraints: User interface :param SESolid3D SE: Struct. Elem: Structural element. Conditions: "" does not exist in the dropdown list. :param MetricType: Metric type. :param MinEdgeRatio: Min. value of edge ratio: Minimum value of edge ratio. :param MaxEdgeRatio: Max. value of edge ratio: Minimum value of edge ratio. ``` ```{eval-rst} .. py:function:: checkMesh(SE, MetricType, MinWarpage, MaxWarpage) :nocontentsentry: Check mesh: | Constraints: User interface :param SESolid3D SE: Struct. Elem: Structural element. Conditions: "" does not exist in the dropdown list. :param MetricType: Metric type. :param MinWarpage: Min. value of warpage: Minimum value of warpage. :param MaxWarpage: Max. value of warpage: Maximum value of warpage. ``` ```{eval-rst} .. py:function:: checkMesh(SE, MetricType, MinJacobian, MaxJacobian) :nocontentsentry: Check mesh: | Constraints: User interface :param SESolid3D SE: Struct. Elem: Structural element. Conditions: "" does not exist in the dropdown list. :param MetricType: Metric type. :param MinJacobian: Min. value of jacobian: Minimum value of jacobian. :param MaxJacobian: Max. value of jacobian: Maximum value of jacobian. ``` ```{eval-rst} .. py:function:: checkMesh(SE, MetricType, MinVolume, MaxVolume) :nocontentsentry: Check mesh: | Constraints: User interface :param SESolid3D SE: Struct. Elem: Structural element. Conditions: "" does not exist in the dropdown list. :param MetricType: Metric type. :param MinVolume: Min. value of volume: Minimum value of volume. :param MaxVolume: Max. value of volume: Maximum value of volume. ``` ```{eval-rst} .. py:function:: checkMesh(SE, MetricType, MinShape, MaxShape) :nocontentsentry: Check mesh: | Constraints: User interface :param SESolid3D SE: Struct. Elem: Structural element. Conditions: "" does not exist in the dropdown list. :param MetricType: Metric type. :param MinShape: Min. value of shape: Minimum value of shape. :param MaxShape: Max. value of shape: Maximum value of shape. ``` ```{eval-rst} .. py:function:: checkMesh(SE, MetricType, MinDihedralAngle, MaxDihedralAngle) :nocontentsentry: Check mesh: | Constraints: User interface :param SESolid3D SE: Struct. Elem: Structural element. Conditions: "" does not exist in the dropdown list. :param MetricType: Metric type. :param MinDihedralAngle: Min. value of dihedral angle: Minimum value of dihedral angle. :param MaxDihedralAngle: Max. value of dihedral angle: Maximum value of dihedral angle. ``` ```{eval-rst} .. py:function:: checkMesh(SE, MetricType, MinArea, MaxArea, MinMinAngle, MaxMinAngle, MinMaxAngle, MaxMaxAngle, MinEdgeRatio, MaxEdgeRatio) :nocontentsentry: Check mesh: | Constraints: User interface :param SESolid3D SE: Struct. Elem: Structural element. Conditions: "" does not exist in the dropdown list. :param MetricType: Metric type. :param MinArea: Min. value of area: Minimum value of area. :param MaxArea: Max. value of area: Maximum value of area. :param MinMinAngle: Min. value of minimum angle: Minimum value of minimum angle. :param MaxMinAngle: Max. value of minimum angle: Maximum value of minimum angle. :param MinMaxAngle: Min. value of maximum angle: Maximum value of maximum angle. :param MaxMaxAngle: Max. value of maximum angle: Maximum value of maximum angle. :param MinEdgeRatio: Min. value of edge ratio: Minimum value of edge ratio. :param MaxEdgeRatio: Max. value of edge ratio: Minimum value of edge ratio. ``` ```{eval-rst} .. py:function:: checkMesh(SE, MetricType, MinEdgeRatio, MaxEdgeRatio, MinJacobian, MaxJacobian, MinVolume, MaxVolume, MinShape, MaxShape) :nocontentsentry: Check mesh: | Constraints: User interface :param SESolid3D SE: Struct. Elem: Structural element. Conditions: "" does not exist in the dropdown list. :param MetricType: Metric type. :param MinEdgeRatio: Min. value of edge ratio: Minimum value of edge ratio. :param MaxEdgeRatio: Max. value of edge ratio: Minimum value of edge ratio. :param MinJacobian: Min. value of jacobian: Minimum value of jacobian. :param MaxJacobian: Max. value of jacobian: Maximum value of jacobian. :param MinVolume: Min. value of volume: Minimum value of volume. :param MaxVolume: Max. value of volume: Maximum value of volume. :param MinShape: Min. value of shape: Minimum value of shape. :param MaxShape: Max. value of shape: Maximum value of shape. ``` ```{eval-rst} .. py:function:: checkMesh(SE, MetricType, MinEdgeRatio, MaxEdgeRatio, MinJacobian, MaxJacobian, MinVolume, MaxVolume, MinShape, MaxShape, MinAspectRatio, MaxAspectRatio, MinDihedralAngle, MaxDihedralAngle) :nocontentsentry: Check mesh: | Constraints: User interface :param SESolid3D SE: Struct. Elem: Structural element. Conditions: "" does not exist in the dropdown list. :param MetricType: Metric type. :param MinEdgeRatio: Min. value of edge ratio: Minimum value of edge ratio. :param MaxEdgeRatio: Max. value of edge ratio: Minimum value of edge ratio. :param MinJacobian: Min. value of jacobian: Minimum value of jacobian. :param MaxJacobian: Max. value of jacobian: Maximum value of jacobian. :param MinVolume: Min. value of volume: Minimum value of volume. :param MaxVolume: Max. value of volume: Maximum value of volume. :param MinShape: Min. value of shape: Minimum value of shape. :param MaxShape: Max. value of shape: Maximum value of shape. :param MinAspectRatio: Min. value of aspect ratio: Minimum value of aspect ratio. :param MaxAspectRatio: Max. value of aspect ratio: Maximum value of aspect ratio. :param MinDihedralAngle: Min. value of dihedral angle: Minimum value of dihedral angle. :param MaxDihedralAngle: Max. value of dihedral angle: Maximum value of dihedral angle. ``` ```{eval-rst} .. py:function:: checkNodeDist(ToleranceCheck, NodesCheck) :nocontentsentry: Check nodes: Check node distance | Alias: checkNodes :param Double ToleranceCheck: Tolerance: Tolerance to check node distance. Conditions: Value must be greater or equal than 0. :param List NodesCheck: Nodes: Nodes to apply distance check. Conditions: "" does not exist in the dropdown list. ``` ```{eval-rst} .. py:function:: checkNodeDist(ToleranceCheck, SelectionGroup) :nocontentsentry: Check nodes: Check node distance | Alias: checkNodes :param Double ToleranceCheck: Tolerance: Tolerance to check node distance. Conditions: Value must be greater or equal than 0. :param Entity SelectionGroup: Selection group: Selectin group to select entities. Conditions: "" does not exist in the dropdown list. ``` ```{eval-rst} .. py:function:: clearMesh() :nocontentsentry: Clear mesh: Clear the mesh from the model | Constraints: Mesh ``` ```{eval-rst} .. py:function:: createUserNode(NodeCoord) :nocontentsentry: Create node: Creates a user node with a given position | Constraints: Mesh :param Point NodeCoord: Node: Node coordinates. ``` ```{eval-rst} .. py:function:: getElement(ElementGlobalNum) :nocontentsentry: Get element property | Alias: element :param int ElementGlobalNum: Global number of the element. ``` ```{eval-rst} .. py:function:: getElementArea(ElementGlobalNum) :nocontentsentry: Get element area | Alias: elementArea :param int ElementGlobalNum: Global number of the element. ``` ```{eval-rst} .. py:function:: getElementIds() :nocontentsentry: Get elem ID list | Alias: elementIDList ``` ```{eval-rst} .. py:function:: getElementNodesId(ElementGlobalNum) :nocontentsentry: Get Ids of element nodes | Alias: elementNodesId :param int ElementGlobalNum: Global number of the element. ``` ```{eval-rst} .. py:function:: getElementVolume(ElementGlobalNum) :nocontentsentry: Get element volume | Alias: elementVolume :param int ElementGlobalNum: Global number of the element. ``` ```{eval-rst} .. py:function:: getMaxElementId() :nocontentsentry: Get the Maximum Element ID | Alias: maxElementID ``` ```{eval-rst} .. py:function:: getMaxNodeId() :nocontentsentry: Get the Maximum Node ID | Alias: maxNodeID ``` ```{eval-rst} .. py:function:: getNode(NodeGlobalNum) :nocontentsentry: Get node property | Alias: node :param int NodeGlobalNum: Global number of the node. ``` ```{eval-rst} .. py:function:: getNodeCoords(NodeGlobalNum) :nocontentsentry: Get node coordinates | Alias: nodeCoords :param int NodeGlobalNum: Global number of the node. ``` ```{eval-rst} .. py:function:: getNodeIds() :nocontentsentry: Get node ID list | Alias: nodeIDList ``` ```{eval-rst} .. py:function:: getNumElements() :nocontentsentry: Get the Number of Elements | Alias: numberOfElements ``` ```{eval-rst} .. py:function:: getNumNodes() :nocontentsentry: Get the Number of Nodes | Alias: numberOfNodes ``` ```{eval-rst} .. py:function:: getRenderMesh() :nocontentsentry: Creates an object to get data from the rendered mesh :rtype: An object to get data from the rendered mesh ``` ```{eval-rst} .. py:function:: getSEElements(SE) :nocontentsentry: Get SE elements | Alias: SEElements :param SESolid3D SE: Structural element. Conditions: "" does not exist in the dropdown list. ``` ```{eval-rst} .. py:function:: getSEElementsId(SE) :nocontentsentry: Get Ids of SE elements | Alias: SEElementsId :param SESolid3D SE: Structural element. Conditions: "" does not exist in the dropdown list. ``` ```{eval-rst} .. py:function:: getSENodes(SE) :nocontentsentry: Get SE nodes | Alias: SENodes :param SESolid3D SE: Structural element. Conditions: "" does not exist in the dropdown list. ``` ```{eval-rst} .. py:function:: getSENodesId(SE) :nocontentsentry: Get Ids of SE nodes | Alias: SENodesId :param SESolid3D SE: Structural element. Conditions: "" does not exist in the dropdown list. ``` ```{eval-rst} .. py:function:: mergeAllNodes(Tolerance) :nocontentsentry: All nodes: Merge the nodes of all the structural elements :param Double Tolerance: Tolerance: Tolerance allowed for merging two nodes together. Conditions: Value must be greater or equal than 0. ``` ```{eval-rst} .. py:function:: mergeGroupNodes(Tolerance, Nodes) :nocontentsentry: Nodes group: Merge the nodes of a group of nodes or structural elements :param Double Tolerance: Tolerance: Tolerance allowed for merging two nodes together. Conditions: Value must be greater or equal than 0. :param List Nodes: Nodes: Nodes to apply node merge. Conditions: "" does not exist in the dropdown list. ``` ```{eval-rst} .. py:function:: mergeGroupNodes(Tolerance, SelectionGroup) :nocontentsentry: Nodes group: Merge the nodes of a group of nodes or structural elements :param Double Tolerance: Tolerance: Tolerance allowed for merging two nodes together. Conditions: Value must be greater or equal than 0. :param Entity SelectionGroup: Selection group: Selectin group to select entities. Conditions: "" does not exist in the dropdown list. ``` ```{eval-rst} .. py:function:: mergeGroupNodes(Tolerance, Nodes) :nocontentsentry: Nodes group: Merge the nodes of a group of nodes or structural elements :param Double Tolerance: Tolerance: Tolerance allowed for merging two nodes together. Conditions: Value must be greater or equal than 0. :param List Nodes: Nodes: Nodes to apply node merge. Conditions: "" does not exist in the dropdown list. ``` ```{eval-rst} .. py:function:: mergeGroupNodes(Tolerance, SelectionGroup) :nocontentsentry: Nodes group: Merge the nodes of a group of nodes or structural elements :param Double Tolerance: Tolerance: Tolerance allowed for merging two nodes together. Conditions: Value must be greater or equal than 0. :param Entity SelectionGroup: Selection group: Selectin group to select entities. Conditions: "" does not exist in the dropdown list. ``` ```{eval-rst} .. py:function:: mergeNodes(Tolerance, SE1, SE2) :nocontentsentry: 2 Struct. elem.: Merge the nodes of two touching structural elements | Constraints: Mesh :param Double Tolerance: Tolerance: Tolerance allowed for merging two nodes together. Conditions: Value must be greater or equal than 0. :param SESolid3D SE1: Struct. Elem. 1: First structural element. The nodes of this structural element will remain unchanged.. Conditions: The input must be non-empty. "" does not exist in the dropdown list. :param SESolid3D SE2: Struct. Elem. 2: Second structural element. Conditions: The input must be non-empty. "" does not exist in the dropdown list. ``` ```{eval-rst} .. py:function:: mesh() :nocontentsentry: Mesh: Mesh the model ``` ```{eval-rst} .. py:function:: removeUserNodes(entity) :nocontentsentry: Delete: | Constraints: Mesh :param [Entity] entity: Entity/Entities to apply the command ```