*multi_surfs_lines_merge

Merge selected set of surfaces into topologically valid body, optionally using input free lines to create additional trim lines on surfaces.

Syntax

*multi_surfs_lines_merge surf_mark_id line_mark_id options ?tolerance?

Type

HyperMesh Tcl Modify Command

Description

This command takes input surfaces, finds intersections between them, creates trimming lines at the intersections, and equivalences the resulting surface edges; thus creating a topologically valid body from possibly overlapping surfaces.

Optionally, a set of lines specified by selection mark line_mark_id can be used to create additional edges on selected surfaces within proximity of those lines. The tolerance value is used to calculate proximity and equivalence between edges.

Inputs

surf_mark_id
The ID of the mark containing the input surfaces.
line_mark_id
The ID of the mark containing the optional input lines. If not used, set to 0.
options
Reserved for future use. Must be set to 0.
tolerance
The proximity tolerance value. If not set, the value of global cleanup tolerance is used.

Example

To find intersections and merge surfaces with IDs 30 and 31 into a single body:

*createmark surfs 1 30 31
*multi_surfs_lines_merge 1 0 0

To find intersections and merge all displayed surfaces into a single body.

*createmark surfs 1 "displayed"
*multi_surfs_lines_merge 1 0 0
To trim surface with ID 31 by free line with ID 9 using the value of 0.1 as a proximity tolerance:
*createmark surfs 1 31
*createmark lines 1 9
*setoption cleanup_tolerance=0.1
*multi_surfs_lines_merge 1 1 0
To trim surface with ID 31 by free line with ID 9 using the value of 0.1 as a proximity tolerance:
*createmark surfs 1 31
*createmark lines 1 9
*multi_surfs_lines_merge 1 1 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

2025.1 - Added new optional argument tolerance.