Update an existing Family Type by their Family Name and Type Name instead of ID

I am working on a Tool in GH where I want to Update a Family 's type parameters, but the ID of the Familytype can be different in every model. I know the Name of the Family and the Name of the Type.

I was wondering if it would be possible for the Parameter Updater to get the Family Name and the Type Name instead of the ID.

We made an active design decision to not enable this workflow when looking at parameter updates in Excel.

I’d put up there as an example of being conservative avoidance of unintended consequences.

Let’s reverse engineer the possible reasons why:

  1. Uniqueness & Reliability: Family Name and Type Name are not guaranteed to be unique in a model. While they’re usually stable within controlled object libraries, naming conflicts can arise when working across multiple projects or with externally sourced content.

  2. Model Integrity & Consistency: Updating parameters based on names alone risks modifying the wrong elements if naming conventions aren’t strictly enforced, which can lead to unintended changes in large or collaborative models.

  3. Performance Considerations: Searching for Family Types by name every time an update is made can be slower and less efficient than referencing a known, unique ID, particularly in large datasets.

That said, and I think more important, type parameters often depend on company object libraries and standards.

As a BIM manager responsible at a company level, am I happy with individual projects ducking about with library content? Not to say it’s a given no-no but it is a concern. Particularly if two models in the same project were to share family types, are we confident of not messing things up?

If your workflow relies on a controlled library, one approach could be to establish a reference mapping at the start. Would this approach align with how your company manages its object libraries? If the primary challenge is shifting IDs across models, a dynamic lookup strategy might help bridge the gap.