How to change family host from Import Instance to a linked Column

I am looking to change the host of families that I have placed in dynamo from an Imported instance that I eventually delete to the linked column that the family was placed on. I have the location set, I am just trying to change the host.

Hi @keknoian, for the Face input, try feeding in a single surface rather than a list of surfaces. For placing a column, I suggest using the Select Face node to pick something from your Revit model or filtering for a floor element’s top surface. It looks like you are currently feeding the Face input a list of geometric faces from the imported geometry.

That is correct, I have a list of surfaces because I need multiple families to be placed on multiple columns, so they are all the correct surface. My issue comes because you cannot use the face of a linked element as the host on the familyinstance.byface, so I was wondering if there was a way to set it after placement

Setting the work plane of an already placed element was discussed here, but it doesn’t look like a great solution was found.

After some quick research, it appears to be possible through the Revit API using Python, but I haven’t come across any out of the box nodes. It may be easier to specify the correct host to begin with.

The issue is you cannot use a linked element as a host or you get this error.
image

If you use the LinkElement.OfCategory node, and get your faces from that, you can use those surfaces when placing a family