Body Composition



face+ face1 face2 [function]



face* face1 face2 [function]
face1 and face2 are coplanar faces in 3D space. face+ composes union of these faces and returns a face object. If there is no intersection, original two faces are returned. face* returns intersection of these faces. If there is no intersection, NIL is returned.


cut-body body cutting-plane [function]

Cuts a body by the cutting-plane and returns a list of faces made at the cross-section.


body+ body1 body2 &rest more-bodies [function]



body- body1 body2 [function]


body* body1 body2 [function]
Computes join, difference or intersection of two or more bodies. Each body is copied before each body+, body- and body* operation, and original bodies are unchanged. The new coordinates of the resulted body is located and oriented at the same location and orientation as the world coordinates. Even when two bodies are touching face by face, these functions are expected to work correctly if threshold parameters *coplanar-threshold*, *contact-threshold*, and *parallel-threshold* are properly set. However, if a vertex of a body is in contact with an edge or a face of the other body, any composition operation fails.


body/ body plane [function]

Cut the body by a plane which is an instance of class plane (made by make-plane). A newly created body is returned.


body-interference &rest bodies [function]

Checks interference between each one-to-one combination in bodies. Returns a list of two bodies that are intersecting.


k-okada 2013-05-21