Skip to content

Commit ea6d1c9

Browse files
committed
fix(SolidVisualizationServer): skip solids with zero volume in bounding box calculation
This change prevents unnecessary calculations and exceptions by skipping solids that have a volume of zero. It improves the robustness of the bounding box retrieval process.
1 parent 884239d commit ea6d1c9

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

source/RevitDevTool/Visualization/Server/SolidVisualizationServer.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,15 @@ public sealed class SolidVisualizationServer : VisualizationServer<Solid>
3939

4040
foreach (var solid in VisualizeGeometries)
4141
{
42-
BoundingBoxXYZ boundingBox;
43-
try
44-
{
45-
boundingBox = solid.GetBoundingBox();
46-
}
47-
catch
42+
if (solid.Volume == 0)
4843
{
44+
Debug.WriteLine("Solid with zero volume skipped in bounding box calculation.");
4945
continue;
5046
}
47+
BoundingBoxXYZ boundingBox;
48+
try { boundingBox = solid.GetBoundingBox(); }
49+
catch { continue; }
50+
5151
var minPoint = boundingBox.Transform.OfPoint(boundingBox.Min);
5252
var maxPoint = boundingBox.Transform.OfPoint(boundingBox.Max);
5353
minPoints.Add(minPoint);
@@ -130,6 +130,7 @@ private void MapGeometryBuffer()
130130

131131
foreach (var solid in VisualizeGeometries)
132132
{
133+
if (solid.Volume == 0) continue;
133134
var scaledSolid = RenderGeometryHelper.ScaleSolid(solid, _scale);
134135

135136
foreach (Face face in scaledSolid.Faces)

0 commit comments

Comments
 (0)