Geometric Modeler |
Geometry |
The Curves of CATIA Geometric ModelerProperties and Detailed Description |
Technical Article |
AbstractThis article describes the common properties as well as the particular features of the CGM curves. |
A curve is a function from a closed interval of R to R^3. Hence, it is defined by three scalar functions of one variable. The variable is usually called parameter of a point on the curve and denoted through W, while the scalar functions represent the mapping, for each point of the curve, between the Cartesian coordinates, usually called X, Y, Z, and the corresponding parameter W.
Three scalar functions FX, FY and FZ map the W parameter into the Cartesian coordinates (X, Y, Z) for each point P of the curve. |
Multi-arcs curves are defined as a set of n_w connected pieces, each piece, called arc, having its own parameterization. Hence, a point belonging to the curve can be expressed in terms of:
The Cartesian coordinates of the point P can be evaluated using the global parameter W, or the local parameter w_2 on the 2nd arc. |
[Top]
The CGM curves implement the CATCurve interface, which behavior is now described. The CATCurve interface inherits all the behavior of the CATGeometry interface. Therefore, the factory of the CGM objects (CATGeoFactory) handles the creation, stream, unstream and remove of the CGM curves. The geometric transformation and/or duplication of CGM curves is managed by specific processes through CATTransfoManager and CATCloneManager instances [3]. For more details about the CGM objects general properties, see [1].
[Top]
In addition, the curves must not be self intersecting, except if they are closed curves. |
Specific objects
[Top]
The curve parameter only has sense if it is associated with the curve it parameterizes. This parameter is handled through a CATCrvParam instance, which is a transient object containing the parameter and a reference to the curve. In particular, it transforms a global parameter into a local parameter and an arc, and vice versa. The CATCrvParamReference transient instance can not directly be created; the curve is responsible for retrieving a CATCrvParam instance under your request.
[Top]
A curve has a maximal limitation, outside which it is not defined, or cannot be extrapolated. This limitation is expressed in terms of a CATCrvLimits transient instance, containing two CATCrvParam instances.
Geometric operators can be run on a part of the whole curve, therefore defining a current limitation. This current limitation is also handled by the CATCrvLimit class.
Each curve is able to retrieve the definition of a space that surrounds it: the bounding box.
This information is very useful, especially if you want to have a first diagnostic of intersection
for example.
The bounding box contains two points, and can be a CATMathBox instance, if expressed with Cartesian
coordinates, or a CATCrvParam instance, if expressed with the curve parameter.
[Top]
The main behavior of a curve is to evaluate the Cartesian coordinates from the parameter of a point lying on it and, conversely, the parameter from Cartesian coordinates:
The curve is responsible for the mapping between the (X, Y, Z) Cartesian coordinates and the W parameter, so that no assumptions must be maid about this mapping, except for a few objects that have published their own parameterization.
[Top]
It is useful to retrieve the equations representing the curve, especially when you want to operate the geometry. You can retrieve these equations as CATMathFunctionXY instances, that are transient and created under request.
All curve modification changes the equations. Thus, it is necessary to precisely define the use of the geometry equations. There are 3 main methods for using equations.
CATCurve::Lock()
: Locks the geometric object before asking for its equation.
This operation:CATCurve::GetEquation()
: Asks for the equation. This operation:CATCurve::Unlock()
: Unlocks the geometric object when you do not need to use
its equation no more. This operation:In case of a curve modification,
[Top]
You find three major curve types in the CGM offering: the resolved curves, the edge curves, the PCurves. You can also introduce your own class of curve, and use it as any CGM curve in all the CGM operators or as the underlying geometry of a topological object. For a detailed description of this mechanism, see [2].
[Top]
These curves have a mathematical form: line, conic (circle, ellipse, parabola, hyperbola), NURBS, Spline belong to this type. Evaluations are made directly from the mathematical equations. The following array describes, for each resolved curve, its definition parameters, and the validity range of the definition parameters which come in addition to general validity criteria that have already been described.
CATLine |
The definition parameters are:
|
|||||||||||||||
CATCircle |
The definition parameters are:
Validity range of the definition parameters::
|
|||||||||||||||
CATEllipse |
The definition parameters are:
The direction of the major axis is the first direction of the plane. The angles are
measured from the major axis. X=a*cos(theta), Y=b*sin(theta) The ellipse equation in its axis system is X²/A² + Y²/B² = 1 Validity range of the definition parameters:
|
|||||||||||||||
CATNurbsCurve | NURBS definition of a curve, see [5] | |||||||||||||||
CATSplineCurve |
Spline interpolation between a list of points. The points are not restricted to be on a
given surface. The definition parameters are:
|
[Top]
An edge curve is the geometric curve, that can be seen under several representation. [4] describes in details this geometric curve. It is in particular used to define the geometry of a topological edge.
[Top]
These geometric objects are used to define curves in the parameter space of a surface. For example, a PLline is a curve which mathematical representation in the space of the surface is a line. Hence, in the 3D space, this object can be a line, a circle, or a much more complex curve, if it lays on a CATNurbs surface for example.
Additional methods are available on PCurves: the equations, the derivatives and the boundng box can be retrieved in the (U,V) space of the underlying surface.
figures
All the resolved curves are available as PCurves on any type of CGM surfaces.
CATPLine |
The definition parameters are:
|
|||||||||||||||||||||
CATPCircle |
The definition parameters are:
Validity range of the definition parameters:
|
|||||||||||||||||||||
CATPEllipse |
The definition parameters are:
Validity range of the definition parameters:
|
|||||||||||||||||||||
CATPSpline |
Spline interpolation between a list of points of a surface. The points are given with
their (U,V) surface parameters. The definition parameters are:
|
|||||||||||||||||||||
CATPNurbs | NURBS definition in the parameter space of a surface. See [5] for a description of the NURBS model. |
[Top]
[Top]
[1] | The Objects of CATIA Geometric Modeler |
[2] | The Management of Foreign Data |
[3] | The Cloning and Transformation Managers |
[4] | About Edge Curves |
[5] | About NURBS |
[Top] |
Version: 1 [Mar 2000] | Document created |
[Top] |
Copyright © 2000, Dassault Systèmes. All rights reserved.