Solid Class |
The Solid type exposes the following members.
| Name | Description | |
|---|---|---|
| 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) | |
| Id | A unique integer identifying the GeometryObject in its associated non view-specific GeometryElement. (Inherited from GeometryObject) | |
| IsElementGeometry | Indicates whether this geometry is obtained directly from an Element. (Inherited from GeometryObject) | |
| IsReadOnly | Identifies if the object is read-only or modifiable. (Inherited from APIObject) | |
| SurfaceArea | Returns the total surface area of this solid. | |
| Visibility | The visibility. (Inherited from GeometryObject) | |
| Volume | Returns the signed volume of this solid. |
| Name | Description | |
|---|---|---|
| ComputeCentroid | Returns the Centroid of this solid. | |
| Dispose | Causes the object to release immediately any resources it may be utilizing. (Inherited from APIObject) | |
| Equals | Determines whether the specified Object is equal to the current Object. (Inherited from GeometryObject) | |
| GetBoundingBox | Retrieves a box that circumscribes the solid geometry. | |
| GetHashCode |
Gets the integer value of the geometry object as hash code
(Inherited from GeometryObject) | |
| GetType | Gets the Type of the current instance. (Inherited from 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) |
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); } } } } } }