Element.CopyToLevel Error

Hi All,

I wonder if you can help me. I used the FamilyInstance.ByGeometry from #springs to place one solid object as Family Instance inside the Revit model.

It seems simple…! But I am stuck trying to copy that instance to another level using Element.CopyToLevel from #clockwork. And I am getting “null” value without Dynamo syntax error explanation.

I appreciate your help.

You’re trying to copy a family element rather than a model element (or family instance). If you pass through the instance output from that node it should do the trick.

1 Like

Thanks @Hamish for the reply.
I am still getting a “null” result even after passing the instance output…!

An in-place family like that may not have an associated Level parameter. Can you confirm?

Hi @Nick_Boyts … Thanks - that might be the issue.
The instance family created feels like it is “In Place” with not “Level” parameter. At the same time, the generic model can be edited externally in the Family Editor.

What’s the best way to convert Dynamo geometry to level-hosted generic model?

You’d have to modify it in the family editor to be level based. Then you should be able to copy it.

1 Like

I made a script a while ago to convert in-place models into standard families.

From memory I used that same FamilyInstance.ByGeometry node, got its location data and used that to determine an insertion point and level for a FamilyInstance.ByPointAndLevel node to make a new level hosted instance, then deleted the original instance made from that node (and the model in place).

The original converted instance would be like your snip above with no level host, but the new instance of the same family type placed with the ByPointAndLevel node had correct level hosting. No family edits required. It was a bit of janky method, so perhaps there are better out there. But it might work for your needs.