C3D Toolkit. C3D Toolkit is a proprietary cross-platform geometric modeling kit software developed by Russian C3D Labs (previously part of ASCON Group). It's written in C++ . It can be licensed by other companies for use in their 3D computer graphics software products. The most widely known software in which C3D Toolkit is typically used are computer aided design (CAD), computer-aided manufacturing (CAM), and computer-aided engineering (CAE) systems.

C3D Toolkit provides routines for 3D modeling, 3D constraint solving, polygonal mesh-to-B-rep conversion, 3D visualization, and 3D file conversions etc.

History
Nikolai Golovanov is a graduate of the Mechanical Engineering department of Bauman Moscow State Technical University as a designer of space launch vehicles. Upon his graduation, he began with the Kolomna Engineering Design bureau, which at the time employed the future founders of ASCON, Alexander Golikov and Tatiana Yankina. While at the bureau, Dr Golovanov developed software for analyzing the strength and stability of shell structures.

In 1989, Alexander Golikov and Tatiana Yankina left Kolomna to start up ASCON as a private company. Although they began with just an electronic drawing board, even then they were already conceiving the idea of three-dimensional parametric modeling. This radical concept eventually changed flat drawings into three-dimensional models. The ASCON founders shared their ideas with Nikolai Golovanov, and in 1996 he moved to take up his current position with ASCON. As of 2012 he was involved in developing algorithms for C3D Toolkit.

In 2012 the earliest version of the C3D Modeller kernel was extracted from KOMPAS-3D CAD. It was later adopted to a range of different platforms and advertised as a separate product.

Overview 
It incorporates five modules:
 C3D Modeler constructs geometric models, generates flat projections of models, performs triangulations, calculates the inertial characteristics of models, and determines whether collisions occur between the elements of models;
 C3D Modeler for ODA enables advanced 3D modeling operations through the ODA's standard "OdDb3DSolid" API from the Open Design Alliance;
 C3D Solver makes connections between the elements of geometric models, and considers the geometric constraints of models being edited;
 C3D B-Shaper converts polygonal models to boundary representation (B-rep) bodies;
 C3D Vision controls the quality of rendering for 3D models using mathematical apparatus and software, and the workstation hardware;
 C3D Converter reads and writes geometric models in a variety of standard exchange formats.

Features

C3D Modeler
 Modeling 3D solids 
 Performing Boolean operations 
 Creating thin-walled solids 
 Filleting and chamfering parts 
 Modeling sheetmetal parts 
 Designing with direct modeling 
 Modeling 3D surfaces 
 Modeling 3D wireframe objects 
 Surface triangulation 
 Performing geometric calculations 
 Casting planar projections 
 Creating section views 
 Calculating mass inertia properties 
 Collision detection

C3D Converter
 Boundary representation (B-Rep):
 STEP incl. PMI (protocols AP203, AP214, AP242)
  Parasolid X_T, X_B (read v.29.0/write v.27.0)
 ACIS SAT (read v.22.0/write v.4.0, 7.0, 10.0)
 IGES (read v.5.3/write v.5.3)
Polygonal representation: 
 STL (read and write)
 VRML (read v.2.0/write v.2.0)
Both representations: 
 JT v.8.0 - 10.x incl. PMI and LOD (ISO 14306)

The C3D file format is also used as CAD exchange format, and it is gaining popularity in the global area.

C3D Vision
 Configures levels of detail (LOD)
 Applies shaders and widgets
 Uses 3D assembly feature tree managers
 Controls static graphics and dynamic scenes
 Sets anti-aliasing levels
 Culls invisible elements of scenes
 Speeds up visual computing through hardware acceleration
 Section planes
 Interactive 3D controls (manipulators)

C3D Solver
 2D constraint solver for 2D drawings and 3D sketches
 3D constraint solver for assemblies and kinematic analyses

The C3D Solver supports the following constraint types:
 Coincidence (available in 2D and 3D)
 Align points (2D)
 Angle (2D and 3D)
 Coaxiality (3D)
 Distance (2D and 3D)
 Equal lengths (2D)
 Equal radii (2D)
 Fix geometry (2D and 3D)
 Fix length and direction (2D)
 Incidence (2D)
 Parallelism (2D and 3D)
 Perpendicularity (2D and 3D)
 Radius (2D)
 Tangency (2D and 3D)

C3D B-Shaper
 Controls surface recognition accuracy 
 Segments polygonal meshes 
 Edit segments 
 Reconstructs segments in certain types of surfaces 
 Generates B-rep models

Development 

The toolkit is developed by using various software design tools and IDEs:
 MS Visual Studio 2017
 MS Visual Studio 2015
 MS Visual Studio 2013
 MS Visual Studio 2012
 MS Visual Studio 2010
 MS Visual Studio 2008
 Clang (for Mac OS)
 GCC (for Linux)
 NDK (for Android)

The supported programming languages include:
 C++
 C#
 JavaScript

Applications 
Since 2013 - the date the company started issuing a license for the toolkit -, several companies have adopted C3D software components for their products, users include:

nanoCAD and nanoCAD Mechanica use the C3D Modeler, C3D Solver, and C3D Converter components
KOMPAS-3D flexible 3D modeling system
  KOMPAS-Builder
KOMPAS:24 for Android
  TECHTRAN uses C3D to import 3D models in various formats, view them, prepare blanks for turning CNCs from 3D models of future parts, and retrieve geometric data from 3D models.
  LEDAS Geometry Comparison (LGC) technology to compare 3D models and pinpoint all of the differences between them
CAE system  PASS/EQUIP for comprehensive structural pressure vessels analysis
  ESPRIT Extra CAD is based on C3D kernel
Furniture Design CAD   K3-Furniture
Furniture Design CAD   K3-Mebel
  Quick CADCAM
Furniture Design CAD   BAZIS System 
3D AEC CAD software platform   Renga Architecture
Building information modeling system   Renga Structure for structural design buildings and facilities
  Staircon application for the timber staircase industry
  SolidEng
  Dietech India develops software to configure mold bases for various die casting machines
LOGOS software for simulation with supercomputers
PRISMA (Russian analogue of MCNP) 
EE Boost Acoustic VR
EE Boost Electromagnetics
  MKA Steel application for a single-story steel structure design
  Delta Design software for the automated design of electronic devices
Altium Designer software package for printed circuit board, field-programmable gate array and embedded software design
Quickfield finite element analysis software package

ÇİZEN Die (manufacturing) Design Software from Mubitek

Open BIM Systems from CYPE Software

VR Concept Virtual reality application uses C3D Converter for reading imported CAD data, and C3D Modeler for constructing and editing 3D models

Recently, C3D Modeler has been adapted to ODA Platform.

In April 2017, C3D Viewer was launched for end users. The application allows to read 3D models in common formats and write it to the C3D file format. Free version is available.

See also

 CAD standards
 Computer-aided technologies
 Computer-aided design
 Computer-aided manufacturing
 Computer-aided engineering
 Geometric modeling kernel
 Geometric modeling
 Solid modeling
 Boundary representation

References

External links 
 Official website

Graphics software
3D graphics software
Computer-aided design
Computer-aided design software
Computer-aided engineering software
CAD file formats
C++ libraries
3D scenegraph APIs
Application programming interfaces
Software development kits
Programming tools