Flipped doors, how to handle?

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”…

grafik

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)