Skip to main content

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.