Fatal error when trying to associate a type parameter within Model In-Place

Fatal error when trying to associate a type parameter within Model In-Place

christopher.key
Explorer Explorer
785 Views
9 Replies
Message 1 of 10

Fatal error when trying to associate a type parameter within Model In-Place

christopher.key
Explorer
Explorer

With Revit2017 SP2, I can reliably reproduce a fatal error with the following steps:

 

1) Create a new blank project, Project1

2) Create a new Generic Model* family, Family1

3) Create some trivial geometry in Family1, e.g. cuboid extrusion

4) Load Family1 into Project1

5) Within Project1, select Component -> Model In-Place

6) Make the in-place Component a Generic Model*, Generic Models 1

7) Within Generic Models 1, place an instance on Family1

8) Select the instance of Family1, select "Edit Type"

9) Try to associate any type parameter: Revit immediately response with "A serious error has occurred".  Shortly thereafter, it exits with a fatal error.

 

* There's nothing special about Generic Model, it happens with any category of in-place component and loadable family.

 

 

I'm guessing that this is a side-effect of the introduction of Global parameters.  Presumably the option to associate type parameters should just be disabled within the Model In-place environment.

0 Likes
786 Views
9 Replies
Replies (9)
Message 2 of 10

barthbradley
Consultant
Consultant

Interesting workflow. I followed your steps precisely and had no issues. Working on 2017.2. 

0 Likes
Message 3 of 10

christopher.key
Explorer
Explorer

Model In-Place provides a convenient way to "group" loadable families into one component within the project.  For example, a fireplace might be done as Model In-Place, and comprise a surround component, a grate component and a hearth component.

 

Having the individual components grouped like this seems to improve performance.  It also makes working in the project environment more simpler (e.g. fewer objects to tab select through, no risk of breaking relative position of the individual sub-components).

 

The desire to associate parameters came from a desire for all the controlling parameters to be in one place.  So, in my example above, the Model In-Place family would have parameters for the surround material, the hearth material, etc.  This can still be done, you just need to ensure that you're associating instance parameters.

 

 

Thinking about it, this makes sense.

 

Using my original comment, consider what would happen if you had manged to get a type parameter in Family1 associated with a parameter in Generic Models 1.  When you changed the value of the Generic Models 1 parameter within Project1, it would affect every instance of Family1, both those in Generic Models 1 and those directly within Project1.  This seems confusing.

 

You get much the same situation with shared families.  Consider Family2 containing Family3, where Family3 is shared.  Revit prevents you from associating any type parameter for Family3 with a parameter in Family2.

 

Again this makes sense.

 

Consider the situation where you'd instances of Family2 and (shared) Family3 in Project1.  When you changed the value of the parameter in Family2, it would affect every instances of Family3, both those within Family2 and those directly within Project1.  Again, this seems confusing.

 

 

I'm therefore intrigued to hear that you didn't get a fatal error.

 

Did Revit just prevent the association?

 

If not, and the association was made, then what happens when yo change the relevant parameter in Generic Models 1?  Does it affect all instances of Family1 even if placed directly within Project1?

 

0 Likes
Message 4 of 10

Alfredo_Medina
Mentor
Mentor

How do you place an instance of Family1 into the model in-place? That, even if works for you, is weird. I am not surprise that it causes errors. 

If you need to put families together, use groups, or create loadable families that contain nested families.


Alfredo Medina _________________________________________________________________ ______
Licensed Architect (Florida) | Freelance Instructor | Profile on Linkedin
Message 5 of 10

chrisplyler
Mentor
Mentor

It wouldn't be any more trouble to just "group" your families by making a fireplace family with the component parts nested into it. And it would be reusable from project to project. Model-in-Place for this purpose is silly.

 

xtn

0 Likes
Message 6 of 10

barthbradley
Consultant
Consultant

christopher.key wrote: I'm therefore intrigued to hear that you didn't get a fatal error.

 

Did Revit just prevent the association?

 

If not, and the association was made, then what happens when yo change the relevant parameter in Generic Models 1?  Does it affect all instances of Family1 even if placed directly within Project1?

 


You know @christopher.key, the reason I didn't get a fatal error, is because I instinctively used "reporting" parameters. Somewhere, in the back of my mind, I knew that "flexing" parameters wouldn't work. Experience and wisdom guided me, I guess. Even if I had been successful, you've already confirmed that this workflow is problematic. I agree 100% with @chrisplyler and @Alfredo_Medina.  It's an interesting workflow - but unconventional for a reason. I wouldn't use it. 

0 Likes
Message 7 of 10

christopher.key
Explorer
Explorer

Thanks all for feedback.

 

I'm surprised to hear that placing components within Model In-Place is unusual.  It seems to have advantages over the alternatives of groups (which can't have parameters) and loadable families (which can't reference project geometry).  A couple of other examples where I've used it are complex plaster ceilings (constructed from multiple line based families) and paneled wainscoting.

 

It's proven stable so far (so long as I don't attempt to associate type parameters, which I agree is not a sensible thing to want to do), but I'll continue with caution and maybe give the alternatives a go.

 

0 Likes
Message 8 of 10

chrisplyler
Mentor
Mentor

I don't mean to say that you should NEVER do it. For the occasional one-off situation where it fits your needs and you don't need type parameters, etc... then go for it.

 

But I'm confused what you mean when you say that families can't reference project geometry. Are you talking about - for example - you being able to align/lock an in-place ceiling with perimeter walls, but not if you built the same ceiling as a family? If that's what you're talking about, it isn't true.

0 Likes
Message 9 of 10

barthbradley
Consultant
Consultant

That why I said it's an "interesting" workflow. I may play with it a bit, but I'd be a little reticent to adopt it into an existing project. But, I'm glad you posted it. If nothing more, it could come in handy as a workaround in the future. 

     

Cheers!

 

0 Likes
Message 10 of 10

ToanDN
Consultant
Consultant

@christopher.key

 

Have you ever been able to do it before?  If so, which version?  The nest parameter button in project environment hasn't appeared until the global parameters introduced.

0 Likes