{"id":27626,"library":"build123d","title":"build123d","description":"A Python CAD programming library for creating parametric 3D models using a scripting approach. Current version is 0.10.0, requiring Python >=3.10 and <3.14. It provides both algebra and builder modes for constructing solids, and is built on top of cadquery-ocp (OpenCascade Python bindings). Release cadence is irregular, with major versions around every few months.","status":"active","version":"0.10.0","language":"python","source_language":"en","source_url":"https://github.com/gumyr/build123d","tags":["cad","3d-printing","parametric","openscad-alternative"],"install":[{"cmd":"pip install build123d","lang":"bash","label":"Standard pip install"},{"cmd":"conda install -c conda-forge build123d","lang":"bash","label":"Conda install (if available)"}],"dependencies":[{"reason":"OpenCascade Python bindings used for geometric operations","package":"cadquery-ocp","optional":false},{"reason":"Visualisation in VSCode (recommended for Jupyter or VSCode)","package":"ocp_vscode","optional":true}],"imports":[{"wrong":"from build123d import Box","symbol":"Box","correct":"from build123d import Box"}],"quickstart":{"code":"from build123d import *\n\nwith BuildPart() as part:\n    Box(10, 10, 10)\n    with Locations((0, 0, 5)):\n        Cylinder(radius=2, height=6, mode=Mode.SUBTRACT)\n\n# Export to STL\nexport_stl(part.part, \"example.stl\")\n\n# To view in Jupyter (requires ocp_vscode):\n# show_object(part.part)","lang":"python","description":"Creates a 10x10x10 box and subtracts a cylinder from its top face. Then exports the result as STL."},"warnings":[{"fix":"Change `shape.is_valid()` to `shape.is_valid`, `shape.is_null()` to `shape.is_null`, `shape.shape_type()` to `shape.shape_type`.","message":"In v0.10.0, methods `is_null`, `is_valid`, `shape_type` were changed to properties – remove parentheses from calls like `shape.is_valid()` -> `shape.is_valid`.","severity":"breaking","affected_versions":">=0.10.0"},{"fix":"Use current names: `Solid` instead of `S`, `Face` instead of `F`, etc.","message":"In v0.9.0, several previously deprecated items were removed, including old-style `S` prefix aliases (e.g., `Solid` instead of `S`). Check release notes for full list.","severity":"deprecated","affected_versions":">=0.9.0"},{"fix":"Either create a fresh virtual environment, or uninstall VTK and reinstall a compatible version: `pip uninstall vtk && pip install vtk==9.3.1`.","message":"VTK version conflict when upgrading from build123d <=0.8.0 to 0.9.0 or later – old VTK from cadquery-ocp can cause import errors.","severity":"gotcha","affected_versions":">=0.9.0"},{"fix":"Install `pip install ocp_vscode` or use `export_stl`/`export_step` to save files.","message":"`show_object` only works with the ocp_vscode viewer; if not installed, you'll get an ImportError or runtime error.","severity":"gotcha","affected_versions":"All"}],"env_vars":null,"search_vec":"'0.10.0':19 '3.10':22 '3.14':24 '3d':10,60 '3d-printing':59 'algebra':28 'altern':65 'approach':15 'around':54 'bind':46 'build123d':1 'builder':30 'built':37 'cad':4,58 'cadenc':48 'cadqueri':42 'cadquery-ocp':41 'construct':33 'creat':8 'current':16 'everi':55 'irregular':50 'librari':6 'major':52 'mode':31 'model':11 'month':57 'ocp':43 'opencascad':44 'openscad':64 'openscad-altern':63 'parametr':9,62 'print':61 'program':5 'provid':26 'python':3,21,45 'releas':47 'requir':20 'script':14 'solid':34 'top':39 'use':12 'version':17,53","created_at":"2026-05-09T05:51:14.767508+00:00","updated_at":"2026-05-09T05:51:14.767508+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\n  File \"/tmp/tmp4jegy1jk/venv/lib/python3.12/site-packages/build123d/__init__.py\", line 3, in <module>\n    from build123d.build_common import *\n  File \"/tmp/tmp4jegy1jk/venv/lib/python3.12/site-packages/build123d/build_common."},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/gumyr/build123d","docs":"https://build123d.readthedocs.io/en/latest/index.html","changelog":null,"pypi":"https://pypi.org/project/build123d/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["serialization","data"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}