data_element create curve

Allows you to create a curve.

Format:

 
data_element create curve
curve_name =
a new acurve
adams_id =
adams_id
comments =
string
closed =
boolean
matrix_name =
an existing matrix
fit_type =
fit_type
segment_count =
integer
user_function =
real
minimum_parameter =
real
maximum_parameter =
real

Example:

 
data_element create curve &
curve_name =
curve__1 &
adams_id =
1 &
comments =
"a new curve" &
closed =
yes &
matrix_name =
biele_selnod &
fit_type =
curve_points &
segment_count =
10

Description:

 
Parameter
Value Type
Description
curve_name
A New Acurve
Specifies the name of the new curve. You may use this name later to refer to this curve.
adams_id
Adams_id
Specifies an integer used to identify this element in the Adams data file.
comments
String
Specifies comments for the object being created or modified.
closed
Boolean
Specifies if the curve meets at the ends.
matrix_name
An Existing Matrix
Specifies the name of an existing MATRIX containing the data for the curve.
fit_type
Fit_type
Specifies the way the curve is to be fit through the points contained in the MATRIX.
segment_count
Integer
Specifies the number of polynomial segments Adams uses for fitting the curve points when FIT_TYPE is set to CURVE_POINTS.
user_function
Real
Specifies up to 30 values for Adams to pass to a user-written subroutine.
minimum_parameter
Real
Specifies the minimum value of the curve parameter only for a user-written curve.
maximum_parameter
Real
Specifies the maximum value of the curve parameter only for a user-written curve.

Extended Definition:

