2027 Class
Changes 0
C

Solid

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
public class Solid : GeometryObject
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);
                    }
                }
            }
        }
    }

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