Hello,
how is your expirenece with doors ? i can solve this part around 70% but finally i have to prove it visually and i can`t trust any script…
single doors works well but if there doubledoors or sidewindows it does not work well…
final aim is “RE”,“LI”, doubledoors “RE/LI” “LI/RE”…
for my doubledoors i use this…
but it does not if the first input is already wrong…
is there more than face or handfliped ?
import clr
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
def tolist(data):
if hasattr(data,"__iter__"): return data
else: return [data]
elements = tolist(UnwrapElement(IN[0]))
family_mirrored = IN[1]
door_types = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Doors).WhereElementIsElementType().ToElements()
right, left = [], []
for ix, i in enumerate(elements):
if family_mirrored[ix] == True:
if not i.FacingFlipped:
if i.HandFlipped:
left.append(i)
else:
right.append(i)
else:
if i.HandFlipped:
right.append(i)
else:
left.append(i)
else:
if i.FacingFlipped:
if i.HandFlipped:
left.append(i)
else:
right.append(i)
else:
if i.HandFlipped:
right.append(i)
else:
left.append(i)
OUT = right, left
KR
Andreas
E_FlippedDoors.dyn (48.7 KB)