hm_markbyfeature
Selects geometric entities by feature-based parameters.
Syntax
hm_markbyfeature input_mark_id output_mark_id param_string
Type
HyperMesh Tcl Query Command
Description
Put entities on the specified output mark based on entities on the input mark selection and specified feature parameters.
Inputs
- input_mark_id
- The ID of the input mark. Valid values are 1 and 2.
- output_mark_id
- The ID of the output mark to put the entities selected by feature. Valid values are 1 and 2.
- param_string
- This string contain keyword/value pairs, separated by whitespace. Valid keywords are:
- feature_mode
- This is mandatory input parameter. Valid values are:
- 1 - Put on output mark lines representing circles. Input mark entity type is lines.
- 2 - Put on output mark lines representing circles. Input mark entity type is surfaces.
- 3 - Put on output mark surfaces representing cylinders. Input mark entity type is surfaces.
- 4 - Put on output mark surfaces representing fillets. Input mark entity type is surfaces.
- 5 - Put on output mark surfaces representing valve seats. Input mark entity type is surfaces.
- 6 - Put on output mark surfaces that contain internal discontinuities and high curvature areas. Input mark entity type is surfaces.
- min_radius (optional)
- This parameter filters output lines or surfaces by minimal curvature radius. Valid values are any value > 0.0, or a value < 0.0 to specify any radius.
- max_radius (optional)
- This parameter filters output lines or surfaces by maximal curvature radius. Valid values are any value > 0.0, or a value < 0.0 to specify any radius.
- internal_only (optional)
- Used only for feature_mode 1 or 2. If set to 1, all outer circles on surfaces will be excluded from the output.
- closed_cylinder (optional)
- Used only for feature_mode 3. If set to 1, all non closed cylinder surfaces will be excluded from the output.
- valve_output (optional)
- Used only for feature_mode 5. If set to 1, all surfaces representing the cylinder part of a valve seat will be excluded from the output.
Examples
To put on mark 2 all lines representing circles with radius between 1.0 and 15.0:
*createmark lines 1 all
hm_markbyfeature 1 2 "feature_mode 1 min_radius 1.0 max_radius 15.0"
To put on mark 2 all surfaces representing closed cylinders with any radius:
*createmark surfaces 1 all
hm_markbyfeature 1 2 "feature_mode 3 closed_cylinder 1 min_radius -1.0"
Errors
if { [ catch {command_name...} ] } {
# Handle error
}
Version History
14.0
2019 - Added new feature_mode value 6.