No description
Find a file
2017-08-09 21:04:30 -05:00
docs Intoduce 'Pipe' 2017-08-06 17:35:00 -05:00
examples examples: these fudge factors can be removed 2017-08-08 22:16:13 -05:00
images show what poc does 2017-08-05 21:25:14 -05:00
.coveragerc a script to run coverage test and report 2017-08-06 15:03:55 -05:00
.gitignore a script to run coverage test and report 2017-08-06 15:03:55 -05:00
do-coverage.sh a script to run coverage test and report 2017-08-06 15:03:55 -05:00
LICENSE Initial commit 2017-08-05 21:25:14 -05:00
poc poc: A usage message when invoked with no filename 2017-08-06 15:03:54 -05:00
poctools.py Revert "compiler flags are no longer needed" 2017-08-09 21:04:30 -05:00
pocview pocview: this fudge can go now that spheres look better 2017-08-08 22:16:13 -05:00
README.md move doc badge to the top 2017-08-06 09:43:14 -05:00
setup.py let there be python3 2017-08-06 08:53:19 -05:00

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 Python3 programs, executed in an environment that provides convenient shorthand for performing geometric operations.

poc uses OpenCASCADE (via occmodel) 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 python3 setup.py install
  • Invoke pocview somefile.poc to lanuch a viewer. It autoupdates if you modify the input file. Note that some versions of gltools create fullscreen windows unconditionally (and iconify them when they lose focus), which is inconvenient for this use.
  • 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.