Add a cut to an element using the unattached voids inside a cutting instance. 
   Namespace:   Autodesk.Revit.DB  
  Assembly:   RevitAPI  (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0) 
  Since:  2011 
Syntax
| C# | 
|---|
|  | 
| Visual Basic | 
|---|
|  | 
| Visual C++ | 
|---|
|  | 
Parameters
- document
-  Type:  Autodesk.Revit.DB Document  
 The document containing the two elements
- element
-  Type:  Autodesk.Revit.DB Element  
 The element to be cut
- cuttingInstance
-  Type:  Autodesk.Revit.DB Element  
 The cutting family instance
Examples
 Copy  C#
 Copy  C# // Cut a beam with 3 instances of a void-cutting family
// The Family Parameter "Cut with Voids When Loaded" must be true for the cutting family
void CutBeamWithFamilyVoid(Autodesk.Revit.DB.Document doc, FamilyInstance beam, FamilySymbol cuttingSymbol)
{
    LocationCurve lc = beam.Location as LocationCurve;
    Curve beamCurve = lc.Curve;
    for (int i = 1; i <= 3; i++)
    {
        XYZ beamLocation = beamCurve.Evaluate(i * 0.25, true); // position on the beam for this cutting instance
        beamLocation = beamLocation - XYZ.BasisZ; // adjust for top-aligned curve
        Level level = doc.GetElement(beam.LevelId) as Level;
        FamilyInstance cuttingInstance = doc.Create.NewFamilyInstance(beamLocation, cuttingSymbol, level, StructuralType.NonStructural);
        InstanceVoidCutUtils.AddInstanceVoidCut(doc, beam, cuttingInstance);
    }
} Copy  VB.NET
 Copy  VB.NET ' Cut a beam with 3 instances of a void-cutting family
' The Family Parameter "Cut with Voids When Loaded" must be true for the cutting family
Private Sub CutBeamWithFamilyVoid(doc As Autodesk.Revit.DB.Document, beam As FamilyInstance, cuttingSymbol As FamilySymbol)
    Dim lc As LocationCurve = TryCast(beam.Location, LocationCurve)
    Dim beamCurve As Curve = lc.Curve
    For i As Integer = 1 To 3
        Dim beamLocation As XYZ = beamCurve.Evaluate(i * 0.25, True)
        ' position on the beam for this cutting instance
        beamLocation = beamLocation - XYZ.BasisZ
        ' adjust for top-aligned curve
        Dim level As Level = TryCast(doc.GetElement(beam.LevelId), Level)
        Dim cuttingInstance As FamilyInstance = doc.Create.NewFamilyInstance(beamLocation, cuttingSymbol, level, StructuralType.NonStructural)
        InstanceVoidCutUtils.AddInstanceVoidCut(doc, beam, cuttingInstance)
    Next
End SubExceptions
| Exception | Condition | 
|---|---|
| Autodesk.Revit.Exceptions ArgumentException | The element cannot be cut with a void instance. -or- The element is not a family instance with an unattached void that can cut. | 
| Autodesk.Revit.Exceptions ArgumentNullException | A non-optional argument was NULL | 
| Autodesk.Revit.Exceptions ForbiddenForDynamicUpdateException | This method may not be called during dynamic update. | 
| Autodesk.Revit.Exceptions InvalidOperationException | Failed to cut element with the instances |