*trim_by_offset_edges

Offset selected surface edges and trim attached surfaces.

Syntax

*trim_by_offset_edges surfs lines offset break_mode mode break_angle

Type

HyperMesh Tcl Modify

Description

Offset selected surface edges and trim attached surfaces.

Inputs

surfs
Selection markmask for the set of surfaces to perform the operation. If zero, all surfaces attached to selected lines are trimmed.
lines
Selection markmask for the lines to be offset and used for trimming. If 0, all lines on selected surfaces are offset and used for trimming selected surfaces.
offset
Offset distance value.
break_mode
Controls connection of lines connected on convex vertex (see comments). Used together with break_angle.
0 - Connect breaks by the straight segments (default).
1 - Connect breaks by the arcs.
2 - Do not connect breaks.
mode
Bitwise operation mode:
Bit 0
Trim mode
  • 0 - Trim selected surfaces by offset lines.
  • 1 - Do not trim surfaces but create offset lines and put them in the lines selection markmask.
Bit 1
Shrink mode
  • 0 - Trim surfaces and keep all trimmed pieces
  • 1 - Trim surfaces and remove parts between original and offset lines
Other Bits are reserved for future use and must be 0.
break_angle
Angle value to control extension of offset edges. Setting to 0.0 corresponds to default value of 30 degrees. See comments.

Example

To create a "generic washer" of width 5, select lines on the free loop (lines=1) and call

*trim_by_offset_edges (0,1, 5.0, 0, 0, 0.0)
To "shrink" surfaces (selected in the surface mark surfs = 1)
*trim_by_offset_edges (1,0, 5.0, 0, 2, 0.0)

For break_angle and break_mode, normal offset of lines connected at convex vertex creates a break between line ends. In order to maintain connectivity between lines, the ends must be connected. If the vertex angle is larger than break_angle, connect ends by extending and intersecting them. If the angle is smaller than break_angle, connect ends either by a straight line (break_mode = 0) or by a circular arc (break_mode = 1).

Errors

None.