shapesmith.deprecated
shapesmith.deprecated copied to clipboard
Open source HTML5 3D modelling
Would be useful for thingiverse integration.
Move UI messages to i18n framework and allow contribution of i18n mappings Also consider i18n mappings for object types in the backend

this json ; [{"type":"subtract","children":[{"type":"cylinder","parameters":{"r":3,"h":14},"children":[],"transforms":[{"type":"rotate","origin":{"x":8,"y":13,"z":7},"parameters":{"u":0,"v":1,"w":0,"angle":90,"n":0}},{"type":"translate","origin":{"x":8,"y":13,"z":0},"parameters":{"u":-8,"v":-13,"w":-1,"n":0}}],"origin":{"x":8,"y":13,"z":0}},{"type":"subtract","children":[{"type":"sphere","parameters":{"r":4},"children":[],"transforms":[],"origin":{"x":0,"y":0,"z":7}},{"type":"cuboid","parameters":{"u":10,"v":10,"w":10},"origin":{"x":-5,"y":-5,"z":0}}]}]}] produces this for me; 
It's sometimes useful to move to the rotation point of a rotation (i.e. put it on the workplane instead of using the center.
when cut a cylinder from a cube, the edge and faces don't match. on inspection the cylinder hole has 24 sides, while the edge 'highlight' line has 20 sides
OpenCASCADE makes it simple to add an angle to these primitive as an optional value