Skip to content
This repository has been archived by the owner on Jun 11, 2021. It is now read-only.
/ poc Public archive

Python OCE Composer - create 3D models in a high level language with a minimum of boilerplate

License

Notifications You must be signed in to change notification settings

jepler/poc

Repository files navigation

poc: Python OCE Composer

Documentation Status

poc is a tool in the vein of OpenSCAD for creating 3D models in a high level language with a minimum of boilerplate.

poc programs are Python2 programs, executed in an environment that provides convenient shorthand for performing geometric operations.

Python2 is used instead of Python3 because a python3 compatible version of vtk is not availble in debian stretch. However, the python3-like features of print_function and division are automatically enabled.

poc uses OpenCASCADE (via pythonocc-core) to implement its geometric operations. This means it has different strengths and weaknesses compared to OpenSCAD, which uses CGAL. For instance, OpenCASCADE has fillet as a first-class operation, while it lacks minkowski and hull which are quite frequently used in OpenSCAD.

pocview showing selective fillet of CSG object

Setup

  • Install dependencies
  • Run setup, e.g., sudo python setup.py install
  • Invoke pocview somefile.poc to lanuch a viewer. It autoupdates if you modify the input file.
  • Invoke poc somefile.poc to create somefile.stl
  • or use #!/usr/bin/env poc so that ./somefile.poc is executable

Dependencies

Stability

The the design of the poc standard library is very much in flux, and there are likely to be compatibility-breaking changes as it develops.

About

Python OCE Composer - create 3D models in a high level language with a minimum of boilerplate

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages