SCIENCE IN MANUFACTURING C3D Toolkit

C3D Toolkit

C3D Toolkit

C3D Toolkit

C3D Toolkit is a specialized tool for software developers, which includes several basic components responsible for building a geometric model, managing the built model, and performing geometric calculations. It can be used to create programs, the most famous class of which is computer-aided design systems.

C3D Toolkit combines the most important modules for CAD development:

  • Geometric core C3D Modeler: performs the construction of a geometric model and provides geometric calculations
    • C3D Modeler for ODA: Enables Open Design Alliance (ODA) members to work with C3D geometry core functionality using the ODA API
  • C3D B-Shaper module: converts polygonal models to geometric with boundary representation (B-Rep)
  • Parametric core C3D Solver: superimposes relations expressed as equations and inequalities on the elements of a geometric model
  • Visualization module C3D Vision: provides high-quality visualization of the geometric model and provides interaction with the engineering software interface
  • C3D Converter exchange module: supports data exchange with other systems
 

All modules can be used together or separately from each other. The developer of the final application C3D Toolkit allows:

  • improve product functionality
  • quickly create a 3D product based on an existing 2D system
  • reduce your own development costs
  • improve the reliability and performance of the software product

The package includes dynamically linked libraries, auxiliary files to ensure work in various software development environments, demo applications in source codes and technical documentation.

Submit a request for C3D Toolkit testing

C3D Modeler

Geometric kernel C3D Modeler allows you to solve problems of 2D and 3D modeling in the developed applications. The module is responsible for building geometric models and provides some geometric calculations.

To describe the shape of the modeled object, the C3D Modeler geometric core uses a boundary representation, while the geometric model is built from three-dimensional bodies. Surfaces and curves are used to build solids in 3D. Next, the bodies are grouped into assembly units, from which assembly units of the next level can already be built.

To build a geometric model, the following are used:

  • solid modeling
  • surface modeling
  • wireframe modeling
  • direct modeling
  • sheet metal modeling
  • hybrid modeling

C3D Modeler supports many surfaces and curves that allow you to build complex shapes. This has the following functionality:

  • boolean operations
  • symmetry operations
  • cutting operations
  • rounding and chamfering edges
  • thin-walled body operations
  • edge dodging
  • construction of stiffeners
  • bending operations
  • stamping operations
  • building blinds
  • direct editing operations

Elements of the geometric model can be moved, rotated and scaled.

Geometric calculations available in C3D Modeler:

  • building a triangulation
  • construction of flat projections of a geometric model
  • calculation of surface area, volume and inertial characteristics
  • collision detection of model elements

In addition to the boundary representation, the geometric kernel supports the polygonal representation of the geometric model. The construction of a polygonal 3D model is carried out according to its boundary representation using triangulation. Such a model has the same structure as the model in the boundary representation. The elements of polygonal models are approximation objects built from plates and polygons. Such models are used for calculations and visualization.

One of the features of the geometric core of C3D Modeler is an open architecture that allows you to increase its functionality. Developers can create their own objects by inheriting them from the objects of the geometric kernel.

C3D Modeler for ODA

C3D Modeler for ODA provides a seamless integration between the C3D Modeler geometry engine and the ODA platform, giving members of the Open Design Alliance (ODA) access to 3D solid modeling functionality through the standard “OdDb3DSolid” API.

C3D Modeler for ODA is a lightweight version of the C3D Modeler geometry core and supports the following functionality.

Creation of elementary bodies:

  • ball
  • torus
  • cylinder
  • cone
  • block
  • wedge
  • prism
  • pyramid

Modeling of complex bodies:

  • extrusion
  • rotation
  • trajectory sweep
  • boolean operations on bodies
  • construction of chamfers and roundings
  • construction of thin-walled bodies

C3D B Shaper

The C3D B-Shaper module converts polygonal models to geometry with boundary representation (B-Rep). As a result of executing the algorithms, the user can edit the resulting model with familiar solid-state tools of the CAD system, significantly reducing the complexity and amount of data.

Applications of C3D B-Shaper:

  • Work in CAD and BIM systems with polygonal models from catalogs of finished and standard models of parts, elements of buildings and structures
  • Reverse engineering: editing models obtained as a result of 3D scanning
  • Processing the results of topological optimization in CAE systems
  • Algorithms for mesh smoothing, decimation and compression in computer graphics

The work with the module is carried out through the API. There are two options for its use: fully automatic and interactive.

The following features are available to developers:

  • Surface Recognition Accuracy Control SetTolerance
  • Segmentation of a polygon mesh SegmentMesh
  • Segmentation editing: UniteSegments merging , SplitSegment , and other methods
  • Reconstructing a Surface of a Specific Type on a FitSurfaceToSegment Segment
  • Building the Model in the Boundary View CreateBRepShell

The C3D B-Shaper module opens up the possibility of working with polygonal models in MCAD, AEC, BIM class systems. Using the module allows you to speed up calculations, simplify visualization, provide fast and high-quality formation of flat projections, and thereby increase the performance of the application when working with large projects.

C3D Solver

