Thursday, March 19, 2009

Schedule Discrimination

Here’s what I’m trying to do:

  1. I have multiple “Parts” built as shared families (Specialty Equipment);
  2. Then I’m building multiple Assemblies (also Specialty Equipment) made up of nested families from (1);
  3. I want to create a schedule for Assemblies and another for Parts.

There’s no direct way to do this. So I decided to add a Yes/No shared parameter to the Assembly families and filter the schedules for it. You don’t even need to worry about the value and just filter for it’s existence. Now I can easily build the Assembly schedule by filtering for parameter exists.

Schedule Discrimination

Notice how every filter option has an opposite (equals, does not equal, etc.), with the exception of parameter exists. Because of that, I cannot really filter for it’s non existence, which is forcing me to care about the value of the parameter instead. I deem that as discrimination!

So the solution is to check the parameter in the Assembly families and filter for equals “Yes” instead. The schedule will then grab all Assembly families. For the Parts schedule, set the filter to does not equal “Yes” (no need to add the parameter to the parts families).




Steve said...

Another way, use a different category for the assemblies...or parts. Still have to filter at some point but their is a natural separation because of the category usage.

Dave Baldacchino said...

You're absolutely right. In this case it was desirable to keep the same category due to how it behaves (ex: non-cuttable). I wish one could define/filter the parent family vs. the nested parts so each could be scheduled separately with minimal effort.

Post a Comment