Place family by Face (Surface) in Revit model


I need to place my families in Revit model in same point and orientation on wall. Where my linked file shows the points where I need to place those family . I get the points from from my linked files and tried to put it with FamilyInstance.ByFace, why By Face because its an electric fixture which can be mounted on any of the surface of wall, So i need to exact orientation and location to place my family by face. But unfortunately getting the point from linked file and the wall making a bit complicated. I could have share my dynamo but its not worth it as its become a mess of nodes.

I want to take or start step by step, any guidance and help would be really appreciated.

Here’s a sample image on my model , i need to place a my new family in the same location.

Can you post your two models and family you want to place, I’ll have a look a it.

Heres a families ,

OUT005(arch).rfa (352 KB) OUT010(arch).rfa (428 KB)
OUT010_ELE_GEN_Small Power_13A Twin switched socket outlet.rfa (444 KB) OUT005_ELE_GEN_Small Power_13A Switched socket outlet.rfa (436 KB)

Can’t provide files here due to upload size limit. But you can access it from this link (uploaded on

Arch.rvt is linked file.

let me know, how your test goes ?

Ok I have your files, will look at it tomorrow, Friday night here in Australia. I use place family node a lot in my work so hopefully find a solution for you :wink:

Hi AK, here’s a script that works but has a limitation described in the notes…

Place Families 1.0.dyn (38.6 KB) Delete Temporary Imported Instances.dyn (18.2 KB) Place Families - Notes.pdf (313.1 KB)

Thanks @BIMused,

Looks very good to me, I will have a look and see if this work in my test cases and matches the scenario’s. I will put my comment in few days with my result and share with all. And its documented vey well.

Thank you so much for giving sometime :+1:

Hi @BIMused, It worked really well. Thank you so much. I have tweaked a pre-defined list of index numbers with my list to make it working for flexible amount of elements. But I came across two issues while working and its just putted a huge boundation to use it. Its nothing to the files you did shared or has been asked in this query. But for using in actual project its just not useful as the moment.

I’m trying to figure it out. But not get so far.

It might be a different issue but I will ask it here as well.

  1. Element are creating in different locations as Project Base Point for actual and link file is different. That’s why its not aligned.

  2. The families are non Hosted, is there a way to even host it where its placed.

@BIMused you have done so much already, I can’t thank enough. But let me know what would be the best way to tackle these issues with the current script that you have shared.

Hi @ashwani.kumar1,

Typically your project base points (global base point) should be the same for all your project files. You can use survey points (local datums) for specific areas if your project.

We are not using hosted elements and I have no idea how you would achieve this, perhaps a separate script is needed.

Thanks @BIMused, really appreciate your responses. Seems like a good idea to have a different script to host the families.

I’m also sharing some of my test results(had to tweak the orientation as, it not working for E and S direction, but your doc. helped). And marking your response as a solution for this thread.

I’m trying to see if I can find something using

And thanks for the moving along, Cheers.

North Facing South Facing