1. A CURVE element defines a three-dimensional parametric curve that may be referenced by POINT_CURVE or CURVE_CURVE constraints, a geometry element called a BSPLINE, as well as by FUNCTION expressions.
The x, y, and z coordinates of a point on a parametric curve are functions of an independent parameter, u. As u varies from its minimum value to its maximum value, the functions x(u), y(u), and z(u) sweep out points on the curve. A simple example of a parametric curve is the helix defined by the following equations:
x = cos(u)
y = sin(u)
z = u
2. Adams View allows you to create curves in three ways: by entering control points for a uniform cubic B-spline (FIT_TYPE=CONTROL_POINTS), by entering curve points that Adams will fit a curve to (FIT_TYPE=CURVE_POINTS), or by writing a CURSUB evaluation subroutine to compute the curve coordinates and derivatives.
3. A uniform B-spline is a piecewise cubic polynomial spline used in many CAD (computer-aided-design) applications. A uniform B-spline is defined by control points which form a polygon in space. The curve starts at the first control point and ends at the last. In between, it is attracted to, but does not necessarily hit the intermediate control points. Adams parameterizes a B-spline starting at -1 and ending at +1.
Generally, you will not create control points directly, but will construct the curve in another application, such as a CAD program, and then transfer the control points to Adams.
4. A more direct way to define the curve is to supply curve points.
Adams will compute a uniform B-spline that will fit the curve points.
Again, Adams parameterizes the curve from -1 to +1. If you specify the number of spline segments (SEGMENT_COUNT) as three less than the number of curve points, the computed curve will exactly match the curve points. If you specify fewer segments, Adams will use a least-squares fit to compute the closest fit to the points. In general, fewer segments give a smoother curve, but do not come as close to the data points.
5. In order to use a different type of curve, or to model an analytically-defined curve such as the helix, you may write a CURSUB evaluation subroutine. When providing a CURSUB, you may also specify MINPAR and MAXPAR to define the limits of the curve. These default to -1 and +1, respectively.
A curve can be open or closed. A CLOSED curve meets at the ends, connecting the curve at minimum and maximum parameter values. Note for a closed curve defined by curve points, you can specify a maximum of 5 segments less that the number of curve points. Note that because three segments less than the number of curve points are required for an exact fit, a closed curve will not exactly fit the curve points.
Adams will automatically move a POINT_CURVE or CURVE_CURVE contact point across the closure of a CLOSED curve, if needed. For instance, you may model a cam profile as a CLOSED curve, and Adams will allow the follower to move across the closure as the cam rotates.
Adams will stop the simulation if a POINT_CURVE or CURVE_CURVE contact point moves off the end of curve. You should ensure that the curve defined includes the expected range of contact.
6. Normally, entity names are composed of alphabetic, numeric, or '_' (underscore) characters, and start with an alphabetic or '_' character. They may be any length. For more information, see Using Extended Names.
By enclosing the name in double quotes, you may use other printable characters, or start the name with a numeral. If a name contains characters, or starts with a numeral, you must always quote the name when entering it.
Note that you can specify the parentage of an entity (for example, what part "owns" a marker or a geometry element) when you CREATE it by changing the name. If you enter just the entity name, then the default parent will be assigned by Adams View. If you type in the full name, then you may over ride the default parent. In most cases, when creating an entity, Adams View will provide a default name. The default name that Adams View provides will specify the parentage that it has assumed.
You may, or course, delete this name and use your own. The form of a full name is:
"...._NAME.GRAND_PARENT_NAME.PARENT_NAME.ENTITY_NAME"
The number of levels used varies from case to case and the parentage must exist before an entity can be assigned to it.
7. When you use the FILE ADAMS_DATA_SET WRITE command, Adams View writes an Adams data file for your model. Adams requires that each modeling element be identified by a unique integer identifier. If you use this parameter to specify a non-zero identifier, Adams View will use it in the corresponding statement in the Adams data file.
You may also enter zero as an identifier, either explicitly or by default. The next time you write an Adams file, Adams View will replace the zero with a unique, internally-generated identifier.
Adams View will permanently store this identifier with the element just as if you had entered it yourself.
Normally, you would let all identifiers default to zero, and Adams View would generate the identifiers for you. You are never required to enter a non-zero identifier. You only need to specify it if, for some reason, you wish to control the Adams file output.
8. When an Adams Solver data file (.adm) is read into Adams View, all comments associated with a statement (from the end of the previous statement through the end of the current statement) are stored with the object. Comments in the data file can be associated with model.
These comments must follow the title statement and be followed by the comment 'END OF MODEL COMMENTS'. This string must be uppercase.
When an Adams Solver data file is written, the comments for an object are written before the statement corresponding to the object.
9. If you set the parameter CLOSED to YES and you use the CURVE_POINTS FIT_TYPE, AdamsAdams will attempt to compute a curve that meets at the ends and has continuous first and second derivatives across the closure. If you set CLOSED to YES and use the CONTROL_POINTS FIT_TYPE or a user-defined FUNCTION is specified, you must ensure that the defined curve meets at the ends and has continuous first and second derivatives across the closure. During a simulation, Adams will move a POINT_CURVE or CURVE_CURVE contact point across the closure, if necessary. Any discontinuity could cause integration failure.
By setting CLOSED to NO, you specify that the curve does not meet at the ends. Adams will not allow a POINT_CURVE or CURVE_CURVE contact point to move beyond the end of the curve.
10.  If CONTROL_POINTS is specified, the matrix contains the x, y, and z coordinates of control points for a uniform B-spline. (Adams uses a uniform knot vector with quadruple multiplicity at both ends, ensuring that the curve will pass through starting and ending points.)
If CURVE_POINTS is specified, the matrix contains the x, y, and z coordinates of curve points which the curve will pass through or near.
The matrix should have a row for each point and three columns containing the x, y, and z, coordinates of the points. You must supply at least four control points or curve points.
You may identify a matrix by typing its name or by picking it from the screen.
Since a matrix does not have a geometric position, Adams View displays matrix icons at or near the model origin. If the convenient to type the name even if the matrix icon is displayed.
If you created the matrix by reading an Adams data set or graphics file, the matrix name is the letters MAT followed by the Adams data set matrix ID number. The name of Adams MATRIX/101 is MAT101, for example. If you created the matrix during preprocessing, you gave it a name at that time.
If a matrix is owned by the default model, you may identify it by entering its name only. If it is not, you must enter its full name.
To identify a matrix under a different model, for instance, you may need to enter the model name as well. For example, you may specify matrix 'control_points' from model 'road_surface' by entering ".road_surface.control_points'". If you type a "?", Adams View will list the matrix available by default.
You must separate multiple matrix names by commas.
11.  If FIT_TYPE=CONTROL_POINTS then the MATRIX contains control points to will not necessarily pass through the points). Specifically, the matrix contains the x, y, and z coordinates of control points for a uniform B-spline. (Adams uses a uniform knot vector with quadruple multiplicity at both ends, ensuring that the curve will pass through starting and ending points.)
If FIT_TYPE=CURVE_POINTS then the MATRIX contains data points on the curve and the curve will be fit directly through the points (depending on the value of the SEGMENT_COUNT parameter). Specifically, the matrix contains the x, y, and z coordinates of curve points which the curve will pass through or near. The matrix should have a row for each point and three columns containing the x, y, and z, coordinates of the points. You must supply at least four control points or curve points.
12.  Adams will default the segment_count to three segments less than the number of curve points, which gives an exact fit to the curve points. Specifying fewer segments will result in a smoother curve, but the curve will not pass exactly through the curve points.
More specifically, if you specify the SEGMENT_COUNT such that the spline segments is three less than the number of curve points, the computed curve will exactly match the curve points. If you specify fewer segments, Adams will use a least-squares fit to compute the closest fit to the points. In general, fewer segments give a smoother curve, but do not come as close to the data points.
13.  Adams uses the minimum_parameter value when drawing a curve graphic. For curves defined by control points or curve points, the minimum parameter value is always -1.0.
Adams uses the maximum_parameter value when drawing a curve graphic. For curves defined by control points or curve points, the maximum parameter value is always 1.0.

Cautions:

1. Adams View will not allow you to have two curves with the same full name, so you must provide a unique name.

Tips:

1. If the matrix is visible in one of your views, you may identify it by picking on any of the graphics associated with it.
2. You need not separate multiple matrix picks by commas.
3. See the Adams User's Manual for information on writing user-written subroutines.