Application Interfaces
From DocR21
This section discusses the various Application Interfaces provided with ACIS. Most ACIS-based applications are developed in C++. However, applications can also be developed via the Scheme Interface. C++ applications for Microsoft Windows platforms may also take advantage of the ACIS interface to Microsoft Foundation Classes (MFC).
C++ applications interface to ACIS through the Application Procedural Interface (API) and supporting C++ classes ( ACIS Modules), and, in some cases, Direct Interface (DI) functions. Developers may also extend ACIS by creating their own APIs and classes.
As the following figure illustrates, a C++ application is built on top of ACIS, interfacing to the modeler via APIs, classes, and DIs.
Contents |
Functions
- Main article: Functions
Application Procedural Interface (API) functions provide the main interface between applications and ACIS. An API is a function that an application calls to create, change, or retrieve data. An API function combines modeling functionality with application support features such as argument error checking and roll back...
Classes
- Main article: Classes
The class interface is a set of C++ classes that are used to define the ACIS model geometry, topology, and other characteristics. The classes may be used by an application to directly interact with ACIS through their public and protected data members and methods (member functions)...
Scheme Interface
- Main article: Scheme Interface
Scheme is an interpretive, public domain language, derived from LISP, that provides rapid and easy prototyping capabilities. Unlike many interpretive languages, it runs very efficiently. Most developers who use Scheme find little or no need to translate their Scheme code into C++ or another compiled language...
Options
- Main article: Options
Options are global variables that may be used to modify the behavior of ACIS. Options are documented in reference templates in online help...
Attributes
- Main article: Attributes
Attributes are a specialized type of entity used to attach data to entities; any entity may have zero or more attributes. Attributes can carry simple data, pointers to other entities, or links to application specific variable length data. ACIS uses many system attributes, but applications may also define their own attributes...

