CadQuery
CadQuery is an intuitive, easy-to-use Python module for building parametric 3D CAD models. Using CadQuery, you can write short, simple scripts that produce high quality CAD models. It is easy to make many different objects using a single script that can be customized.
Features
- Parametric Modeling
- Splines
- Python-based
CadQuery News & Activities
Recent activities
CadQuery information
What is CadQuery?
CadQuery is an intuitive, easy-to-use Python module for building parametric 3D CAD models. Using CadQuery, you can write short, simple scripts that produce high quality CAD models. It is easy to make many different objects using a single script that can be customized.
CadQuery is often compared to OpenSCAD. Like OpenSCAD, CadQuery is an open-source, script based, parametric model generator. However, CadQuery stands out in many ways and has several key advantages:
- The scripts use a standard programming language, Python, and thus can benefit from the associated infrastructure. This includes many standard libraries and IDEs.
- CadQuery's CAD kernel Open CASCADE Technology (OCCT) is much more powerful than the CGAL used by OpenSCAD. Features supported natively by OCCT include NURBS, splines, surface sewing, STL repair, STEP import/export, and other complex operations, in addition to the standard CSG operations supported by CGAL
- Ability to import/export STEP and the ability to begin with a STEP model, created in a CAD package, and then add parametric features. This is possible in OpenSCAD using STL, but STL is a lossy format.
- CadQuery scripts require less code to create most objects, because it is possible to locate features based on the position of other features, workplanes, vertices, etc.
- CadQuery scripts can build STL, STEP, AMF and 3MF faster than OpenSCAD.
CadQuery was built to be used as a Python library without any GUI. This makes it great for use cases such as integration into servers, or creating scientific and engineering scripts. Options for visualization are also available including CQ-Editor and JupyterLab.
For those who are interested, the OCP repository contains the current OCCT wrapper used by CQ.
Key features:
- Build 3D models with scripts that are as close as possible to how you would describe the object to a human.
- Create parametric models that can be very easily customized by end users.
- Output high quality (loss-less) CAD formats like STEP and DXF in addition to STL, VRML, AMF and 3MF.
- Provide a non-proprietary, plain text model format that can be edited and executed with only a web browser.
- Offer advanced modeling capabilities such as fillets, curvilinear extrudes, parametric curves and lofts.
- Build nested assemblies out of individual parts and other assemblies.




Comments and Reviews
Due to OpenCASCADE, CadQuery provides much faster and more powerful 3D operations compared to OpenSCAD. Also being able to use all Python libraries that you need is a big plus for me.