public Document EditFamily( Family loadedFamily )
| Exception | Condition |
|---|---|
| ArgumentNullException | Thrown when the input argument-"loadedFamily"-is null. |
| ArgumentException | Thrown when the input argument-"loadedFamily"-is an in-place family or a non-editable family. (This can be checked with the IsInPlace and IsEditable properties of the Family class. |
| InvalidOperationException | Thrown when the family is already being edited. |
| ForbiddenForDynamicUpdateException | Thrown if this method is called during dynamic update. |
| InvalidOperationException | Thrown if this method is called while the document is modifiable (i.e. it has an unfinished transaction.) |
| InvalidOperationException | Thrown if this method is currently in a read-only state. |
This method may not be called if the document is currently modifiable (has an open transaction) or is in a read-only state. The method may not be called during dynamic updates. To test the document's current status, check the values of IsModifiable and IsReadOnly properties.
public void GetLoadedSymbols(Autodesk.Revit.DB.Document document, FamilyInstance familyInstance) { if (null != familyInstance.Symbol) { // Get family associated with this Family family = familyInstance.Symbol.Family; // Get Family document for family Document familyDoc = document.EditFamily(family); if (null != familyDoc && familyDoc.IsFamilyDocument == true) { String loadedFamilies = "FamilySymbols in " + family.Name + ":\n"; FilteredElementCollector collector = new FilteredElementCollector(document); ICollection<Element> collection = collector.OfClass(typeof(FamilySymbol)).ToElements(); foreach (Element e in collection) { FamilySymbol fs = e as FamilySymbol; loadedFamilies += "\t" + fs.Name + "\n"; } TaskDialog.Show("Revit",loadedFamilies); } } }
Public Sub GetLoadedSymbols(document As Autodesk.Revit.DB.Document, familyInstance As FamilyInstance) If familyInstance.Symbol IsNot Nothing Then ' Get family associated with this Dim family As Family = familyInstance.Symbol.Family ' Get Family document for family Dim familyDoc As Document = document.EditFamily(family) If familyDoc IsNot Nothing AndAlso familyDoc.IsFamilyDocument = True Then Dim loadedFamilies As [String] = "FamilySymbols in " + family.Name & ":" & vbLf Dim collector As New FilteredElementCollector(document) Dim collection As ICollection(Of Element) = collector.OfClass(GetType(FamilySymbol)).ToElements() For Each e As Element In collection Dim fs As FamilySymbol = TryCast(e, FamilySymbol) loadedFamilies += vbTab + fs.Name & vbLf Next TaskDialog.Show("Revit", loadedFamilies) End If End If End Sub