Euler Operations


The Euler Operations Component (EULR), performs topological operations such as combining lumps into one body, splitting a body into multiple bodies from the lumps, combining subshells into a single shell, splitting face lists into subshells, etc. This functionality is used by other ACIS components, such as the Boolean Component.

Euler operations are named after the Swiss mathematician Leonhard Euler.

Topics include:

Euler's Equations

Along with his other endeavors, Leonhard Euler worked on body topology relationships. There are many versions in existence of his equations for managing topology. ACIS uses some of his equations for bodies and lumps and expanding and contracting subshells within a shell.

However, ACIS uses relatively little of Euler's topology equations because there are more efficient ways to manage topology. Also, Euler dealt only with manifold solids, while ACIS supports both manifold and non-manifold solids. For instance, one of Euler's more famous equations for what he considered to be a valid manifold object was that the number of faces in an object minus the number of edges in that object plus the number of vertices in that object must always equal the number two (2):

#F - #E + #V = 2

For example, if an edge is removed from the object, a face or vertex must be removed for this relationship to hold true.

ACIS topology, however, permits removing a face without updating the edge or vertex count, thereby creating a non-manifold object, so Euler's equations do not always apply. Generally, ACIS topology is managed through the Boolean code or whatever code is changing the model.

Component Contents

The EULR component contains a small number API functions for combining lumps into one body, splitting a body into multiple bodies from the lumps, combining subshells into a single shell, and splitting face lists into subshells. It also contains similar Scheme extensions.

[Top]