External Tools and Libraries
The following sections describe tools and libraries external to build123d that extend its functionality.
Editors & Viewers
ocp-vscode
A viewer for OCP based Code-CAD (CadQuery, build123d) integrated into VS Code.
See: ocp-vscode (formerly known as cq_vscode)
Watch Jern create three build123d designs in realtime with Visual Studio Code and the ocp-vscode viewer extension in a timed event from the TooTallToby 2024 Spring Open Tournament: build123d entry video
cq-editor fork
GUI editor based on PyQT. This fork has changes from jdegenstein to allow easier use with build123d.
Yet Another CAD Viewer
A web-based CAD viewer for OCP models (CadQuery/build123d) that runs in any modern browser and supports
static site deployment. Features include interactive inspection of faces, edges, and vertices,
measurement tools, per-model clipping planes, transparency control, and hot reloading via yacv-server.
It also has a build123d playground for editing and sharing models directly in the browser
(demo).
PartCAD VS Code extension
A wrapper around ocp-vscode (see above) which requires build123d scripts to be
packaged using PartCAD (see below). While it requires the overhead of maintaining
the package, it provides some convenience features (such as UI controls to export models)
as well as functional features (such as UI controls to pass parameters into build123d scripts
and AI-based generative design tools).
It's also the most convenient tool to create new packages and parts. More PDM and PLM features are expected to arrive soon.
Part Libraries
bd_warehouse
On-demand generation of parametric parts that seamlessly integrate into build123d projects.
Parts available include:
fastener - Nuts, Screws, Washers and custom holes
flange - Standardized parametric flanges
pipe - Standardized parametric pipes
thread - Parametric helical threads (Iso, Acme, Plastic, etc.)
See: bd_warehouse
bd_beams_and_bars
2D sections and 3D beams generation (UPN, IPN, UPE, flat bars, ...)
See: bd_beams_and_bars
Superellipses & Superellipsoids
Superellipses are a more sophisticated alternative to rounded rectangles, with smoothly changing curvature. They are flexible shapes that can be adjusted by changing the "exponent" to get a result that varies between rectangular and elliptical, or from square, through squircle, to circle, and beyond...
Superellipses can be found:
in typefaces such as Melior, Eurostyle, and Computer Modern
as the shape of airliner windows, tables, plates
clipping the outline of iOS app icons
They were named and popularized in the 1950s-1960s by the Danish mathematician and poet Piet Hein, who used them in the winning design for the Sergels Torg roundabout in Stockholm.
Public PartCAD repository
See partcad.org for all the models packaged and published
using PartCAD (see below). This repository contains individual parts,
as well as large assemblies created using those parts. See
the OpenVMP robot
as an example of an assembly
py_gearworks generator
A gear generation framework that allows easy creation of a wide range of gears and drives.
See py_gearworks
bd_vslot
A library of V-Slot linear rail components, including V-Slot rails.
See: bd_vslot
Tools
blendquery
CadQuery and build123d integration for Blender.
See: blendquery
nething
3D generative AI for CAD modeling. Now everyone is an engineer. Make your ideas real.
See: nething
Listen to the following podcast which discusses nething in detail: The Next Byte Podcast
ocp-freecad-cam
CAM for CadQuery and Build123d by leveraging FreeCAD library. Visualizes in CQ-Editor and ocp-cad-viewer. Spiritual successor of cq-cam
See: ocp-freecad-cam
PartCAD
A package manager for CAD models. Build123d is the most supported Code-CAD framework, but CadQuery and OpenSCAD are also supported. It can be used by build123d designs to import parts from PartCAD repositories, and to publish build123d designs to be consumed by others.
MakerRepo library (mr)
The makerrepo Python package (imported as mr) is a lightweight library that
provides decorators such as @artifact, @customizable, and @cached to
annotate functions that build your models. The decorators have no effect on your
existing build123d code until it is discovered and run by tools such as the
makerrepo-cli or
MakerRepo.com CI. The goal is to enable a code-driven
workflow locally (e.g. command-line tools) or in CI. The library does not assume
how it will be consumed, so annotated functions can be used with other tools and
frameworks as well.
See MakerRepo Library Docs for more information and LaunchPlatform/makerrepo for source code.
makerrepo-cli
Command-line tool (available as makerrepo-cli or mr) to build artifacts,
run generators, snapshot artifacts, and manage cache locally. It scans the
current directory for Python packages and modules that use the MakerRepo library
decorators.
See MakerRepo CLI for documentation and LaunchPlatform/makerrepo-cli for source code.
dl4to4ocp
Library that helps perform topology optimization on your OCP-based CAD models (CadQuery/Build123d/...) using the dl4to library.
See: dl4to4ocp
OCP.wasm
This project ports the low-level dependencies required for build123d to run in a browser.
For a fully featured frontend, check out Yet Another CAD Viewer (see above).
See: OCP.wasm
partomatic
Partomatic provides a standardized system for building parametric models in build123d. The open nature of build123d is its strength, but it makes it difficult to build standardized tooling to interface with your projects. It makes it easy to:
import and export configuration files
easily export models for projects that provide large numbers of intersectional options
share the built-in web interface allowing end-users to change properties and see the results quickly
generate logs for compilation and web interface events that can be consumed by an OpenTelemetry platform
See: Partomatic