I am hosting windows on a selection of walls, the problem is that the windows pick the wrong side of the wall I am hosting them on. How do I change the familyinstance location? I have tried the node below 'FamilyIsntance.SetRotation but that doesn’t seem to help.
Changing the walls orientation seems not to help aswell. Any ideas?
Thank you in advance,
Have you tried flipping windows using Dynamo?
This has often been my approach. Revit seems to always use the “front” face when hosting through the API. It’s easier to place everything then flip the hosting face depending on the necessary orientation.
This is a complex family which basically is needed to place before a window is being placed inside of it. (used by the company I am currently working at) it doesn’t have the option to flip and is only placed correctly if I aim for the right side of the wall when picking a host. Dynamo seems to choose the wrong face when it’s hosting the instance by points.
You can add the flip face option by editting the family.
I promise you it’s a very stupid family with around a million parameters, constraints and like nested elements. I honestly think it would be easier if there was a way to choose the selected wall’s face side with dynamo, before placing the hosted family instance or something similar?
@selim.celem @Nick_Boyts Can you not just use custom node from clockwork package
FamilyInstance.FlipFacingOrientation to flip?
That’s what I would do but I think that still requires the family have that option enabled. I don’t think you can flip just any family.
Hmm didn’t find that node before. Will give it a try tomorrow morning! I appreciate the help!
Well there’s an old Revit trick to convert Host-based to Face-based families.
So I can imagine an approach where you convert your host based window family to a face-based window and then use the node for Face-based families instead.
Then you’ll need to filter out the correct wall surface to place them.
This approach needs some setting up but it might be worthy doing it depending on your goals.
Hmm I’m gonna have to give that approach a try @viktor_kuzev , the FamilyInstance.FlipFacingOrientation doesn’t seem to do much, it does say ‘succes’ but nothing changes. @Kulkul
Seems like changing to a face based family was fairly easy to do, quite a cool trick… But of course my stupidity cost me a lot of time again, drawing conclusions without listening to experienced people’s suggestions. The very first tip I got from @Nick_Boyts seemed to work a lot easier than I thought. Adding a flip control to the family was my solution, thank you guys! Learning from mistakes!
(If that doesn’t work for people with the same problem in the future, try @viktor_kuzev 's solution)
As you said adding the flip arrow is easier and if that works for you I recommend that approach.
However I did have a couple of occasions when my colleagues wanted families (doors and windows) with no flip to be able to track their orientation in a certain way so if that’s the case I think face-based might be a good solution.
Hmm… It just came up to me, wouldn’t it be possible to find the right face of the wall first (interior/exterior) and then place the instance (Wall-based) on? Since Revit chooses the “front” by default?
I mean I already fixed my problem with the flip function but I’m just wondering if that is possible when adjusting the family is not an option.
I looked at the methods in the API and I couldn’t find an option to control that.
If there’s a way it’s not so straight-forward.