*midsurface_extract_10

Extracts mid-surfaces from a selection of surfaces or solids.

Syntax

*midsurface_extract_10 entity_type mark_id outbound_normals thickness_bound align_steps extract_by_comp rerun_type stitch_tol_mode max_R_t_ratio reserved_1 reserved_2 max_thickness_ratio min_thickness max_thickness mid_position reserved_3 reserved_4 reserved_5 new_or_curr_comp

Type

HyperMesh Tcl Modify Command

Description

This command extracts mid-surfaces from a selection of surfaces or solids.

Inputs

entity_type
The type of entity selected for mid-surface extraction. Valid values are surfaces and solids.
mark_id
The ID of the mark containing the input entities.
outbound_normals
If entity_type is surfaces:
  • -1 - If surfaces selected on mark_id form a closed solid (but entity_type parameter is not set to solid). In this case the surfaces will be re-oriented, if needed, to have the normals go outside the solid they form.
  • 0 - If the normals go inside the selected surfaces.
  • 1 - If the normals go outside the selected surfaces.
If entity_type is solids:
  • 3 - The parameter must be set to this value.
thickness_bound
Limits on midsurface thickness:
0 - No limit. Max ratio set using max_thickness_ratio.
1 - User-defined thickness limits. Limits set using min_thickness and max_thickness.
align_steps
Determines how steps are aligned for solids with discrete sections. This parameter also determines whether any specified base surfaces are taken into account when constructing the middle surface. If the values are 0, 1, or 2, the base surfaces are not used. In order to take the base surfaces into account, the value should be increased by 3.
0 - Steps are not aligned at the thickness jumps (jumps maintained). Base surfaces will not be used.
1 - Steps aligned at the thickness jumps. Mid-surface position set automatically. Base surfaces will not be used.
2 - Steps aligned at the thickness jumps. Mid-surface position set using mid_position. Base surfaces will not be used.
3- Steps are not aligned at the thickness jumps (jumps maintained). Base surfaces specified by you will be taken into account.
4 - Steps aligned at the thickness jumps. Mid-surface position set automatically. Base surfaces specified by you will be taken into account.
5 - Steps aligned at the thickness jumps. Mid-surface position set using mid_position. Base surfaces specified by you will be taken into account.
extract_by_comp
0 - Extraction of the mid-surfaces can occur between any matching pair of the surfaces.
1 - Extraction of the mid-surfaces can occur only between the surfaces that belong to the same component.
Adding 10 to this value will result in the input geometry components maintaining their original transparency.
Adding 100 to this value will result in creating plate information only, without midsurfaces.
rerun_type
Used to specify one of the mid-surface extraction methods: offset, offset+planes, offset+planes+sweeps or skin offset.
0 - Extracts the mid-surface using the "offset" method.
1 - Extracts the mid-surface using the "offset" method, and at the same time copies the lines that collapsed into "Collapsed Lines" component.
2 - Extracts the mid-surface using the "offset" method, by collapsing only the lines that are in the "Collapsed Lines" and "Just added Collapsed Lines" components. Additionally, it moves lines from "Just added Collapsed Lines" component into "Collapsed Lines" component.
3 - Extracts the mid-surface using the "offset+planes" method.
4 - Extracts the mid-surface using the "offset+planes" method, and at the same time copies the lines that collapsed into "Collapsed Lines" component.
5 - Extracts the mid-surface using the "offset+planes" method, by collapsing only the lines that are in the "Collapsed Lines" and "Just added Collapsed Lines" components. Additionally, it moves lines from "Just added Collapsed Lines" component into "Collapsed Lines" component.
6 - Extracts the mid-surface using the "skin offset" method.
9 - Extracts the mid-surface using the "offset+planes+sweeps" method.
10 - Extracts the mid-surface using the "offset+planes+sweeps" method, and at the same time copies the lines that collapsed into "Collapsed Lines" component.
11 - Extracts the mid-surface using the "offset+planes+sweeps" method, by collapsing only the lines that are in the "Collapsed Lines" and "Just added Collapsed Lines" components. Additionally, it moves lines from "Just added Collapsed Lines" component into "Collapsed Lines" component.
stitch_tol_mode
Defines the mode for performing mid-surface stitching. Valid values are:
0 - Final stitching of the mid-surfaces is performed using a local tolerance of 1/5 of the local surface thickness (default in prior versions).
1 - Final stitching of the mid-surfaces is performed using the geometry cleanup tolerance. This is recommended when extensive manual editing of the auto mid-surfacing result is expected, because having "far" stitching may misrepresent the geometry of the model and affect subsequent geometry operations.
max_R_t_ratio
This is a ratio between the fillet radius and plate thickness analyzed at T, X and similar junctions. If the calculated ratio is greater than this parameter, the fillet does not collapse. In previous releases the ratio was a default value of 2 and could not be changed.
reserved_1
Reserved for future development. Value = 0.
reserved_2
Reserved for future development. Value = 0.
max_thickness_ratio
This is a ratio between a plate thickness found during the midsurfacing and the minimum plate thickness found during the midsurfacing.  If the ratio is exceeded the corresponding midsurface will be ignored. The parameter is used  when thickness_bound is 0. It can be any real number > 1.
min_thickness
Sets the minimum plate thickness bound. This parameter is used when thickness_bound is 1. It can be any real number ≥ 0.
max_thickness
Sets the maximum plate thickness bound. This parameter is used when thickness_bound is 1. It can be any real number > min_thickness.
mid_position
Sets the midsurface position for step alignment case when align_steps is set to 2. This can be any number between 0 and 1.
reserved_3
Reserved for future development. Value = undefined.
reserved_4
Reserved for future development. Value = 0.
reserved_5
Reserved for future development. Value = 0.
new_or_curr_comp
1 - Midsurface will be created in a new component named "Middle Surface".
3 - Midsurface will be created in Original input components.
6 - Midsurface will be created in Original.# component.
7 - Midsurface will be created in Original.# component prefixed with “Midsurface_”.
16 - Midsurface will be created in a new component under a new part hierarchy.
17 - Midsurface will be created in a new component under a new part hierarchy prefixed with “Midsurface_”.
20 - Midsurface will be created in the current component.

Example

To extract the midsurface of solids ID 5 through 7, no thickness bounds, align the steps at 0.39, only extract surfaces between the same component, max thickness ratio of 10, and organize them into the "Middle Surface" component:

*createmark solids 1 5 6 7
*midsurface_extract_10 solids 1 3 0 2 1 0 0 2 10 0 0 0.39 undefined 0 0 1

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

10.0

2020 - Added new value 100 to extract_by_comp.

2024 - Added new new_or_curr_comp values 3, 6, 7, 16, 17, and 20 and removed new_or_curr_comp values 0, -1, -2, -3, -4, and -5.