Api |link| | Cadwork

Cadwork API: an enlightening overview

Cadwork is a suite of CAD/CAM/BIM tools popular in timber construction, carpentry, and building projects where precise joinery and fabrication data matter. The cadwork API (application programming interface) lets developers and advanced users extend, integrate, and automate cadwork workflows by exposing programmatic access to model data, geometry, and project metadata. Below is a concise, practical exploration of what the cadwork API enables, common use cases, integration patterns, and practical tips for getting started.

1. Overview & purpose

Cadwork is a CAD/BIM platform focused on timber construction, joinery, and general structural modeling. The Cadwork API lets developers and power users: cadwork api

  • Read and modify model geometry and element properties
  • Extract quantities, materials, and joinery data for estimating and fabrication
  • Generate CNC/ERP-friendly outputs (e.g., part lists, machine code)
  • Automate repetitive modeling tasks and batch operations
  • Build plugins/add-ons that extend the cadwork UI or run as headless scripts

What is cadwork?

cadwork is a leading 3D CAD/BIM software widely used in the timber construction, civil engineering, and steel construction industries. Unlike generic CAD platforms, cadwork specializes in frame manufacturing, roof trusses, modular buildings, and heavy timber engineering. Cadwork API: an enlightening overview Cadwork is a

Scope covered

  • Overview and capabilities
  • Architecture, access methods, and data model
  • Common use cases and workflows
  • Integration points and file formats
  • Authentication, deployment, and versioning notes
  • Limitations, risks, and recommendations

Get the active project

project = ctrl.get_project()

6. Deployment & Registration

Once you compile your code into a .dll:

  1. Placement: Place the DLL in the plugins folder of your cadwork installation (e.g., C:\cadwork\v30\plugins).
  2. Menu Integration:
    • You often need to create a .cwpm (cadwork Plugin Menu) file or add entries to the menu.xml configuration file.
    • This tells cadwork which class in your DLL to instantiate when a user clicks a menu button.
  3. Security: Cadwork may require the DLL to be "signed" or approved by an administrator depending on company security policies.