*DeformableCurve()

Creates a three-dimensional deformable curve entity.

Syntax

*DeformableCurve(defcrv_name,"defcrv_label", NATURAL|PARABOLIC|PERIODIC|CANTILEVER, [lambda_left_end], NATURAL|PARABOLIC|PERIODIC|CANTILEVER, [lambda_right_end], numrows MarkerorBody,Point, MarkerorBody,Point, MarkerorBody,Point ...) *Set(defcrv_name.uspan,valu)

Arguments

defcrv_name
The variable name of the deformable curve.
Data type: varname
defcrv_label
The label of the deformable curve.
Data type: label
NATURAL|PARABOLIC| PERIODIC|CANTILEVER
The type of end condition. There is one for each end of the curve.
lambda_left_end lambda_right_end
This is required only in the case of CANTILEVER curve end, and describes the condition for the CUBIC spline interpolation.
Data type: real
numrows
Number of markers or body/point sets.
Data type: int
Marker or Body,Point
The ordered list of markers (or body, point sets) that form the curve in 3D space. The markers (or body, point sets) can belong to the same body or different bodies, including flexible bodies.
Data type: Marker or Body, Point
uspan
The span of the curve.
Data type: real

Example

*BeginMDL(the_model, "The Model")
 *Point(p_1, "Point 1")
 *Point(p_2, "Point 2")
 *Point(p_3, "Point 3")
 *Point(p_4, "Point 4")
 *Point(p_5, "Point 5")
 
*DeformableCurve(defcrv_0, "DeformableCurve 0", NATURAL, NATURAL, 5, 
 m_0, m_1, m_2, m_3, m_4)
 *Marker(m_0, "Marker 0", b_1, p_1)
 *Marker(m_1, "Marker 1", b_1, p_2)
 *Marker(m_2, "Marker 2", b_1, p_3)
 *Marker(m_3, "Marker 3", b_1, p_4)
 *Marker(m_4, "Marker 4", b_1, p_5)
 *Body(b_1, "Body 1")
 *Body(b_0, "Body 0")
 *PointToDeformableCurveJoint(aj_0, "Advanced Joint 0", B_Ground, p_10, 
 defcrv_0)
 *Point(p_10, "Point 0")
 *Set(defcrv_0.uspan, 1.5)
 *SetPoint(p_1, 50, 10, 10)
 *SetPoint(p_2, 100, 10, 10)
 *SetPoint(p_3, 150, 10, 10)
 *SetPoint(p_4, 200, 10, 10)
 *SetPoint(p_5, 250, 10, 10)
 *SetPoint(p_10, 100, 100, 100)
*EndMDL()

Context

*BeginMdl()

*DefineAnalysis()

*DefineSystem()

Properties

Table 1.
Property Returns Data Type Description
end_type_left option The type of end description for one end of the curve.
end_type_right option The type of end description for the other end of the curve.
id integer The solver id for the entity.
idstring string The solver id for the entity in string data form.
label string The descriptive name of the entity.
lamda_left real The condition for the CUBIC spline interpolation for one end of the curve.
lamda_right real The condition for the CUBIC spline interpolation for the other end of the curve.
note string The detailed notes and description about the entity.
state boolean Set to zero for the entity to be inactive, or set to one for the entity to be active.
varname string The unique variable name of the entity.

Comments

The deformable curve can be used with the *PointToDeformableCurveJoint() statement, where a point will be constrained to stay on the curve, even with the curve changing shape due to the relocation of the points/markers that define the curve.