Family placed by points. Can you associate a Level?

Hi, Multiple families (generic models) have been placed in a project using the family.instance by point. The families are all placed in the correct location however the level name (The reference level parameter or work plane is not populated therefore this is not ideal for scheduling.) Is there a way to force the member to reference the associated level of it’s placement.

Also, I have tried the family.instance by point and level. I have tried this and it didn’t work.


If you want to place (host) the family on a particular level, use FamilyInstance.ByPointAndLevel

If you have already placed the families using FamilyInstance.ByPoint and want to fix them up, you really need a Dynamo equivalent of ‘Pick New Host’

I can’t see an easy way to do this in Dynamo, but it is pretty easy to do in Revit- change to a section or elevation view, select all the families and select a level as the new host.




Thanks for your response. This was helpful.

I do have a number of floor levels so to i would have to perform the pick new host multiple times and this will take a while.

The interesting thing is, when the floor framing node is used and you insert a list of curves it automatically associates with a level in the model.

It would be nice to have this functionality with the family by points and level node.

Thanks for your comments I really appreciate it.


FamilyInstance.ByPointAndLevel, the point input says it should be in metres, yet my points are in mm. Any thoughts?

Multiply by 1000?

Or if you’re always in MM you could try utilizing it with all MM and see if the node places stuff correctly - you’ll likely have to adjust the working range.

Hi Jacob,

I tried the conversion from mm to m, yet it did not accept the input.

This is what it returned.


Can you post your graph (dyn)?
I can’t see your list structure for the coordinates or where the level is coming from