Skip to content

PythonSCAD

Design precise 3D models with Python.

PythonSCAD is a script-based 3D modeling application with a full GUI. Write parametric, engineering-oriented models in Python, preview them live, and export to STL, 3MF, and other formats for 3D printing and manufacturing.

Get started Tutorial All downloads

Step-by-step: building a camera housing in the PythonSCAD GUI

Is PythonSCAD for you?

A great fit if you…

  • think in code and want precise, repeatable parametric models
  • already know Python — or want to learn Python or programming through something tangible
  • need models for 3D printing, CNC, or engineering workflows
  • want the full Python ecosystem: pip packages, your IDE, Jupyter notebooks

Probably not the right tool if you…

  • need organic sculpting, animation, or VFX → Blender
  • prefer click-to-design CAD → FreeCAD

Why PythonSCAD?

  • Python-native — write .py scripts directly in the app; no external code generator
  • Instant visual feedback — see your code become a 3D model as you work; export and 3D-print something you wrote
  • Rewarding for learners — a few lines of Python can produce a useful physical object, which makes programming feel concrete
  • Live preview — interactive 3D view, customizer, and export in one desktop app
  • Powerful geometry — booleans, extrusions, fillets, surfaces, and more
  • Cross-platform — Windows, Linux, macOS, plus a browser WebAssembly build
  • Open and extensible — open source; integrate libraries, scripts, and tooling you already use

From code to model

from pythonscad import *

c = cube([10, 20, 30]).color("Tomato")
show(c)
from openscad import *

c = cube([10, 20, 30]).color("Tomato")
show(c)

Example model rendered in PythonSCAD

Browse the Examples gallery for QR codes, gyroids, GDS import, and more.

Learn more

  1. Download for your platform — or use the button above
  2. Installation — APT/YUM repos, AppImage, PyPI, and build options
  3. Getting Started tutorial — hands-on walkthrough
  4. Cheat sheet and API reference

Community


PythonSCAD is open source on GitHub. It builds on the solid foundation of OpenSCAD and stays closely synced with upstream; Python-specific features are developed here. See Upstream sync.