*linecreateconic

Create a conic section curve segment.

Syntax

*linecreateconic sx sy sz ex ey ez tx ty tz ratio

Type

HyperMesh Tcl Modify Command

Description

This command creates a conic section curve segment (hyperbola, parabola, ellipse or circular arc) for given segment endpoints, given endpoint tangent lines intersection point, and a parameter that defines the curve type.

Inputs

sx sy sz
Coordinates of conic curve segment start point.
ex ey ez
Coordinates of conic curve segment end point.
tx ty tz
Coordinates of a point at intersection between straight lines tangent to created conic curve segment at start and end points.
ratio
Parameter that defines the created conic curve segment "altitude". Consider the segment that connects the tangents’ intersection point with the midpoint between the start and end points of the curve. If the length of this segment is used as the unit length, then the ratio is defined as the length of the portion of the segment that connects the midpoint with the point where the segment is intersected by created curve (see figure below). Valid values for ratio are in the range 0 to 1. For the value of 0.5, the conic curve is a parabolic segment. For the values between 0 and 0.5, the conic curve is an ellipse. For the values between 0.5 and 1, the conic curve is a hyperbolic segment.
A ratio of -1 can also be used to invoke automatic circle calculation. A circular arc is then created, provided the length of the tangent segments are equal.
Figure 1.


Examples

To create a parabolic segment with the start point at (1,2,3), the end point at (4,2,3) and the endpoint tangent lines intersection point at (3,10,3):

*linecreateconic 1 2 3 4 2 3 3 10 3 0.5

To create a 90 degree circular arc that lies in the plane z=0 and connects points (0,0,0) and (1,0,0):

*linecreateconic 0 0 0 1 0 0 0.5 0.5 0 -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