Perform a boolean geometric operation between two solids, and return a new solid to represent the result.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Since: 2012
Syntax
C# |
---|
|
Visual Basic |
---|
|
Visual C++ |
---|
|
Parameters
- solid0
- Type: Autodesk.Revit.DB Solid
The first solid object. A copy will be taken of the input object, so any solid whether obtained from a Revit element or not would be accepted.
- solid1
- Type: Autodesk.Revit.DB Solid
The second solid object. A copy will be taken of the input object, so any solid whether obtained from a Revit element or not would be accepted.
- booleanType
- Type: Autodesk.Revit.DB BooleanOperationsType
boolean operation type.
Return Value
The result geometry.Examples

private void ComputeIntersectionVolume(Solid solidA, Solid solidB)
{
Solid intersection = BooleanOperationsUtils.ExecuteBooleanOperation(solidA, solidB, BooleanOperationsType.Intersect);
double volumeOfIntersection = intersection.Volume;
}

Private Sub ComputeIntersectionVolume(solidA As Solid, solidB As Solid)
Dim intersection As Solid = BooleanOperationsUtils.ExecuteBooleanOperation(solidA, solidB, BooleanOperationsType.Intersect)
Dim volumeOfIntersection As Double = intersection.Volume
End Sub
Exceptions
Exception | Condition |
---|---|
Autodesk.Revit.Exceptions ArgumentNullException | A non-optional argument was NULL |
Autodesk.Revit.Exceptions ArgumentOutOfRangeException | A value passed for an enumeration argument is not a member of that enumeration |
Autodesk.Revit.Exceptions InvalidOperationException | Failed to perform the boolean operation for the two solids. |