Different applications require different representations: some applications use only simple geometric entities such as lines and arcs; others require sculptured curves and surfaces; manifold solids are often used for mechanical design; solids composed of different materials for 3D modeling and finite element analysis, non-closed objects or objects with internal structures for crash analysis...
Open CASCADE Technology provides all necessary functionality to build 3D modeling applications from different fields of design and manufacturing processes. With Open CASCADE Technology you can build applications in different fields of the design and manufacturing processes.
Open CASCADE Technology is characterized by an open and modular architecture of its modeling libraries. It provides the following functionality to be used for 3D modeling applications.
Basic geometric objects
The geometric coverage of a 3D modeler is characterized by the nature of geometric entities it supports (such as points, curves, surfaces) and by the way in which these entities may be created, combined and manipulated.
Open CASCADE Technology is based on the concept of "exact" geometric representation and supports most widely used geometric objects used in 3D modeling applications, beginning from simple entities such as points, lines, a full range of conics and quadrics and ending with NURBS curves and surfaces as well as surfaces of linear extrusion, revolution and offset.
Corresponding object libraries provide two kinds of data structure:
- fundamental geometric types dedicated to small computations including basic geometric objects such as points, vectors, coordinate systems, transformations and analytic curves and surfaces usable as an extension of fundamental C++ types;
- a hierarchy of 2D and 3D STEP compliant geometric objects supporting analytic (conic and quadric) and rational or polynomial (NURBS and Bezier) curves and surfaces and some geometric objects derived from others by extrusion, revolution and offsets.
Using standard C++ inheritance functionality it is possible to add new geometric objects which can be used in Open CASCADE Technology computation algorithms exactly as native geometric objects.
All curves and surfaces have parametric representation and information about orientation for using them in a topological model.
Topological models
Topological models are made of a composition of geometric primitives in order to build 3D models from real or abstract objects.
An Open CASCADE Technology topological model is based on boundary representation, supports manifold and non-manifold features and allows to build and work with any well-known model: wireframe, shell, solid or a mix of them in one application.
Non-manifold models allow to build topological objects which mix 0D (points), 1D (curves), 2D (surfaces) and 3D (volumes) objects and can have embedded points, curves and surfaces which can be connected or not to the outer boundary.
Geometric algorithms
Geometric algorithms are used for creation and modification of geometric objects and solving geometric problems.
Open CASCADE Technology features a wide range of geometric construction and calculation methods that support hundreds of operations and geometric algorithms. Available methods range from simple construction algorithms, such as the creation of a line parallel to another at a distance, through a full array of intersection, projection, transformation and trimming operations, to more sophisticated Bezier and NURBS mathematical methods.
With the help of these algorithms it is possible to solve the following commonly encountered geometric tasks:
- building geometric primitives (as lines, circles...) from constraints;
- intersections and projections;
- creating curves and surfaces by approximation and interpolation;
- creating surfaces by sweeping a section along a curved path;
- construction of ruled surfaces;
- filling surfaces.
Open CASCADE Technology contains its own math library which includes some popular calculation methods for numerical integration, solving systems of linear and non-linear equations, optimization.
For more detailed information see Overview, Modeling Algorithms.
Topological algorithms
Open CASCADE Technology provides a wide set of topological algorithms which allow to create and modify topological objects using different construction techniques: low-level algorithms for direct building any topological objects from objects of lower ranking (e.g. a wire from edges...);
- construction of primitives (boxes, prisms, revolutions, extrusions...);
- swept constructions along complex profiles;
- Boolean operations;
- local Boolean operations (such as gluing solids along common faces);
- modification of an initial object by functional features: blending, filleting, different kinds of protrusions and depressions.
Especially suited for mechanical design applications, Open CASCADE Technology contains algorithms for building ribs, grooves, thin offset shells around or inside solids and drafts.
Visualization
Open CASCADE Technology visualization algorithms provide a full range of services to visualize geometric and topological objects and meshes in wireframe, shaded and hidden line removal modes with full control of different visualization attributes.
For more detailed information see Overview, Visualization.
Architecture of Open CASCADE Technology modeling libraries
The open architecture of the Open CASCADE Technology system allows the developer to add application specific information for geometric or topological objects and algorithms. Open CASCADE Technology is a set of components the developer can use or extend with his (her) own components.
Each component is based on three concepts:
- Abstraction: minimal data abstraction to define component;
- Control: connected behavior such as non-standard creation, high level management, etc.;
- Presentation: interactive services for the end user.
These parts are implemented in different packages of Open CASCADE Technology modeling libraries. Such a structure allows to select only the required parts of Open CASCADE Technology to build particular applications and easily add new specific parts to the application functionality.