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:

Laws are functions from any finite dimensional Euclidean space to any finite dimensional Euclidean space. For example,

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:

Refer to the online help for the most recent list of classes, APIs, and Scheme extensions related to laws.

Topics include:

[Top]