bd_warehouse — Parametric Part Library for build123d
Prerequisite: Load cad-build123d-general first — bd_warehouse parts
are returned as build123d Part objects and follow the same API conventions.
Purpose
Before modeling a common mechanical component from scratch, check whether
bd_warehouse already provides a parametric version. It is the
most-comprehensive build123d-native part library, written by the build123d
author (Gumyr), and covers the vast majority of "I need a standard part"
requests an agent will see.
This skill is the bd_warehouse reference. The Other build123d-compatible libraries appendix at the end points to a handful of niche libraries
(py_gearworks for advanced gears, bd_vslot for V-Slot rails, etc.) and the
separate cad-partcad-repository skill for the wider community-parts
catalog.
When to Use This Skill
- The user asks for a bolt, screw, nut, washer, bearing, simple gear,
sprocket, pipe, flange, helical thread, or heat-set insert hole.
- The user says "is there already a part for …?" or "I don't want to
model X from scratch".
- You're about to hand-model a standard mechanical component — check here
first.
- Need an advanced gear (helical, bevel, cycloid, profile shift, backlash
control)? Bounce out to py_gearworks via the appendix below.
- Need a community part that isn't on bd_warehouse (e.g. an OpenVMP robot
arm, a piece of furniture)? Bounce out to
cad-partcad-repository.
Install
pip install git+https://github.com/gumyr/bd_warehouse
⚠️ Install from git — bd_warehouse is not currently published to PyPI.
The git source tracks build123d's API closely; pinning a commit is wise
for reproducibility.
Sub-packages
| Sub-package |
What it provides |
Key classes |
fastener |
Nuts, screws, washers, custom holes |
HexNut, SocketHeadCapScrew, CounterSunkScrew, PlainWasher, HeatSetNut, ClearanceHole, TapHole, InsertHole, ThreadedHole |
bearing |
Ball bearings, press-fit holes |
SingleRowDeepGrooveBallBearing, PressFitHole |
gear |
Parametric gears (simple) — for helical/bevel/cycloid go to py_gearworks |
(see docs) |
flange |
NPS / class-rated pipe flanges |
(see docs) |
pipe |
NPS-standard parametric pipes |
(see docs) |
thread |
Helical threads (ISO, Acme, Metric Trapezoidal, Plastic Bottle) |
IsoThread, AcmeThread, MetricTrapezoidalThread, PlasticBottleThread |
sprocket |
Parametric sprockets |
Sprocket |
open_builds |
OpenBuilds V-slot ecosystem parts |
(see docs) |
For practical FDM-printable threads (thumbscrews, captive nuts,
printed-on-printed fits) load cad-build123d-printed-threads after
this skill — it covers the patterns and the bd_warehouse thread bugs.
Fastener Quick Reference
Discovering available parts
from bd_warehouse.fastener import Nut, HexNut, Screw, SocketHeadCapScrew
# List all nut subclasses
Nut.__subclasses__()
# List types for a class
HexNut.types() # {'iso4033', 'iso4032', 'iso4035'}
# List sizes for a type
HexNut.sizes("iso4032") # ['M1.6-0.35', 'M2-0.4', ..., 'M48-5']
# Find all fasteners that come in M6
Nut.select_by_size("M6-1")
Screw.select_by_size("M6-1")
Creating fasteners
from build123d import *
from bd_warehouse.fastener import HexNut, SocketHeadCapScrew, SetScrew
nut = HexNut(size="M3-0.5", fastener_type="iso4032")
screw = SocketHeadCapScrew(size="M6-1", fastener_type="iso4762", length=16)
setscrew = SetScrew(size="M6-1", fastener_type="iso4026", length=10 * MM)
# Imperial sizes work too
cap_screw = SocketHeadCapScrew(
size="#6-32", fastener_type="asme_b18.3", length=(1/2) * IN
)
Custom holes (the real power feature)
from bd_warehouse.fastener import (
ClearanceHole, TapHole, InsertHole, HeatSetNut, SocketHeadCapScrew,
)
screw = SocketHeadCapScrew(size="M2-0.4", length=16)
with BuildPart() as block:
Box(50, 50, 10)
with Locations((0, 0, 10)):
# Clearance hole sized to the screw — no manual dimensions needed
ClearanceHole(fastener=screw, fit="Normal")
# For 3D-printed heat-set inserts
insert = HeatSetNut(size="M3-0.5-Standard", fastener_type="McMaster-Carr")
with BuildPart() as post:
Cylinder(radius=5, height=10)
with Locations((0, 0, 10)):
InsertHole(fastener=insert)
Pillow block example (bearing + fasteners)
import copy
from bd_warehouse.bearing import PressFitHole, SingleRowDeepGrooveBallBearing
from bd_warehouse.fastener import ClearanceHole, SocketHeadCapScrew
from build123d import *
cap_screw = SocketHeadCapScrew(size="M2-0.4", length=16, simple=False)
bearing = SingleRowDeepGrooveBallBearing(size="M8-22-7")
with BuildPart() as pillow_block:
with BuildSketch():
RectangleRounded(50, 30, 2)
extrude(amount=10)
with Locations((0, 0, 10)):
PressFitHole(bearing=bearing, interference=0.025 * MM)
with GridLocations(38, 18, 2, 2):
ClearanceHole(fastener=cap_screw)
Class Reference
Nut Classes
| Class |
Standards |
DomedCapNut |
din1587 |
HeatSetNut |
McMaster-Carr, Hilitchi |
HexNut |
iso4032, iso4033, iso4035 |
HexNutWithFlange |
din1665 |
UnchamferedHexagonNut |
iso4036 |
SquareNut |
din557 |
Screw Classes
| Class |
Standards |
ButtonHeadScrew |
iso7380_1 |
ButtonHeadWithCollarScrew |
iso7380_2 |
CheeseHeadScrew |
iso14580, iso7048, iso1207 |
CounterSunkScrew |
iso2009, iso14582, iso14581, iso10642, iso7046 |
HexHeadScrew |
iso4017, din931, iso4014 |
HexHeadWithFlangeScrew |
din1662, din1665 |
PanHeadScrew |
asme_b_18.6.3, iso1580, iso14583 |
PanHeadWithCollarScrew |
din967 |
RaisedCheeseHeadScrew |
iso7045 |
RaisedCounterSunkOvalHeadScrew |
iso2010, iso7047, iso14584 |
SetScrew |
iso4026 |
SocketHeadCapScrew |
iso4762, asme_b18.3 |
Washer Classes
| Class |
Standards |
PlainWasher |
iso7094, iso7093, iso7089, iso7091 |
ChamferedWasher |
iso7090 |
CheeseHeadWasher |
iso7092 |
InternalToothLockWasher |
din6797, asme_b18.21.1 |
Hole Types
| Hole Class |
Purpose |
Key params |
ClearanceHole |
Through-hole for bolt to pass freely |
fastener, fit (Close/Normal/Loose), counter_sunk, captive_nut |
TapHole |
Pre-drilled for tapping threads |
fastener, material (Soft/Hard), fit |
ThreadedHole |
Hole with internal threads |
fastener, material, depth (required) |
InsertHole |
Sized for heat-set inserts (3D print) |
fastener (HeatSetNut only), manufacturing_compensation |
Thread Classes
IsoThread, AcmeThread, MetricTrapezoidalThread, TrapezoidalThread,
PlasticBottleThread, plus the base Thread class for arbitrary helical
profiles.
See cad-build123d-printed-threads for the FDM-printable patterns,
the interference parameter, the end_finishes length-overrun gotcha,
the algebra-fuse vs Compound multi-body trade-off, and the bugs that
bite trapezoidal-thread Mode.SUBTRACT operations.
Performance Tip
All fastener classes accept simple=True (default) which omits thread
geometry for dramatically faster rendering. Only set simple=False for
final renders or assembly validation.
Docs
Other build123d-compatible part libraries
Brief pointers to libraries that handle niches bd_warehouse does not.
Listed here so the agent has the catalog in one place; load the linked
external docs for full API details.
py_gearworks (advanced gears)
By GarryBGoode. Use this when bd_warehouse.gear isn't enough.
| Capability |
bd_warehouse gear |
py_gearworks |
| Spur |
✓ |
✓ |
| Helical |
limited |
✓ |
| Bevel |
✗ |
✓ |
| Cycloid |
✗ |
✓ |
| Profile shift |
✗ |
✓ |
| Backlash control |
✗ |
✓ |
mesh_to(other) positioning |
✗ |
✓ |
pip install git+https://github.com/GarryBGoode/py_gearworks
from py_gearworks import SpurGear
g1 = SpurGear(number_of_teeth=12, module=2, height=4, profile_shift=0.3)
g2 = SpurGear(number_of_teeth=23, module=2, height=4)
g1.mesh_to(g2, target_dir=UP, backlash=0.1, angle_bias=1)
part_1 = g1.build_part() # build123d Part
part_2 = g2.build_part()
Docs: https://gggears.readthedocs.io/en/latest/
Rule of thumb: Use bd_warehouse for sprockets and simple gears
alongside fasteners. Use py_gearworks for anything with profile shift,
bevel gears, helical meshing, or backlash control.
bd_vslot (V-Slot 2020 linear motion)
By James Keal. V-Slot 2020 rails, wheels, sliding T-nuts, end caps, build
plates, common bearings (625, 688, 105).
pip install bd-vslot
Docs: https://bd-vslot.readthedocs.io/
bd_beams_and_bars (structural sections)
By ExperimentsLabs. Flat bars, IPE/HEA/HEB/HEM/IPN beams, L bars,
rectangle/round tubes, T bars, UPE/UAP/UPN beams.
pip install git+https://gitlab.com/experimentslabs/3d/bd_beams_and_bars.git
from bd_beams_and_bars.profiles.flat_bars import Bar, Standards, Definition
part = Bar(Standards.LFL.LFL_160x5, 500)
custom = Bar(Definition(w=43, h=9), 500)
Docs: https://bd-beams-and-bars.3d.experimentslabs.com/
For round pipes specifically, bd_warehouse.pipe is usually a better
fit — NPS-standard parametric pipes with joints.
Superellipses & superellipsoids
By fanf2. Single-file Python module, not a pip package — copy
superellipse.py
into your project. Smooth alternative to rounded rectangles, useful for
typeface-style key caps, app-icon-style clipping, organic phone-case
shapes.
Public PartCAD repository
A package-manager-style ecosystem with hundreds of community-published
parts and assemblies (electrical, electromechanics, electronics,
furniture, medical, robotics, std, storage). Includes bd_warehouse parts,
plus much more. Browse: https://partcad.org/repository.
Don't use this skill for PartCAD specifics. The
cad-partcad-repository skill
covers pip install partcad, pc.get_part_build123d(...), the
CLI, and the AI-generated-part workflow. This entry is here only as
a pointer.
Quick Decision Table
| "I need a …" |
Library |
Skill |
| Bolt / screw / nut / washer |
bd_warehouse.fastener |
this skill |
| Heat-set insert hole (3D print) |
bd_warehouse.fastener.InsertHole |
this skill |
| Ball bearing / press-fit hole |
bd_warehouse.bearing |
this skill |
| Simple spur gear / sprocket |
bd_warehouse.gear / bd_warehouse.sprocket |
this skill |
| Helical / bevel / cycloid gear, profile shift, backlash |
py_gearworks |
this skill (appendix) |
| Pipe / flange (NPS) |
bd_warehouse.pipe / bd_warehouse.flange |
this skill |
| Helical thread (ISO, Acme, …) |
bd_warehouse.thread |
this skill + cad-build123d-printed-threads |
| Practical FDM-printable thread / thumbscrew / captive nut |
bd_warehouse.thread (with project patterns) |
cad-build123d-printed-threads |
| V-Slot 2020 rail / wheel / nut |
bd_vslot |
this skill (appendix) |
| Structural beam / bar |
bd_beams_and_bars |
this skill (appendix) |
| Superellipse / squircle shape |
superellipse.py (copy into project) |
this skill (appendix) |
| Browse / install community parts |
PartCAD package manager + repo |
cad-partcad-repository |
See Also
1---2name: cad-build123d-bd-warehouse3description: bd_warehouse — the comprehensive parametric part library for build123d (by the build123d author Gumyr). Covers fasteners (nuts/screws/washers + ClearanceHole/TapHole/InsertHole), bearings, gears, sprockets, threads, pipes, flanges, OpenBuilds parts. USE FOR: bolt, screw, nut, washer, hex nut, socket-head cap screw, clearance hole, tap hole, threaded hole, heat-set insert, ball bearing, press-fit hole, simple gear, sprocket, pipe, flange, OpenBuilds; also points to py_gearworks / bd_vslot / bd_beams_and_bars / superellipses for niches outside bd_warehouse.4license: MIT-05---67# bd_warehouse — Parametric Part Library for build123d89> **Prerequisite:** Load `cad-build123d-general` first — bd_warehouse parts10> are returned as build123d `Part` objects and follow the same API conventions.1112## Purpose1314Before modeling a common mechanical component from scratch, check whether15`bd_warehouse` already provides a parametric version. It is the16most-comprehensive build123d-native part library, written by the build123d17author (Gumyr), and covers the vast majority of "I need a standard part"18requests an agent will see.1920This skill is the **bd_warehouse reference**. The `Other build123d-compatible21libraries` appendix at the end points to a handful of niche libraries22(py_gearworks for advanced gears, bd_vslot for V-Slot rails, etc.) and the23separate `cad-partcad-repository` skill for the wider community-parts24catalog.2526## When to Use This Skill2728- The user asks for a **bolt, screw, nut, washer, bearing, simple gear,29 sprocket, pipe, flange, helical thread, or heat-set insert hole**.30- The user says *"is there already a part for …?"* or *"I don't want to31 model X from scratch"*.32- You're about to hand-model a standard mechanical component — check here33 first.34- Need an *advanced* gear (helical, bevel, cycloid, profile shift, backlash35 control)? Bounce out to py_gearworks via the appendix below.36- Need a community part that isn't on bd_warehouse (e.g. an OpenVMP robot37 arm, a piece of furniture)? Bounce out to `cad-partcad-repository`.3839---4041## Install4243```bash44pip install git+https://github.com/gumyr/bd_warehouse45```4647> ⚠️ Install from git — `bd_warehouse` is not currently published to PyPI.48> The git source tracks build123d's API closely; pinning a commit is wise49> for reproducibility.5051## Sub-packages5253| Sub-package | What it provides | Key classes |54|-------------|-----------------|-------------|55| `fastener` | Nuts, screws, washers, custom holes | `HexNut`, `SocketHeadCapScrew`, `CounterSunkScrew`, `PlainWasher`, `HeatSetNut`, `ClearanceHole`, `TapHole`, `InsertHole`, `ThreadedHole` |56| `bearing` | Ball bearings, press-fit holes | `SingleRowDeepGrooveBallBearing`, `PressFitHole` |57| `gear` | Parametric gears (simple) — for helical/bevel/cycloid go to py_gearworks | (see docs) |58| `flange` | NPS / class-rated pipe flanges | (see docs) |59| `pipe` | NPS-standard parametric pipes | (see docs) |60| `thread` | Helical threads (ISO, Acme, Metric Trapezoidal, Plastic Bottle) | `IsoThread`, `AcmeThread`, `MetricTrapezoidalThread`, `PlasticBottleThread` |61| `sprocket` | Parametric sprockets | `Sprocket` |62| `open_builds` | OpenBuilds V-slot ecosystem parts | (see docs) |6364> **For practical FDM-printable threads** (thumbscrews, captive nuts,65> printed-on-printed fits) load `cad-build123d-printed-threads` after66> this skill — it covers the patterns and the bd_warehouse thread bugs.6768## Fastener Quick Reference6970### Discovering available parts7172```python73from bd_warehouse.fastener import Nut, HexNut, Screw, SocketHeadCapScrew7475# List all nut subclasses76Nut.__subclasses__()7778# List types for a class79HexNut.types() # {'iso4033', 'iso4032', 'iso4035'}8081# List sizes for a type82HexNut.sizes("iso4032") # ['M1.6-0.35', 'M2-0.4', ..., 'M48-5']8384# Find all fasteners that come in M685Nut.select_by_size("M6-1")86Screw.select_by_size("M6-1")87```8889### Creating fasteners9091```python92from build123d import *93from bd_warehouse.fastener import HexNut, SocketHeadCapScrew, SetScrew9495nut = HexNut(size="M3-0.5", fastener_type="iso4032")96screw = SocketHeadCapScrew(size="M6-1", fastener_type="iso4762", length=16)97setscrew = SetScrew(size="M6-1", fastener_type="iso4026", length=10 * MM)9899# Imperial sizes work too100cap_screw = SocketHeadCapScrew(101 size="#6-32", fastener_type="asme_b18.3", length=(1/2) * IN102)103```104105### Custom holes (the real power feature)106107```python108from bd_warehouse.fastener import (109 ClearanceHole, TapHole, InsertHole, HeatSetNut, SocketHeadCapScrew,110)111112screw = SocketHeadCapScrew(size="M2-0.4", length=16)113114with BuildPart() as block:115 Box(50, 50, 10)116 with Locations((0, 0, 10)):117 # Clearance hole sized to the screw — no manual dimensions needed118 ClearanceHole(fastener=screw, fit="Normal")119120# For 3D-printed heat-set inserts121insert = HeatSetNut(size="M3-0.5-Standard", fastener_type="McMaster-Carr")122with BuildPart() as post:123 Cylinder(radius=5, height=10)124 with Locations((0, 0, 10)):125 InsertHole(fastener=insert)126```127128### Pillow block example (bearing + fasteners)129130```python131import copy132from bd_warehouse.bearing import PressFitHole, SingleRowDeepGrooveBallBearing133from bd_warehouse.fastener import ClearanceHole, SocketHeadCapScrew134from build123d import *135136cap_screw = SocketHeadCapScrew(size="M2-0.4", length=16, simple=False)137bearing = SingleRowDeepGrooveBallBearing(size="M8-22-7")138139with BuildPart() as pillow_block:140 with BuildSketch():141 RectangleRounded(50, 30, 2)142 extrude(amount=10)143 with Locations((0, 0, 10)):144 PressFitHole(bearing=bearing, interference=0.025 * MM)145 with GridLocations(38, 18, 2, 2):146 ClearanceHole(fastener=cap_screw)147```148149## Class Reference150151### Nut Classes152153| Class | Standards |154|-------|-----------|155| `DomedCapNut` | din1587 |156| `HeatSetNut` | McMaster-Carr, Hilitchi |157| `HexNut` | iso4032, iso4033, iso4035 |158| `HexNutWithFlange` | din1665 |159| `UnchamferedHexagonNut` | iso4036 |160| `SquareNut` | din557 |161162### Screw Classes163164| Class | Standards |165|-------|-----------|166| `ButtonHeadScrew` | iso7380_1 |167| `ButtonHeadWithCollarScrew` | iso7380_2 |168| `CheeseHeadScrew` | iso14580, iso7048, iso1207 |169| `CounterSunkScrew` | iso2009, iso14582, iso14581, iso10642, iso7046 |170| `HexHeadScrew` | iso4017, din931, iso4014 |171| `HexHeadWithFlangeScrew` | din1662, din1665 |172| `PanHeadScrew` | asme_b_18.6.3, iso1580, iso14583 |173| `PanHeadWithCollarScrew` | din967 |174| `RaisedCheeseHeadScrew` | iso7045 |175| `RaisedCounterSunkOvalHeadScrew` | iso2010, iso7047, iso14584 |176| `SetScrew` | iso4026 |177| `SocketHeadCapScrew` | iso4762, asme_b18.3 |178179### Washer Classes180181| Class | Standards |182|-------|-----------|183| `PlainWasher` | iso7094, iso7093, iso7089, iso7091 |184| `ChamferedWasher` | iso7090 |185| `CheeseHeadWasher` | iso7092 |186| `InternalToothLockWasher` | din6797, asme_b18.21.1 |187188### Hole Types189190| Hole Class | Purpose | Key params |191|------------|---------|------------|192| `ClearanceHole` | Through-hole for bolt to pass freely | `fastener`, `fit` (Close/Normal/Loose), `counter_sunk`, `captive_nut` |193| `TapHole` | Pre-drilled for tapping threads | `fastener`, `material` (Soft/Hard), `fit` |194| `ThreadedHole` | Hole with internal threads | `fastener`, `material`, `depth` (required) |195| `InsertHole` | Sized for heat-set inserts (3D print) | `fastener` (HeatSetNut only), `manufacturing_compensation` |196197### Thread Classes198199`IsoThread`, `AcmeThread`, `MetricTrapezoidalThread`, `TrapezoidalThread`,200`PlasticBottleThread`, plus the base `Thread` class for arbitrary helical201profiles.202203> See `cad-build123d-printed-threads` for the FDM-printable patterns,204> the `interference` parameter, the `end_finishes` length-overrun gotcha,205> the algebra-fuse vs Compound multi-body trade-off, and the bugs that206> bite trapezoidal-thread `Mode.SUBTRACT` operations.207208## Performance Tip209210All fastener classes accept `simple=True` (default) which omits thread211geometry for dramatically faster rendering. Only set `simple=False` for212final renders or assembly validation.213214## Docs215216- Full docs: <https://bd-warehouse.readthedocs.io/en/latest/>217- Fasteners: <https://bd-warehouse.readthedocs.io/en/latest/fastener.html>218- Bearings: <https://bd-warehouse.readthedocs.io/en/latest/bearing.html>219- Gears: <https://bd-warehouse.readthedocs.io/en/latest/gear.html>220- Threads: <https://bd-warehouse.readthedocs.io/en/latest/thread.html>221- Source: <https://github.com/gumyr/bd_warehouse>222223---224225## Other build123d-compatible part libraries226227Brief pointers to libraries that handle niches `bd_warehouse` does not.228Listed here so the agent has the catalog in one place; load the linked229external docs for full API details.230231### py_gearworks (advanced gears)232233By GarryBGoode. Use this when `bd_warehouse.gear` isn't enough.234235| Capability | bd_warehouse `gear` | py_gearworks |236|---|:---:|:---:|237| Spur | ✓ | ✓ |238| Helical | limited | ✓ |239| Bevel | ✗ | ✓ |240| Cycloid | ✗ | ✓ |241| Profile shift | ✗ | ✓ |242| Backlash control | ✗ | ✓ |243| `mesh_to(other)` positioning | ✗ | ✓ |244245```bash246pip install git+https://github.com/GarryBGoode/py_gearworks247```248249```python250from py_gearworks import SpurGear251252g1 = SpurGear(number_of_teeth=12, module=2, height=4, profile_shift=0.3)253g2 = SpurGear(number_of_teeth=23, module=2, height=4)254g1.mesh_to(g2, target_dir=UP, backlash=0.1, angle_bias=1)255256part_1 = g1.build_part() # build123d Part257part_2 = g2.build_part()258```259260Docs: <https://gggears.readthedocs.io/en/latest/>261262**Rule of thumb:** Use `bd_warehouse` for sprockets and simple gears263alongside fasteners. Use `py_gearworks` for anything with profile shift,264bevel gears, helical meshing, or backlash control.265266### bd_vslot (V-Slot 2020 linear motion)267268By James Keal. V-Slot 2020 rails, wheels, sliding T-nuts, end caps, build269plates, common bearings (625, 688, 105).270271```bash272pip install bd-vslot273```274275Docs: <https://bd-vslot.readthedocs.io/>276277### bd_beams_and_bars (structural sections)278279By ExperimentsLabs. Flat bars, IPE/HEA/HEB/HEM/IPN beams, L bars,280rectangle/round tubes, T bars, UPE/UAP/UPN beams.281282```bash283pip install git+https://gitlab.com/experimentslabs/3d/bd_beams_and_bars.git284```285286```python287from bd_beams_and_bars.profiles.flat_bars import Bar, Standards, Definition288289part = Bar(Standards.LFL.LFL_160x5, 500)290custom = Bar(Definition(w=43, h=9), 500)291```292293Docs: <https://bd-beams-and-bars.3d.experimentslabs.com/>294295> For round pipes specifically, `bd_warehouse.pipe` is usually a better296> fit — NPS-standard parametric pipes with joints.297298### Superellipses & superellipsoids299300By fanf2. Single-file Python module, not a pip package — copy301[`superellipse.py`](https://github.com/fanf2/kbd/blob/model-b/keybird42/superellipse.py)302into your project. Smooth alternative to rounded rectangles, useful for303typeface-style key caps, app-icon-style clipping, organic phone-case304shapes.305306### Public PartCAD repository307308A package-manager-style ecosystem with hundreds of community-published309parts and assemblies (electrical, electromechanics, electronics,310furniture, medical, robotics, std, storage). Includes bd_warehouse parts,311plus much more. Browse: <https://partcad.org/repository>.312313> **Don't use this skill for PartCAD specifics.** The314> [`cad-partcad-repository`](../cad-partcad-repository/SKILL.md) skill315> covers `pip install partcad`, `pc.get_part_build123d(...)`, the316> CLI, and the AI-generated-part workflow. This entry is here only as317> a pointer.318319---320321## Quick Decision Table322323| "I need a …" | Library | Skill |324|---|---|---|325| Bolt / screw / nut / washer | `bd_warehouse.fastener` | this skill |326| Heat-set insert hole (3D print) | `bd_warehouse.fastener.InsertHole` | this skill |327| Ball bearing / press-fit hole | `bd_warehouse.bearing` | this skill |328| Simple spur gear / sprocket | `bd_warehouse.gear` / `bd_warehouse.sprocket` | this skill |329| Helical / bevel / cycloid gear, profile shift, backlash | `py_gearworks` | this skill (appendix) |330| Pipe / flange (NPS) | `bd_warehouse.pipe` / `bd_warehouse.flange` | this skill |331| Helical thread (ISO, Acme, …) | `bd_warehouse.thread` | this skill + `cad-build123d-printed-threads` |332| Practical FDM-printable thread / thumbscrew / captive nut | `bd_warehouse.thread` (with project patterns) | `cad-build123d-printed-threads` |333| V-Slot 2020 rail / wheel / nut | `bd_vslot` | this skill (appendix) |334| Structural beam / bar | `bd_beams_and_bars` | this skill (appendix) |335| Superellipse / squircle shape | `superellipse.py` (copy into project) | this skill (appendix) |336| Browse / install community parts | PartCAD package manager + repo | `cad-partcad-repository` |337338---339340## See Also341342- Official build123d listing: <https://build123d.readthedocs.io/en/latest/external.html#part-libraries>343- `cad-build123d-general` — foundational build123d API + idioms (load first)344- `cad-build123d-printed-threads` — practical FDM-printable thread patterns + bd_warehouse thread bugs345- `cad-partcad-repository` — sibling skill, covers the PartCAD ecosystem in depth