Ok, I understand. You need to do CSG operations. That's one set of modules I would love to see in DX, and probably not too hard to code. Using isosurfaces is a neat trick but limited. To clamp the cylinder, I would use a Compute statement that calculates the value of a plane (normal vector) dot ((x-x0),(y-y0),(z-z0)) and sets the grid data values to zero if above or below some value.
If all you want to do is render a geometry created via CSG, my RenderMan/Blue Moon module (RMan) has full CSG support and will work with even very complex closed surfaces. There is also a true cylinder primative. The disadvantage is that it does not give you the final geometry within OpenDX. The CSG operations are only applied at render time. They are also pretty slow. Richard
