geometry modify curve bspline
Allows you to modify an existing bspline.
Format:
geometry modify curve bspline |
|---|
bspline_name = | a new gcurve |
adams_id = | adams_id |
comments = | string |
ref_curve_name = | an existing acurve |
ref_marker_name = | an existing marker |
ref_profile_name = | an existing Wire_Geometry |
spread_points = | boolean |
close = | boolean |
segment_count = | integer |
Examples:
geometry modify curve bspline & |
|---|
bspline_name = | gcurve__1 & |
new_bspline_name = | gcurve__2 & |
adams_id = | 100 & |
comments = | "a modifed bspline" & |
ref_marker_name = | origin& |
ref_curve_name = | curve__1& |
segment_count = | 100 |
geometry modify curve bspline & |
|---|
bspline_name = | gcurve__1 & |
adams_id = | 100 & |
ref_marker_name = | origin & |
ref_profile_name = | CHAIN_1 & |
closed = | yes & |
Description:
Parameter | Value Type | Description |
|---|
bspline_name | An Existing Gcurve | Specifies the name of an existing BSPLINE to modify |
new_bspline_name | A New Gcurve | Specifies the name of the new BSPLINE. |
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. |
ref_curve_name | An Existing Acurve | Specifies an existing CURVE that will be used to create and display the BSPLINE geometric element. |
ref_marker_name | An Existing Marker | Specifies an existing MARKER that will be used to locate and orient the BSPLINE geometric element. |
ref_profile_name | An Existing Wire Geometry | Specifies an existing GWire geometry, from which to create and display the BSPLINE geometric element. |
spread_points | Boolean | Specifies whether the bspline be created in a way that the points (as defined by a reference profile) are equally spaced or otherwise. The parameter will be ignored if a ref_curve_name is specified. |
closed | Boolean | Specifies whether that the generated bspline is a closed one or otherwise. |
num_new_pts | Integer | Specifies the number of points on the created bspline. The parameter is valid only if the spread_points parameter is set to 'yes' (and as such can be valid only when a reference profile is specified). |
segment_count | Integer | Specifies the number of polynomial segments Adams View uses for fitting the CURVE_POINTS when FIT_TYPE is set to CURVE_POINTS. |
Extended Definition:
1. To create a BSPLINE you must first create a CURVE DATA_ELEMENT or specify an existing GWire geometry. The CURVE definition depends on first creating a MATRIX of control points or a user-subroutine.
A BSPLINE is the geometric counterpart to the CURVE data_element. The difference being that the BSPLINE is displayed with the Adams View model and the CURVE is not. The BSPLINE references a CURVE for its definition and a REF_MARKER for it position. A single CURVE can be referenced by multiple BSPLINEs.
For completeness the CURVE definition is repeated below.
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
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.
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.
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.
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.
2. You may use the name specified by the bspline_name parameter, later to refer to this BSPLINE. Adams View will not allow you to have two BSPLINEs with the same full name, so you must provide a unique name.
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 (e.g. 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.
3. 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.
4. 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.
5. A BSPLINE is the geometric counterpart to the CURVE data_element. The difference being that the BSPLINE is displayed with the Adams View model and the CURVE is not. The BSPLINE references a CURVE for its definition and a REF_MARKER for it position. A single CURVE can be referenced by multiple BSPLINEs.
You may identify a curve by typing its name or by picking it from the screen.
Since curves do not have a geometric position, Adams View displays curve icons at or near the model origin. If the curve icon is not visible on the screen, you must type the name. You may also find it convenient to type the name even if the curve icon is displayed.
Curves can be draw by referencing a curve name in the definition of a BSPLINE geometry element. Therefore, the BSPLINE element is the geometric counterpart of the CURVE data element.
If you created the curve by reading an Adams data set or graphics file, the curve name is the letters CUR followed by the Adams data set curve ID number. The name of Adams CURVE/101 is CUR101, for example. If you created the curve during preprocessing, you gave it a name at that time.
If a curve 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 curve under a different model, for instance, you may need to enter the model name as well. For example, you may specify curve 'CAM_PROFILE' from model 'VALVE_TRAIN' by entering ".VALVE_TRAIN.CAM_PROFILE'". If you type a "?", Adams View will list the curve available by default.
You must separate multiple curve names by commas.
If the curve is visible in one of your views, you may identify it by picking on any of the graphics associated with it.
You need not separate multiple curve picks by commas.
6. The reference marker must exist before the BSPLINE can be created.
This marker acts as a coordinate reference for the coordinate values used to define the CURVE that acts as a template for the creation of the bspline.
A BSPLINE is the geometric counterpart to the CURVE data_element.The difference being that the BSPLINE is displayed with the Adams View model and the CURVE is not. The BSPLINE references a CURVE for its definition and a REF_MARKER for it position. A single CURVE can be referenced by multiple BSPLINEs.
You may identify a marker by typing its name or by picking it from the screen.
If the marker is not visible on the screen, you must type the name. You may also find it convenient to type the name even if the marker is displayed.
If you created the marker by reading an Adams data set or graphics file, the marker name is the letters MAR followed by the Adams data set marker ID number. The name of Adams MARKER/101 is MAR101, for example. If you created the marker during preprocessing, you gave it a name at that time.
If a marker is available by default, you may identify it by entering its name only. If it is not, you must enter its full name. To identify a marker under a different part, for instance, you may need to enter the model and part names as well. For example, you may specify marker 'pivot' from model 'links', part 'lower_arm' by entering ".links.lower_arm.pivot". If you type a "?", Adams View will list the markers available by default.
You must separate multiple marker names by commas.
If the marker is visible in one of your views, you may identify it by picking on it.
You need not separate multiple marker picks by commas.
7. A BSPLINE is the geometric counterpart to the CURVE data_element. The difference being that the BSPLINE is displayed with the Adams View model and the CURVE is not. The BSPLINE references a CURVE for its definition and a REF_MARKER for it position. A single CURVE can be referenced by multiple BSPLINEs.
You may identify a curve by typing its name or by picking it from the screen.
Since curves do not have a geometric position, Adams View displays curve icons at or near the model origin. If the curve icon is not visible on the screen, you must type the name. You may also find it convenient to type the name even if the curve icon is displayed.
Curves can be draw by referencing a curve name in the definition of a BSPLINE geometry element. Therefore, the BSPLINE element is the geometric counterpart of the CURVE data element.
If you created the curve by reading an Adams data set or graphics file, the curve name is the letters CUR followed by the Adams data set curve ID number. The name of Adams CURVE/101 is CUR101, for example. If you created the curve during preprocessing, you gave it a name at that time.
If a curve 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 curve under a different model, for instance, you may need to enter the model name as well. For example, you may specify curve 'CAM_PROFILE' from model 'VALVE_TRAIN' by entering ".VALVE_TRAIN.CAM_PROFILE'". If you type a "?", Adams View will list the curve available by default.
You must separate multiple curve names by commas.
If the curve is visible in one of your views, you may identify it by picking on any of the graphics associated with it.
You need not separate multiple curve picks by commas.
8. The segment_count parameter is not used if you have specified the FIT_TYPE as CONTROL_POINTS.
For an open CURVE, Adams View will default to a SEGMENT_COUNT that is three 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. You must specify at least four CURVE_POINTS to create an open curve.
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.
Closed curves must be defined by at least eight CURVE_POINTS, and may have a maximum of five segments less than the number of CURVE_POINTS. For a closed curve defined by CURVE_POINTS, Adams will default a SEGMENT_COUNT of five segments less than 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.
9. The 'spread_points' parameter when specified to ‘yes’, in conjunction with a reference profile (otherwise the parameter is invalid and will be ignored) specifies that the set of points generated for the bspline are such that they are equally spaced. Thus specifying the parameter to ‘yes’, means use of a different algorithm for generating a bspline (from the gwire geometry), wherein all the points on the bspline are equally spaced).
10. The 'num_new_pts' is valid only when the spread points parameter is set to ‘yes’ (otherwise the parameter will be ignored). The parameter defines the number of points generated for the bspline using the new algorithm. Note that the points will be equally spaced.
11. The 'closed' parameter is a Boolean value that specifies whether the generated bspline is a closed curve or otherwise.