The C3D Solver parametric core connects elements of a geometric model using dimensions and constraints and ensures that the specified links are maintained when changing dimensions, model parameters, moving individual elements of the model, or making other changes to the model geometry.

Relationships between objects are described by geometric constraints, which can be dimensional and logical. Links are applied to two-dimensional (2D) and three-dimensional (3D) objects.

Application areas of C3D Solver:

  • creating 2D parametric sketches with driving dimensions and constraints
  • positioning assembly unit bodies using mates and dimensions
  • rebuilding the model while maintaining mates after making changes to the model
  • mechanism modeling
  • 3D frame structures

Logical constraints supported by C3D Solver:

  • object matching (2D and 3D)
  • point matching (2D)
  • concentricity (3D)
  • touch (2D and 3D)
  • length equality (2D)
  • equality of radii (2D)
  • fixing geometry (2D and 3D)
  • fixation of length and direction (2D)
  • fixing spline derivatives (2D)
  • point on curve (2D)
  • parallelism (2D and 3D)
  • perpendicularity (2D and 3D)
  • horizontal (2D and 3D)
  • verticality (2D and 3D)
  • mirror symmetry (2D and 3D)
  • cam mechanism (3D)
  • gear train (3D)
  • pinion rack (3D)
  • black box dependencies (3D)
  • linear and angular patterns

Dimensional constraints supported by C3D Solver:

  • distance (2D and 3D)
  • directional distance (2D)
  • angle between lines and planes (2D and 3D)
  • radius (2D and 3D)

Functionality of C3D Solver:

  • formation and solution of the system of constraints (2D and 3D)
  • geometry manipulation / object dragging (2D and 3D)
  • diagnostics of solvability of constraints (2D and 3D)
  • analysis of degrees of freedom (2D)
  • clustering of assembly elements (3D)
  • logging API calls (2D and 3D)

C3D Vision

The C3D Vision visualization module is required to configure the graphical interface of engineering software and visualize geometric models in it. The component controls the quality of rendering models using mathematical, software and hardware tools, which increases the speed of working with large drawings and assemblies.

The use of C3D Vision in software development opens up new possibilities for managing 3D scenes, allows you to use a ready-made tree for building 3D models, animation, interactive scene manipulation tools operating in the “user-computer” mode, as well as virtual devices that are an integral part of modern engineering software interface.

C3D Vision is tightly integrated with the geometric core C3D Modeler: in order to automatically generate a scene graph based on a mathematical model, it is enough to call only one function. Calculation of a polygonal model, search and rendering of objects can work both in synchronous and multithreaded modes.

C3D Vision operates with polygonal models. The scene is presented as a graph and divided into segments. Each segment has its own characteristics:

  • absolute and relative matrices
  • reference representation to geometry
  • array of geometry representations

C3D Vision implements a number of integrated solutions that simplify the interaction of an engineering software developer with a visualization module:

  • Slots and signals for communication of C3D Vision objects, which allows to reduce development code
  • Metadata from which you can find out the name of an object and its properties, or check whether an object inherits a certain class
  • Own events – a simplified event model for working, for example, with events from input devices
  • Section by a plane or several planes using OpenGL with the option to close the cut point
  • PMI objects (comments and dimensions)
  • Defining objects under the cursor

To achieve maximum performance, the visualization module implements control over the accuracy of triangulation mesh calculation and support for LOD levels of detail when working with static graphics, plus a number of settings for a dynamic scene:

  • hiding edges when rotating a 3D model
  • polygon smoothing (anti-aliasing)
  • removing minor scene elements
  • removing elements outside the scene
  • vertical sync, in which the scene refresh rate is synchronized with the frame rate on the monitor screen
  • acceleration of graphic calculations by using the capabilities of the video card

Available shaders:

  • object selection
  • shadow rendering
  • specularity

Indications for use of C3D Vision:

  • processing of large amounts of data generated by 3D models in massively parallel computing systems
  • loss of image quality when scaling a 3D model
  • lack of visualization support in account dynamics
  • unsatisfactory work with visualization directly in computing nodes
  • insufficient use of imaging hardware capabilities
  • the requirement to provide visualization, taking into account a large number of processors
  • problems with application support for different types of video adapters

C3D Converter

The C3D Converter exchange module is responsible for reading and writing 3D models in files of neutral formats and in native formats of various geometric kernels. Together with information about the geometric shape of the modeled object, it is possible to transfer information about the author, the name and designation of the object, as well as other notations.

C3D Converter reads and writes files that pass models in boundary representation in the following formats:

  • STEP with PMI (AP203, AP214 and AP242 protocols)
  • IGES (v.5.3)
  • Parasolid X_T, X_B (read v.29.0/write v.27.0)
  • ACIS SAT (read v.22.0/write v.2.0)

C3D Converter reads and writes files that transfer models in polygonal representation in the following formats:

  • STL
  • VRML (v.2.0)

C3D Converter supports import and export of JT format models (v.8.0 – 10.x) with the ability to transfer:

  • boundary representation of geometry
  • faceted representation of geometry
  • PMI product manufacturing information
  • LOD levels

Discussion

Discussion allows you to ask questions directly to the instructor.