*trim_shell_elems_by_shell_elems

Trim 2D elements with 2D elements along their intersection lines, and remove small penetrating parts of elements between the intersection lines and free element edges.

Syntax

*trim_shell_elems_by_shell_elems entity_type mark_id trimmer_entity_type trimmer_mark_id param_string

Type

HyperMesh Tcl Modify Command

Description

Trim 2D elements with 2D elements along their intersection lines, and remove small penetrating parts of elements between the intersection lines and free element edges. If some elements get trimmed, the elements along the cutting lines are re-generated.

Inputs

entity_type
The type of entity taking part in the mesh trimming. Valid values are elems and comps.
mark_id
The ID of the mark containing the entities taking part in the mesh trimming. Valid values are 1 and 2.
trimmer_entity_type
The type of entity to use as the trimmer. Valid values are elems and comps.
If specified, these elements are only used in the intersection calculation and are not trimmed themselves. Entities belonging to mark_id, but not trimmer_mark_id, may be trimmed, if required.
If not specified, all entities on mark_id are mutually trimmed as required.
trimmer_mark_id.
The ID of the mark containing the entities to use as the trimmer. Valid values are 1 and 2.
param_string.
This string contain keyword/value pairs, separated by whitespace. Valid keywords are:
angle
Defines the mesh feature angle to use. If not specified, a default of 30.0 is used.
break_shell_along_component_boundaries
Input elements are distributed into groups based on their connectivity. Only are different groups taken as counterparts of the intersection calculation.
  • 0 - Do not break element groups at component boundaries (default).
  • 1 - Break element groups at component boundaries.
min_elem_size_rate
Defines the minimum element size locally. The valid value range is between 0.0 and 1.0.
The minimum element size is calculated locally on the mesh area being re-meshed. The element size is computed for the mesh area and the minimum element size is then the product of this value and the element size of the area.
If min_elem_size_value is also defined, min_elem_size_value is ignored. If neither min_elem_size_rate nor min_elem_size_value are defined, min_elem_size_rate 0.4 is used.
min_elem_size_value
Defines the minimum element size globally.
If min_elem_size_rate is also defined, min_elem_size_value is ignored. If neither min_elem_size_rate nor min_elem_size_value are defined, min_elem_size_rate 0.4 is used.
remove_internal_shell
  • 0 - Do not remove internal elements when selected elements form two or more watertight shells.
  • 1 - Remove internal elements when selected elements form two or more watertight shells (default).
trim_removal_limit
Defines the maximum distance between the intersection lines and free element edges in the isolated parts to be removed. A penetration part consists of a group of connected elements with only intersecting or free edges as boundaries.

Example

To trim all displayed components with each other, using a maximum trim value of 50.0, along with other basic options:

*createmark comps 1 displayed
*createmark comps 2 ""
*trim_shell_elems_by_shell_elems comps 1 comps 2 "remove_internal_shell 1 min_elem_size_rate 0.4 trim_removal_limit 50.0 
break_shell_along_component_boundaries 0 angle 30.000000"

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

14.0