RVTDocs.com
Namespace: Autodesk.Revit.DB

Solid

Class
Description:
A 3d solid.
Remarks:
A solid is defined by the faces and edges that form its boundary.
Inheritance Hierarchy:
System.Object
  Autodesk.Revit.DB.APIObject
    Autodesk.Revit.DB.GeometryObject
      Autodesk.Revit.DB.Solid
Syntax
public class Solid : GeometryObject
Examples
private void GetAndTransformSolidInfo(Application application, Element element, Options geoOptions)
{
    // Get geometry element of the selected element
    Autodesk.Revit.DB.GeometryElement geoElement = element.get_Geometry(geoOptions);

    // Get geometry object
    foreach (GeometryObject geoObject in geoElement)
    {
        // Get the geometry instance which contains the geometry information
        Autodesk.Revit.DB.GeometryInstance instance = geoObject as Autodesk.Revit.DB.GeometryInstance;
        if (null != instance)
        {
            foreach (GeometryObject instObj in instance.SymbolGeometry)
            {
                Solid solid = instObj as Solid;
                if (null == solid || 0 == solid.Faces.Size || 0 == solid.Edges.Size)
                {
                    continue;
                }

                Transform instTransform = instance.Transform;
                // Get the faces and edges from solid, and transform the formed points
                foreach (Face face in solid.Faces)
                {
                    Mesh mesh = face.Triangulate();
                    foreach (XYZ ii in mesh.Vertices)
                    {
                       XYZ point = ii;
                        XYZ transformedPoint = instTransform.OfPoint(point);
                    }
                }
                foreach (Edge edge in solid.Edges)
                {
                   foreach (XYZ ii in edge.Tessellate())
                    {
                       XYZ point = ii;
                        XYZ transformedPoint = instTransform.OfPoint(point);
                    }
                }
            }
        }
    }

}
Solid Class Members:
Name Description Inherited From
Edges The edges that belong to the solid.
Faces The faces that belong to the solid.
GraphicsStyleId The ElementId of the GeometryObject's GraphicsStyle (Inherited from GeometryObject ) GeometryObject
Id A unique integer identifying the GeometryObject in its associated non view-specific GeometryElement. (Inherited from GeometryObject ) GeometryObject
IsElementGeometry Indicates whether this geometry is obtained directly from an Element. (Inherited from GeometryObject ) GeometryObject
IsReadOnly Identifies if the object is read-only or modifiable. (Inherited from APIObject ) APIObject
SurfaceArea Returns the total surface area of this solid.
Visibility The visibility. (Inherited from GeometryObject ) GeometryObject
Volume Returns the signed volume of this solid.
Name Description Inherited From
ComputeCentroid Returns the Centroid of this solid.
Dispose Causes the object to release immediately any resources it may be utilizing. (Inherited from APIObject ) APIObject
Equals Determines whether the specified Object is equal to the current Object . (Inherited from GeometryObject ) Object
GetBoundingBox Retrieves a box that circumscribes the solid geometry.
GetHashCode Gets the integer value of the geometry object as hash code (Inherited from GeometryObject ) GeometryObject
GetType Gets the Type of the current instance. (Inherited from Object ) Object
IntersectWithCurve Calculates and returns the intersection between a curve and this solid.
ToString Returns a string that represents the current object. (Inherited from Object ) Object