FamilyInstance.ByCoordinates host issue

hello dears,
im trying to make a copy from a family to several location, im getting X,Y,Z needed, but when i use FamilyInstance.ByCoordinates the output have a zero value to Z , if there any answers for that it would be appreciated


Is it a hosted family? Are you able to manually place a family there?

yes it’s hosted to ceiling, and i don’t know if this valid, if not is there any solution ?

Springs has a node for placing hosted families.

i’ve tried it , it give me the same result

It is possible with the proper inputs. Can you show us what you get with the Springs node?

this is how i get the result, it give the points in the right position but no instances, the output from spring node XYZ=0

I noticed the host element is a level. Is the original element hosted to the floor level and given an offset? If so, you’ll have to do the same thing with your new instances - host them to the level then apply an offset.

EDIT: Hmmm… it seems like the hosted element does default to Z=0 even though it has a host. I tried using a similar but different method from the API and got the same result. @Dimitar_Venkov, do you have any insight here?

EDIT2: Using the OOTB node FamilyInstance.ByFace still locks the offset at 0 but does at least put the family in the correct location.

the original element hoted on level 01 without any offset, i have select it by Specify a new Work Plan window

i thinks the idea is we can set location for element in X,Y only, for Z we need SET HOST thing, that i dont know what we could use something that work as Specify a new Work Plan

@khuzaimah.ElecEng you’ll need to share your family for further assistance. There could be multiple reasons why this can’t work and right now we can only guess.

thanks Dimitar,
i have attache the family …
M_Ceiling Light - Flat Round.rfa (352 KB)

You can host this face based family on a level or a plane. but the only way to control the elevation is by the built-in “Default Elevation” type property:

For a more fine-grained approach, you’ll have to rework the family and set up an offset parameter and then modify your script with the new parameter in mind. Alternatively, you could use a different family template for your lights - face based families can sometimes be more of a hassle than they’re worth.

Hi @khuzaimah.ElecEng

How about creating a dummy face in Revit and delete after the transaction?


hello Kulkul,
thanks for your answer, im trying to do this, but if you please get screen shot for the whole script. i couldn’t find where do you connect the code block “srf” output.

thanks again

@Kulkul it’s worked , thats brilliant idea … thank you

i have same problem , i can’t know where he connect the code block “srf” output.
can you help ?