Laws
The Laws Component (LAWS), provides symbolic representations of equations that are parsed in much the same way that equations are. They provide the ability to solve complex, global mathematical problems. Mathematical functions are used extensively in ACIS.
A law is represented internally by a tree of C++ classes that know their dimensions, how to evaluate themselves, and how to take their exact (symbolic) derivatives with respect to any combination of variables. In addition, law utility functions numerically integrate, differentiate, and find roots. Many questions can be answered by knowing where some combination of them is maximal or minimal.
Laws can be used to define geometry and to solve mathematical problems in solid modeling:
- The offset distance for a wire offset can use a law instead of a constant value.
- One-dimensional space can be mapped to three-dimensional space as a vector field on a curve to define the orientation of a swept surface along a non-planar path.
- The location on a curve can be found where the radius of curvature is equal to a specified value.
Laws are functions from any finite dimensional Euclidean space to any finite dimensional Euclidean space. For example,
- An ACIS surface may be considered to be a function from two dimensional space to three dimensional space.
- An ACIS curve may be considered to be a function from one dimensional space to three dimensional space.
- An ACIS transformation may be considered to be a function from three dimensional space to three dimensional space.
- The radius of curvature of a curve may be considered to be a function from one dimensional space to one dimensional space.
Laws are parsed the same way that equations are. For example, the equation:
f(x,y) = x2+cos(x)-sin(y) becomes the law:
X^2+COS(X)-SIN(Y) with a two-dimensional domain and a one-dimensional range.
Note: Discussions of ACIS laws often use the term mathematical function to differentiate this meaning of the word function from the use of the word function meaning a computer program routine (such as an API, a class method, and a direct interface function).
Laws can be implemented in two ways:
- Through direct interface to the classes.
- Through the APIs, which use law string parsing.
Refer to the online help for the most recent list of classes, APIs, and Scheme extensions related to laws.
Topics include:
- Accessing Laws through Classes
- Accessing Laws through String Parsing
- Passing Simple Input into Laws
- Using law_data to Pass Classes to Laws
- Numeric Tools for Laws
- Creating Geometry with Laws
- Vector Fields (Hedgehogs)
- Using Laws for Analysis
- Skinning, Lofting, and Net Surface Singularities
- Law Symbols
[Top]
© 1989-2007 Spatial Corp., a Dassault Systèmes company. All rights reserved.