*surfaceprimitivefromlines

Create a primitive type surface from selected lines.

Syntax

*surfaceprimitivefromlines mark_id surf_type tol_mode tol options

Type

HyperMesh Tcl Modify Command

Description

This command takes input lines and uses them as targets to construct surface of specified primitive type. Optionally, tolerance value can be specified to reject surface that does not fit input lines.

Inputs

mark_id
The mark of input lines.
surf_type
The type of primitive surface to create. Valid values are:
1 - plane
2 - sphere
3 - cylinder
4 - cone
5 - general quadric surface
For surf_type 4, if a cylinder can be fit to the input entities, it will be created instead of a cone.
tol_mode
0 - Tolerance is not used, best possible surface is found for any input set of points.
1 - Tolerance specified by tol parameter is used to reject surface that does not fit input points.
tol
Tolerance value used to accept generated surface. Not used if tol_mode is 0. Negative value can be set to specify that the global value of the geometry cleanup tolerance set using *setoption cleanup_tolerance should be used.
options
Flags that indicate different modes. Bit values are used and the value is calculated as (Bit0 + 2*Bit1).
Bit0
Trimming mode. Valid values are:
  • 0 - An untrimmed surface is created.
  • 1 - Created surface is trimmed by input lines and automatically stitched to adjacent surfaces.
  • In this case, the value of tol_mode should be set to 1.
Bit1
Specifies how entities are organized into components. Valid values are:
  • 0 - Surface is created in the current component.
  • 1 - Surface is created in the most common input lines component.

Examples

To create a cone surface that fits all displayed lines in the best possible way:

*createmark lines 1 "displayed"
*surfaceprimitivefromlines 1 4

To try to create a sphere that fits lines 1 through 8 with a deviation not larger than 0.02, and trim the resulted surface with the input lines:

*createmark lines 1 1-8
*surfaceprimitivefromlines 1 2 1 0.02 1 0

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