We just attended the Spatial Insider's Summit and got a good look at the company's technologies, current position, and future direction. From its inception, Spatial, now a Dassault Systèmes company, has been a developer and provider of software components – modular software packages that perform a set of specific and related functions. This class of software is designed to work as a component of a larger application, such as CAD, CAM, or CAE. The goal of component software is to standardize the interfaces between software components so that they can work together seamlessly.
Although far from the only issue of concern, reusability also is a vital characteristic of software components. Ideally, software components should be designed and implemented in such a way that many different applications could reuse them. This is not an easy task because it takes significant effort to write software components that are effectively reusable. To succeed, components need to be:
- Fully documented
- Thoroughly tested
- Robust - with comprehensive input-validity checking
- Able to pass back appropriate error messages or return codes
- Designed knowing that they inevitably will be put to unforeseen uses.
As mentioned earlier, from the its beginning in 1986, Spatial has been a developer of 3D modeling software components. In 1986, Spatial had one main product: ACIS, the first commercially available 3D geometric modeling kernel. Over time, Spatial added other products to its portfolio that enabled ISVs, primarily in the CAD/CAM industries, for building applications. These components included extensions and updates to the ACIS modeler, visualization products, as well as acquisitions in translator technology. In 2000, Spatial was purchased by Dassault Systèmes and became a subsidiary.
Let's take a look at some of Spatial's 3D modeling software components.
The 3D ACIS Modeler (ACIS) is the software component that started it all and is Spatial’s modeling component used in over 350 customer applications with more than 2 million seats worldwide. ACIS features an open, object-oriented C++ architecture that enables 3D modeling capabilities. It is particularly well-suited for developing applications with hybrid modeling features, since it integrates wireframe, surface, and solid modeling functionality with both manifold and non-manifold topology, and a set of geometric operations. ACIS provides a basis 3D modeling functionality, plus the flexibility to meet individual application requirements. The 3D solid modeler also includes ACIS extensions for specific application needs including hidden line removal, deformable modeling, advanced covering and defeaturing.
Some of most prominent features in ACIS include:
- Provides advanced modeling capabilities including wireframe, surface, solid modeling, topology and geometric operations
- Enables model exploration through utilities for modification, annotation, and query
- Promotes extensibility through a flexible 3D modeler building block
- Supports the SAT file format and tolerant modeling for interoperability.
Unveiled earlier this year, Spatial's Convergence Geometric Modeler (CGM) is a fully-functional modeler that can also be used as a modeling component. Spatial claims that CGM is the industry’s first commercial 3D geometry kernel in over ten years. The 3D modeling kernel is the same technology used in Dassault Systèmes’ V5 and V6 products (including CATIA). The underlying modeling engine has been the foundation of V5 products for over ten years.
CGM provides the following capabilities:
- Large model capacity and performance exceeding traditional system limitations
- Advanced deformation and warping to address complex design and manufacturing workflows
- Tight application data integration due to geometric data compatibility with V5 and V6
The geometry engine was developed with performance in mind. CGM’s memory optimization strategies give it unparalleled capacity for large data handling. Consequently, designing and manipulating large models is fast and reliable, especially when compared to other commercial modelers.
CGM provides the foundation for 3D modeling, supplying functions to create, modify and query objects as well as to support visualization, simulation and analysis. The B-rep modeler at the core of CGM supports both history-based and direct modeling, with multi-dimensional modeling that integrates wire, surface and solid modeling functionality. CGM provides high-quality geometry, large model capacity (32- and 64-bit), and a C++ object oriented API.
CGM has tolerant modeling as a principal element of the architecture. The result is a reliable modeler that maintains model validity for imported data and through subsequent modeling operations.
Although the company doesn't come out and say it, with the resources and attention given to CGM, I suspect it will ultimately replace ACIS in the future.
Also introduced earlier this year, Spatial’s 3D InterOp CGM provides data exchange between CAD formats, enabling superior CAD file translation. This is in keeping with Spatial's feeeling that data import id more prevalent than data creation. The comprehensive suite of translators provides import/export for all applications, including ACIS, CGM and Parasolid-based applications. 3D InterOp is embedded in many of today’s leading design, engineering, and manufacturing applications.
Spatial's comprehensive suite of translators provide data exchange for ACIS, CGM, or Parasolid modelers and can be configured to meet the needs of any modeler.
3D InterOp CGM is a high-performance, high-quality set of Brep translators, supporting parts, assemblies and non-geometrical metadata. 3D InterOp CGM R2012 Suite of translators delivers high-performance and high-quality translation of all popular CAD formats including CATIA V4, CATIA V5, SolidWorks, Inventor, Pro/ENGINEER, and NX and industry standard formats IGES, STEP, and Parasolid. Capabilities include:
- For CATIA V5, 3D InterOp CGM directly extracts geometry avoiding the need for translation and resulting in performance up to ten times faster than other commercially available translators. 3D InterOp CGM also optimizes the performance of reading industry standard file formats, such as IGES and STEP.
- A unified object oriented interface, making the task of integration straightforward and efficient. 3D InterOp CGM supports all 3D software applications, independent of the underlying modeling engine.
- Product Manufacturing Information (PMI) attached to a 3D CAD model is essential for many of today’s manufacturing applications. 3D InterOp supports PMI and includes notes, dimensions, Geometric Dimensioning & Tolerances (GD&T), datums and datum targets, and surface roughness.
- 3D InterOp Translators optionally translate non-geometric data attached to topology, including names, color, coordinate systems, work planes, and layers.
- 3D InterOp translations support the translation of solid, wire, surface (B-rep), free surfaces, free curves and free points. Advanced modeling technology is used in each of the translators to address common data translation differences including geometry repair, topology repair, and tolerance resolution.
Lately, a lot of banter has been coursing through the MCAD industry about the significance, or rather, insignificance of one of the main software components – geometric modeling kernels. While it's probably true that few users really care about the origin of the modeling kernel in their CAD tool, software component kernels are good for the following reasons: