User Guide
User Guide
User Guide

Using Curves

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

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

  

B-spline 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.

Methods by which the curve is calculated

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.

  

Least Squares by Tolerance

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.

Least Squares by Number

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.

Catmull-Rom

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:

B-spline curve attributes

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.

Display of the curve or control polygon

You can turn on or off the display of either the control polygon or curve.

Order

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.

  

Closure

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.

Special-purpose 2D B-spline tools

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.

Composite curves

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.

Bézier curves

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.)

Creating any conceivable curve

The Curve Calculator tool lets you create any conceivable planar curve, based on a mathematical formula.

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.

General Procedure — To place a pre-defined curve
  1. In the Curves tool box, select the Curve Calculator tool.
    The Curve Calculator dialog box opens.

  2. From the File menu in the Curve Calculator dialog box, choose Open File.
    The Resource File to Open dialog box opens.

  3. Select a curve library file and click the OK button.
    The Resource File to Open dialog box closes and the Open Curve Resource dialog box opens for the selected resource.

  4. Select a curve in the list box and click OK.
    The Open Curve Resource dialog box closes and the selected curve's defining equations are listed in the Curve Calculator dialog box.

  5. (Optional) Edit values in the equation that defines the curve. See To edit values in the equation that defines a curve.

  6. From the Tools menu in the Curve Calculator dialog box, choose Place Parametric Curve.

  7. Enter a data point to define the curve's origin.
    The curve is defined relative to the coordinate system of the view in which this data point is entered.

To select another curve from the resource
  1. From the File menu in the Curve Calculator dialog box, choose Open Curve.
    The Open Curve Resource dialog box opens.

  2. Select a curve in the list box and click OK.

To edit values in the equation that defines a curve
  1. In the Curve Calculator dialog box, select a row in the list box.
    or
    Key in the variable's name in its text item.
    The variable and value appear in the text items below the list box.

  2. Key in a new value.

General Procedure — To define a curve's formula
  1. In the Curves tool box, select the Curve Calculator tool.
    The Curve Calculator dialog box opens.

  2. In the Curve field, key in the curve's name.

  3. Define the equations.

  4. Lock the equations that, if modified, would corrupt the definition. See To lock an equation for details.

  5. (Optional) Place a curve to test the equation.

  6. Save the equation.

  7. 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.

To lock an equation
  1. In the Curve Calculator dialog box, select the equation in the list box and key-in FORMULA LOCK.
    Key in FORMULA LOCK [number].
    number is the equation's number (the count starts at zero).
    The locked equation is grayed-out in the list box and cannot be modified.

Examples

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.

Dimensionality

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.

Function format

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
see footnote 85


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.

Deriving a curve from an existing curve

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