Message 1 of 4
Not applicable
10-29-2018
01:53 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
In my model I have several Pipe object (Autodesk.Revit.DB.Plumbing.Pipe), all of them Flex Ducts.
A few of them are very strange:
element.get_BoundingBox(null) returns null:
When traversing the geometry, including the subelements it contains just a single Solid, that has no volume, no faces, and no edges.
But yet the element is totally visible in Revit GUI.
How can I get the geometry of the object?
Am I missing something?
This is the code I use to traverse the element's geometry:
Options opt = new Options {IncludeNonVisibleObjects = true};
GeometryElement geomElem = element.get_Geometry(opt);
foreach (GeometryObject geomObj in geomElem)
{
switch (geomObj)
{
case Solid geomSolid:
{ /* Handle */ break;}
case GeometryInstance geoInst:
using (GeometryElement geoElem2 = geoInst.GetInstanceGeometry())
{
if (geoElem2 == null) {continue;}
foreach (GeometryObject geoObj2 in geoElem2)
{
switch (geoObj2)
{
case Solid solid:
{ /* Handle */ break;}
case Mesh m:
{ /* Handle */ break;}
case Curve c:
{ /* Handle */ break;}
case Point p:
{ /* Handle */ break;}
case PolyLine pl:
{ /* Handle */ break;}
default:
throw new Exception("Unknown type");
}
}
}
break;
case Curve c:
{ /* Handle */ break;}
case Point p:
{ /* Handle */ break;}
default:
throw new Exception("Unexpected element in GeometryElement");
}
}
Solved! Go to Solution.