User Guide
User Guide
User Guide
|
With manual drafting tools, you can draw a point curve (a curve through a series of points) with a French curve. MicroStation has, in effect, a variety of mathematical French curves for placing curves on the basis of data points in the design plane, including point curves and NURBS (non-uniform rational B-splines).
Composite curves actually can consist of a combination of line segments, arcs, and Bézier curves.
You can draw curves without any understanding of the mathematics behind them, or you can create curves based on sophisticated mathematical formulas (see ).
The easiest way to become familiar with curve placement tools is to enter a series of data points or a line string, then construct different curves based on those elements. With B-splines, you can adjust the settings as you watch the curve update, then accept the curve when it has the correct shape.
Point curves are based on a relatively simple mathematical formula — there are no settings that control the curve's shape. As you place a point curve, it is dynamically displayed as you enter data points. Of course, you can place active points or other elements to snap to as you place the point curve, and you can enter the data points using AccuDraw.
Point curves are placed with the Place Point or Stream Curve tool in the Linear Elements tool box.
Point curves | |
A B-spline curve is more complex mathematically than a point curve. A B-spline curve's shape is determined by the number and location of its poles, which are represented as vertices of the curve's control polygon and its order.
B-spline curve and its control polygon. | |
B-spline curves are drawn with the Place B-spline Curve tool in the Create Curves tool box as well as several special-purpose 2D B-spline tools.
You can place a B-spline curve by entering data points or construct it by identifying a line string or shape — this is determined by choosing Placement or Construction, respectively, from the Define By option menu in the Tool Settings window.
Unlike point curves, there are a number of Methods, which can be chosen from the Method option menu, for calculating the final curve that results.
Method |
Data points or vertices of element define |
---|---|
Define Poles |
Vertices of control polygon. |
Through Points |
Points on the curve. |
Least Squares by Tolerance and Least Squares by Number |
A set of points that the curve approximates or is “fit” to. |
Catmull-Rom |
A set of points that is closely approximated. |
These illustrations show the different types of B-spline curves constructed from the same line string.
B-spline curves constructed based on a line string. Method set to, from left: Define Poles, Through Points, Least Squares, Catmull-Rom. | |
Curves created with this method are approximated, based on the points used to define the curve and the Tolerance setting. The maximum deviation of the input points from the curve is controlled by the Tolerance setting.
This Method lets you adjust the number of poles in the control polygon.
If the number of poles is lower than the number of data points or vertices, the curve is fit using the least squares method.
Generally, the more poles in the control polygon, the better the curve will fit a regular shape.
The Catmull-Rom curve is popular with aircraft and ship hull designers — it passes directly through the data points or vertices on which it is based, as do point curves and B-splines Through Points. In general, the approximation is more accurate than with other methods.
Catmull-Rom curves avoid these problems:
Point curves are flat between the first and second data points as well as between the next-to-last and last data points.
With very irregular shapes, B-spline curves Through Points can develop unwanted loops.
Line string in shape of square as the basis for B-spline: Through Points (left) and Catmull-Rom (right). | |
B-spline curve settings are set in the B-spline and 3D dialog box, which is opened by choosing B-spline and 3D from the Element menu.
Changes to the attributes of existing B-spline curves are carried out with the Modify Curves tool box's Change to Active Curve Settings tool.
You can turn on or off the display of either the control polygon or curve.
In practical terms, a B-spline curve's order defines the curve's distance from the control polygon's poles. The greater the order, the further the curve can lie from the poles of its control polygon. A high-order curve is “freer” than a low-order curve.
The limit to a curve's order is the number of poles: You cannot place a B-spline curve with a greater order than the number of poles.
B-spline curves (Method set to Define Poles and Define By set to Construction). The Order increases from left to right. In these cases, the line strings are congruent with the control polygons. | |
A closed B-spline starts and ends at the same point, and encloses an area.
A closed B-spline can also be periodic, which means that all derivatives of the curve (less than order -1) are continuous through the points. In other words, a periodic B-spline passes “smoothly” through the point at which its ends are joined, without a kink in the curve.
In a design, a B-spline whose ends do not meet can be called “open.” Mathematically, however, an open B-spline starts at its first pole and ends at its last pole, and the ends need not meet. Setting the Closure tool setting to Open results in mathematically open B-spline curves.
You can use the Change to Active Curve Settings tool to change a periodic B-spline's definition in the model to be a mathematically open B-spline without changing its shape. This is helpful when the DGN file is to be transferred to a package that does not support periodic B-splines.
These tools in the Curves tool box are used to place the following special types of 2D B-spline curves.
The Place Conic tool is used to place a conic section — a hyperbola, parabola, or partial ellipse.
The Place Spiral tool is used to place a transitional spiral — this is most commonly used for highway design.
The Construct Interpolation by Arcs tool is used to place a complex chain of arcs that passes through a given set of points.
The Place Composite Curve tool in the Curves tool box lets you place a complex element that can contain line segments, arcs, and a special type of B-spline curve, a Bézier curve.
A Bézier curve is a B-spline curve with the same number of poles as its order. Thus, a fourth-order B-spline with four poles is a fourth-order Bézier curve. These are very popular as they allow control of a curve's starting and ending position as well as the tangents at those positions.
Composite curve comprising a line, an arc, a Bézier curve, another line, and an arc | |
The handles that appear when placing a Bézier curve with the Place Composite Curve tool control the tangents at the ends of the curve segment. The line defined by the first and second poles is the initial tangent direction, and the line defined by the third and fourth poles is the final tangent direction. The length of the handles controls the size of the tangent at each end. (A tangent is a vector so it has direction and magnitude.)
The Curve Calculator tool lets you create any conceivable planar curve, based on a mathematical formula.
A pre-defined curve can be selected from a library and placed in the design.
New curves can be defined and added to the supplied libraries. This is similar to programming a programmable calculator.
Equations that are dimmed in the list box are locked. Modifying them can corrupt the curve's formula and should only be done if you understand how the curve is defined and wish to modify its underlying definition. See To define a curve's formula. |
To unlock an equation, key in FORMULA UNLOCK [number], where [number] denotes the position of the equation in the list of locked equations. |
Some mathematical knowledge is needed to define a new curve. A curve is defined by the parametric equations for the x, y, and z coordinates of the curve. These formulas give the value of the articular coordinate as a parameter “t” that is between zero and one (0.0 < t < 1.0). This is the standard parametric form of a curve described in mathematical text books. |
Variable names are limited to 8 characters and the right side of the equation is limited to 40 characters. There is also a limit of 25 formulas to define a curve. |
A sinusoid with an amplitude of 5 and wave length of 10 can be defined with the following equations:
Formula |
Syntax |
---|---|
x(t) = 10u(t) |
x = 10*t |
y(t) = 5sin(u(t)) |
y(t) = 5*sin(u) |
u(t) = 2[pi ]t |
u(t) = 2*pi*t |
The third equation is necessary since “t” must be between zero and one and we want an entire period of the sine wave, from 0–2[pi ].
Auxiliary functions such as this can be defined. By using two auxiliary variable-value equations for the amplitude and wave length a more flexible definition results.
x = wl*t
y = amp*sin(u)
u = 2*pi*t
amp = 5
wl = 10
This definition could be used to place sine waves of any amplitude and wave length by modifying the last two equations. It is clear, however, that the first three equations should not be modified, since doing that would corrupt the sine wave's definition. To prevent this you can lock the first three formulas. These equations would then be dimmed in the list box and the end-user would not be able to harm them. The status of an equation, locked or unlocked, is saved with the equation in the library file; it is set using the Formula Lock/Unlock key-in described above.
Curves can be defined in 2 or 3 dimensions; if no z formula is present the z value defaults to 0, thereby creating a planar curve.
The formulas defining the x, y, and z coordinates of the curve can use trigonometric, hyperbolic, logarithmic, exponential, or power functions. The format for such functions is as follows:
Function |
Returns |
---|---|
sin (value) |
sine of value
|
cos (value \) |
cosine of valuea |
tan (value) |
tangent of valuea |
asin (value) |
arc sine of valuea |
acos (value) |
arc cosine of valuea |
atan (value) |
arc tangent of valuea |
atan2 (y, x) |
arctan(y)/xa |
sinh (value) |
hyperbolic sine of value |
cosh (value) |
hyperbolic cosine of value |
tanh (value) |
hyperbolic tangent of value |
asinh (value) |
inverse hyperbolic sine of value |
exp (value) |
evalue |
ldexp (x,p) |
2xp |
log (value) |
natural logarithm of value |
log10 (value) |
base 10 logarithm of value |
ldexp (x, y) |
xy |
sqrt (value) |
square root of value |
Curve Calculator also understands standard C operators. |
A curve can be defined from a set of formulas alone or can be derived from formulas and an existing curve (the root curve). If a curve is derived, then these values can be referenced in the equations.
These values are derived from the Frenet frame of the root curve and are updated depending on the value of “t,” the curve parameter. All these values begin with an underscore.
Value |
Description |
---|---|
_rx |
x coordinate of root curve's position |
_ry |
y coordinate of root curve's position |
_rz |
z coordinate of root curve's position |
_tx |
x coordinate of root curve's tangent |
_ty |
y coordinate of root curve's tangent |
_tz |
z coordinate of root curve's tangent |
_mx |
x coordinate of root curve's normal |
_my |
y coordinate of root curve's normal |
_mz |
z coordinate of root curve's normal |
_bx |
x coordinate of root curve's binormal |
_by |
y coordinate of root curve's binormal |
_bz |
z coordinate of root curve's binormal |
_kappa |
curvature of root curve |
_tau |
torsion of root curve |
The following constants can be referenced in equations:
Value |
Description |
---|---|
pi |
[pi ] |
e |
e |