> > |
Better than STL
Well. Almost any format really. STL is the worst data structure ever devised. However, what I (AB) would like to do next is to have a format that goes:
The file type extension is: .csg
The mime type should be: model/reprap-fab-at-home-item
Which would be a CSG tree with planar half-spaces as leaves. It is easy to convert (correct) STL files to this format using Tony Woo's alternating sum-of-volumes algorithm.
CSG has a number of advantages:
- Always solid - the item may not be the right shape if you make a mistake, but it never has open faces, missing edges and so on.
- Fast to evaluate for 3D printing - CSG lets you know very fast if any given point in space is inside or outside.
- Easy offsetting - to offset a CSG object made from planar faces, you just change the constant term in the face equations; everything then sorts itself out automatically.
- Easy to slice - you just set the Z terms in the CSG expression to the height you want, and you get a slice immediately.
- Easy to infill - you cast rays across for the infill zig-zag; you membership test the middle of each ray segment and never get a dud one.
- Potential function - at any given point in the object, you know which surface generated the potential at that point. That allows you easily to do things like specifying variable material properties through a solid so (for example) it's rigid polymer at one end gradually becoming bendy as you approach the other.
|