DocumentEditFamily Method |
Gets the document of a loaded family to edit.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntaxpublic Document EditFamily(
Family loadedFamily
)
Public Function EditFamily (
loadedFamily As Family
) As Document
public:
Document^ EditFamily(
Family^ loadedFamily
)
member EditFamily :
loadedFamily : Family -> Document
Parameters
- loadedFamily Family
- The loaded family in current document.
Return Value
DocumentReference of the document of the family.
Exceptions
RemarksThis creates an independent copy of the family for editing.
To apply the changes back to the family stored in the document, use the LoadFamily overload
accepting
IFamilyLoadOptions.
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.
Examplepublic void GetLoadedSymbols(Autodesk.Revit.DB.Document document, FamilyInstance familyInstance)
{
if (null != familyInstance.Symbol)
{
Family family = familyInstance.Symbol.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
Dim family As Family = familyInstance.Symbol.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
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also