Set workplane of Family instances

Hi all,
Is there a way with Dynamo to set the workplane/ host of an element in the family editor. I need to host certain nested components to reference lines because they are driven by angle parameters. The problem is we have inserted and positioned these components in the family editor using Dynamo to automate certain processes. This works great but now there is no way to edit the workplane of these objects. This option becomes greyed out and can’t be changed. I was hoping there would be a relatively easy way of doing this rather than having to write some Python script as we don’t really have any programming experience. Any ideas how this can be done?

1 Like

can you share some pics? it sounds complicaded :slight_smile:


Basically there are 2 nested families and each family is hosted to a reference line which is driven by an angle parameter. This works no problem when placing them manually but if they are inserted with dynamo there seems to be no way of allocating a host for these objects. This is all within the family editor not in a project.

1 Like

Do you mean the angle parameters?
What kind of parameters do you use?
Type or instance?


The paramaters work fine. I’m not able to edit the workplane of the families. Normally you can click on the component then edit workplane and select the reference line as the new host. But when an object is inserted with dynamo it doesn’t give you an option to select a new workplane. This is what is greyed out. Now I have no way of hosting the object to the reference line. Sorry our Revit is in German but hopefully you get the idea.

Is there really no way to host a Revit family to a reference line using Dynamo? I’m sure it might be possible with a custom python script but I was hoping there would already be some nodes for this?

The total sum of available means for creating a family instance in the Family environment using the Revit API can be found here:
NewFamilyInstance Method (revitapidocs.com). Looking it over I dont’ see a method which does what you’re after.

My gut says that this should be a ‘one time thing’ rather than a many time thing, and that the general user base’s ‘need’ to do this is far less than it feels to you at the moment.

Can you give some more background on why you need to bulk create such parametric families? With that bit of insight we can likely help you find a better solution.

I work for a medical supply company and part of our job is to make Revit models of the arm units which are mounted to the ceiling. These “arms” need to rotate around a pivot point. Sometimes there are 2 arms joined together therefore the only way to make the arms locked into place and rotate around the correct pivot point is by hosting them to a reference line. It works perfectly when doing this manually. We wanted to automate this process with dynamo because we do this dozens of times a day. Because there are so many design options, it isn’t practical to set up so many different family templates. Instead we wanted to pull information from an Excel file based on the order we need to create. The Excel part is working fine, we just can’t get the elements hosted to the reference line. We can’t even host the families manually because this option becomes greyed out once the family has been inserted using dynamo.

Do it once, save it as a template, load the new ‘arm’ components into the family, and use a parameter to set the family type, then purge.

While you might not be able to do all the work the way you intended, with the one family setup for the rig (maybe 3 or 4 family types overall) you can let Dynamo drive standard Revit automation methods quite readily.

Exactly. What you suggested is a workaround we had made. We have a family template with arms already loaded as a placeholder then use Dynamo to change the family type. This way the families stay hosted to the reference lines. Seems to work fine.

I have same issue , i don’t know how to fix this problem