Solid Class |
A 3d solid.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 27.0.4.0 (27.0.4.0)
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 ) |
A solid is defined by the faces and edges that form its boundary.
C#
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);
}
}
}
}
}
}