FamilyInstance.FlipFacingOrientation doesnt seem to work

i want to flip multiple elements at once
i saw this node form clockwork i think i does what i need but it says success but nothing changes

post a copy of the family perhaps?

IC_CCTV_Dome Camera.rfa (3.2 MB)

ty for reply

Thats the family. my question is does that node do the function i think it does or iam understanding it wrong as iam new to dynamo

fam_inst_flip_workplane.dyn (4.6 KB) Try this.

does that node do the function i think it does

Nope. I think it flips facing orientation as the node name suggests while the icon is flipping workplane.

1 Like

Flipping with spacebar isnt fast enough?

2 Likes

:rofl:

but if you think about it, when op pairs this with some complex prefiltering to grab that list of elements, it might just outperform mouse & keyboards speed wise.

Revit has three flipping planes - WorkPlane (XY, Top/Bottom, Horizontal), Handing (YZ, Left/Right, Vertical perpendicular to Front) and Facing (XZ, Front/Back, Vertical perpendicular to side)

Archilab and Clockwork have nodes to flip handing and facing, however this isn’t going to cut it for your task

Here is a python script which can flip the WorkPlane - note this will toggle the WorkPlane flipping between True and False

import clr

clr.AddReference("RevitServices")
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

clr.AddReference("RevitAPI")
from Autodesk.Revit.DB import FamilyInstance

doc = DocumentManager.Instance.CurrentDBDocument

def flip_workplane(item):
    if isinstance(item, FamilyInstance) and item.CanFlipWorkPlane:
        TransactionManager.Instance.EnsureInTransaction(doc)
        
        item.IsWorkPlaneFlipped = not item.IsWorkPlaneFlipped  # Toggle
        
        TransactionManager.Instance.TransactionTaskDone()
        
        return item
    return f"WorkPlane cannot be flipped for this instance {item.Id}"

def to_list(items):
    if isinstance(items, list):
        return UnwrapElement(items)
    return [UnwrapElement(items)]

OUT = map(flip_workplane, to_list(IN[0]))
3 Likes