Plugins (ServiceLibs)
ClassCAD is designed as a modular CAD backend.
Core functionality, domain-specific capabilities, and integrations are intentionally separated and provided through a plugin-based architecture.
Plugins extend the ClassCAD runtime with well-defined services while keeping the core system stable and reproducible in the execution of CAD logic, and independent from specific technologies or vendors.
What is a ClassCAD Plugin?
A ClassCAD plugin is a native service library that is loaded by the ClassCAD runtime at startup.
Plugins:
- are developed in C++
- are integrated directly into the runtime
- register service functions that can be called from ClassCAD classes
- are fully controlled and managed by the runtime
- are exclusively developed and maintained by the ClassCAD team
From the perspective of ClassCAD applications, plugins are not accessed directly.
Instead, applications use services exposed by the runtime, which ensures:
- a stable execution model
- strict separation of concerns
- compatibility over long-lived CAD systems of application code
Why Plugins?
The plugin architecture allows ClassCAD to:
- integrate complex native technologies (e.g. geometry kernels, solvers)
- remain independent from specific CAD kernels or solver implementations
- evolve individual components without breaking applications
- keep the core runtime small, stable, and predictable
By developing and maintaining all plugins internally, the ClassCAD team ensures a consistent quality level, predictable behavior, and stability over long-lived CAD systems across all deployments.
Types of Plugins
ClassCAD uses plugins to provide functionality such as:
- solid and surface geometry
- constraint solving (2D and 3D)
- numerical algorithms
- import/export capabilities
- specialized CAD or engineering services
Some plugins are essential building blocks of most CAD applications, while others address specific domains or use cases.
Plugin Usage in ClassCAD Applications
Plugins are not part of the ClassCAD language itself.
Instead:
- plugins register service functions in the runtime
- these services become available to ClassCAD classes
- system classes and application classes build APIs on top of these services
This ensures that ClassCAD applications remain:
- deterministic and reproducible in the execution of CAD logic
- portable
- independent from native implementations
Available Plugins
The following sections describe the most important plugins shipped with or supported by ClassCAD, including:
- Solid Kernel
- Constraint Solver
- additional runtime extensions
Each plugin page explains its role, responsibilities, and how it fits into the overall ClassCAD architecture.