No description
Find a file
Jeff Epler 34e0cd7f26 Merge pull request #1 from KurtJacobson/master
point link to OSC home instead of pulls
2017-09-07 07:33:24 -05:00
docs docs: improve markup 2017-08-12 10:33:19 -05:00
examples Major rewrite: switch from occmodel to pythonocc-core + vtk 2017-08-11 21:35:32 -05:00
images update example image 2017-08-12 10:13:51 -05:00
.coveragerc a script to run coverage test and report 2017-08-06 15:03:55 -05:00
.gitignore Major rewrite: switch from occmodel to pythonocc-core + vtk 2017-08-11 21:35:32 -05:00
do-coverage.sh Major rewrite: switch from occmodel to pythonocc-core + vtk 2017-08-11 21:35:32 -05:00
do-images.sh a script to create an image from a poc file 2017-08-12 09:57:33 -05:00
LICENSE Initial commit 2017-08-05 21:25:14 -05:00
poc Major rewrite: switch from occmodel to pythonocc-core + vtk 2017-08-11 21:35:32 -05:00
pocimg fix pocimg so it actually works 2017-08-12 10:11:10 -05:00
poctools.py fix docstring copypasta 2017-08-12 10:57:31 -05:00
pocview Major rewrite: switch from occmodel to pythonocc-core + vtk 2017-08-11 21:35:32 -05:00
README.md point link to OSC home instead of pulls 2017-09-06 23:45:52 -04:00
setup.py a script to create an image from a poc file 2017-08-12 09:57:33 -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 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.