I'm writing a tool that wants to check whether an element is a solid of some kind.
I think that I can do this for a primitive solid (slab, cone, extrusion etc)...
const bool DontSimplify { false };
ISolidPrimitivePtr solid = ISolidPrimitiveQuery::ElementToSolidPrimitive (eh_, DontSimplify);
bool valid = solid.IsValid ();Or this for a SmartSolid...
ISolidKernelEntityPtr smartSolid;
bool valid = (SUCCESS == SolidUtil::Convert::ElementToBody (smartSolid, eh_)&&
smartSolid.IsValid ());Are those good ways to detect a solid? How can I combine them to figure out if an element is something that has a volume that I can subsequently measure?