The 3D ACIS® Modeler (ACIS) is Spatial’s prominent 3D solid modeling engine. 3D InterOp is a CAD data translation framework (Interoperability)
Portal:ACIS
From DocR20
· 3D ACIS Modeler · 3D InterOp · Extensions · RADF · Suites ·
|
|
The 3D ACIS Modeler (ACIS) is an object-oriented three-dimensional (3D) geometric/solid modeling engine from Spatial Corp. It is designed for use as the geometry foundation within virtually any end-user 3D modeling application. Written in C++, ACIS provides an open architecture framework for wireframe, surface, and solid modeling from a common, unified data structure.
|
|
| Technical Article Search | C++ Library Reference Search
|
|
|
|
ACIS Topics
ACIS Topics - Welcome!
These topics provide information and terminology about the different concepts used in ACIS.
ACIS Frameworks
ACIS Frameworks - Welcome!
These frameworks provide information and terminology about the different components and concepts used in ACIS.
The
ACIS System represents the core functionality upon which the modeling system is based. Essentially, the core functionality manages models such as creating, copying, deleting, as well as saving and restoring models to disk. This framework also discusses ACIS' history mechanism for implementing undo/redo for your models, and best practices for optimizing your applications that use ACIS.
| Topic
| Description
|
| Initialization and Termination
| Recommendations for when and how to initialize/terminate ACIS.
|
| Error Handling
| How to extract error codes/messages from failed APIs. How to best use ACIS EXCEPTION blocks.
|
| Copying Models
| Copy all or a portion of a model.
|
| Deleting Models
| Delete all or a portion of a model from memory.
|
| Saving and Restoring Models
| Save/restore ACIS models to disk. SAT versus SAB file formats. Recommendations for applications embedding ACIS model data into their proprietary file formats.
|
| History and Roll
| Use our history mechanism to undo a modeling operation - or redo it.
|
| Attributes
| Use attributes to attach application data to the model.
|
| Versioning
| Used to specify that an ACIS API behave according to a particular version of ACIS. (Used primarily by feature-tree based applications.)
|
| Journaling
| Take a snapshot of an API's inputs for use in Scheme (a test application we provide as part of our packaging). Useful for submitting questions/issues regarding the behavior of a particular API.
|
| Annotations
| Use annotations to understand what happened to a model during a modeling operation.
|
| Memory Management
| Use ACIS memory management functionality to allocate and de-allocate memory, collect statistics about memory usage, and more...
|
| Model Management
| Overview of functionality for managing ACIS models.
|
| Minimizing Memory
| Techniques reducing ACIS' memory usage (sometimes at the cost of performance).
|
| Optimizing Performance
| Techniques for streamlining ACIS' performance (sometimes at the cost of consuming more memory).
|
| Thread-Safe ACIS
| Thread-Safe ACIS supports multi-threading with thread management, thread-local storage, and mutual exclusion functionality.
|
The ACIS
Blending Framework comprises two components (Blending and Advanced Blending) which facilitate the creation of smooth blend surfaces and chamfers in order to replace sharp edges and vertices in a model. The ACIS
Blending Frameworks allow creation of rolling ball, variable radius, entity-entity, three entity, curvature continuous, and holdline blends. The surfaces in this framework are generally ACIS procedural surfaces except when analytic representations are possible.
| Component
| Description
|
| Blending
| The Blending component (BLND) allows the creation of blends and chamfers on sharp edges of a model. Standard Blending allows the creation of
|
| Advanced Blending
| The Advanced Blending component (ABL) allows the creation of more complex blends and chamfers than the standard ACIS Blending component. Advanced Blending allows the creation of
|
Some of the ACIS R20 improvements are:
- The behavior of Blending on tolerant parts has been made more robust especially when rollover/rollon and capping are involved.
- Blending APIs provide additional diagnostic information as part of their outcome. This would potentially give some more clues to identify the problem zone.
edit Local Operations Framework
The ACIS Local Operations Framework comprises four components which facilitate the modification of ACIS bodies. The term Local Operations implies a change to modeling geometry in a localized fashion; specifically the modification of a surface definition under a topological face. This concept has been expanded to encompass body offset, shelling, move, tapering and sheet extend. In this context, a great deal of topological changes are possible and handled by their respective operators. In addition, this framework includes the components for face and wire edge removal, as well as repairing body self-intersections.
edit Local Operations Components
| Component
| Description
|
| Local Operations
| The Local Operations Component (LOP) is the base component of the framework. The core algorithm, TWEAK, replaces the surface definition of a face and is the main work horse for all the operations in this framework. TWEAK can be called standalone via api_tweak_faces. In addition this component includes body offsetting, move, tapering and sheet extend ...
|
| Offsetting
| The Offsetting Component (OFST) supplies functionality to offset edges on faces, wire bodies and standalone ACIS faces ...
|
| Remove
| The Remove Component (REM), supports the removal of faces from bodies and heals the resulting body with the remaining faces. In addition the component supports the removal of edges from a wire body healing the gap by edge extension ...
|
| Shelling
| The Shelling Component (SHL) creates thin-walled solids by offsetting all faces of a solid model by a specified distance ...
|
| Repair Body Intersections
| Repair Self Intersecting Bodies (RBI)
|
edit What's New in Local Operations?
edit Model Analysis Framework
edit Model Analysis Functionality
| Topic
| Description
|
| ACIS Checker
| Functionality to help detect bad or invalid data in models.
|
| Cellular Topology
| Modeling of subregions in a solid or sheet.
|
| Intersectors
| This component determines intersections between geometric elements by finding the points or intervals at which curves and surfaces meet.
|
| Laws
| Functionality provides symbolic representations of equations that are parsed in a similar way to equations. Laws provide the ability to solve complex, global mathematical problems.
|
| Object Relationships
| Determine the spatial relationships between two objects, such as: minimum distances, clearance, clashing, and containment.
|
| Physical Properties
| Determine properties of an entity such as: area, volume, center of gravity, and length.
|
| Ray Testing
| Ray testing provides functionality to "fire" a ray with a specified initial position, direction, and radius to determine, for instance, the positional relationships among objects.
|
edit Model Visualization and Display Framework
The ACIS Modeling Visualization and Display framework comprises four components which facilitate the display list, faceting, and hidden line removal of an ACIS model. The flagship component of this ACIS Framework is the ACIS/Hoops bridge which supports the generation of HOOPS® display data from an ACIS model. In conjunction with the ACIS/Hoops bridge is the ACIS Faceter and two forms of hidden line removal (interactive and precise).
| Component
| Description
|
| HOOPS/ACIS Bridge
| The HOOPS/ACIS Bridge encapsulates the work needed to connect ACIS modeler from Spatial to the HOOPS/3dGS. The bridge provides an API for controlling the manner in which ACIS' geometric tessellation is mapped to HOOPS primitives ...
|
| Faceting
| The Faceter Component (FCT) generates and controls approximate polygonal representations. The polygon approximations are used in all active and static rendering, in clearance analysis, and in operations where approximations are acceptable to simplify calculations ...
|
| Interactive Hidden Line
| The Interactive Hidden Line Component (IHL), creates views of ACIS model objects with hidden lines removed based on tessellated data ...
|
| PHL V5
| The Precise Hidden Line Removal V5 Component (PHL V5), calculates hidden line data (based in actual modeling data) and draws hidden line representations of the model ...
|
edit What's New in Model Visualization and Display?
edit Modeling Operations Framework
The Modeling Operations framework is a collection of related components that make up the foundation of the modeler. Some of the key components are Constructors (solid generation), Booleans Operations (solid manipulation), and Stitching (solid repair). Additionally, it implements support functionality, such as the uppercase classes used in topology, as well the upper- and lowercase geometry classes.
| Component
| Description
|
| Booleans
| This component performs Boolean operations on the model topology of bodies, first finding the intersections between bodies, and then deciding which pieces to group together and which to discard.
|
| Constructors
| This component allows the creation of models.
|
| Healing
| This component contains API functions that can be used to fix models imported from other modeling systems into ACIS in order to make them usable in ACIS.
|
| Intersectors
| This component determines intersections between geometric elements by finding the points or intervals at which curves and surfaces meet.
|
| Stitching
| This component provides a way to stitch, or sew, separate faces together to make a sheet or solid body that is topologically complete.
|
| Space Warping
| This component uses ACIS law functionality to warp entities and parts.
|
The ACIS Surfacing framework comprises components which facilitate the construction of surfaces and topology built primarily from 3D curves. In all cases, the construction techniques build the required surfaces and topology for a proper closed or open solid body. The surfaces in this framework are generally ACIS procedural surfaces except when analytic representations are possible.
| Components
| Description
|
| Advanced Surfacing
| This component (SPAskin) provides techniques for creating 2D geometry (a surface or face) by interpolating a sequence of 1D geometry (edges, coedges, or wires), arbitrarily positioned in model space. It is subdivided into:
- Skinning - A modeling technique which fits a surface through a series of disjoint curves (wire bodies), creating a sheet body or a solid body.
- Lofting - A modeling technique that starts with a surface and fits another surface through a coedge of the original surface and a series of curves (coedges).
- Net Surfaces - A surfacing technique which uses a network of curves defining both the u and v surface parameter directions (often called "bi-directional" curves because of this), unlike skinning and lofting which only take curves defining the u parameter.
|
| Covering
| This component (SPAcovr) is used to fit a surface over the boundary defined with a closed and connected circuit of curves. It generates a sheet from a closed set of wires.
|
| Advanced Covering
| The Advanced Covering Component (SPAadm) is used to cover (that is, fit a surface onto) circuits in solid or wire bodies.
|
| Sweeping
| The Sweeping Component (SPAswp) is used to create solid or sheet bodies by sweeping a profile along a path.
|
edit What's new in Surfacing?