Dieses Script ermöglicht folgenden Workflow:
- Punktbasierte Familien auf einem Raster platzieren
- Dient für IFC-Import und -Export

- Das Script sammelt alle Familieninstanzen einer angegebenen Kategorie und platzieren Sie sie in einem Raster.
- Öffnen Sie ein Revit-Projekt und laden Sie alle Familien einer Kategorie. Das Raster kann auch geändert werden.Es läuft auch mit Dynamo-Player
1.3.1
...
import System
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
cats = IN[0]
inputdoc = UnwrapElement(IN[2])
if inputdoc == None:
doc = DocumentManager.Instance.CurrentDBDocument
elif inputdoc.GetType().ToString() == "Autodesk.Revit.DB.RevitLinkInstance":
doc = inputdoc.GetLinkDocument()
elif inputdoc.GetType().ToString() == "Autodesk.Revit.DB.Document":
doc = inputdoc
else: doc = None
elementlist = list()
for item in cats:
collector = FilteredElementCollector(doc)
collector.OfClass(FamilySymbol)
bic = System.Enum.ToObject(BuiltInCategory, item.Id)
collector.OfCategory(bic)
elementlist.append(collector.ToElements())
OUT = elementlist
