Community Tip - New to the community? Learn how to post a question and get help from PTC and industry experts! X
Using Creo 7.0.5.0
I'm not sure how to explain this problem, but I'll give it a shot (I can't share the files, I'm afraid).
I have a main assembly of a machine. This assembly contains several sub-assemblies. Two of these are the same assembly, but does have some interchangeable parts through a family table making them slightly different. The issue is that I can't change the parts on one of these without changing on the other one. In the main assembly I want to be able to show both configurations at the same time.
See it as a car where you have one subassembly for the wheels with the same rims, valves and caps for all, but you want to replace the tires only on the rear axle. Is this possible or do I need a separate assembly for the wheels with different set of tires?
Can I create a family table in the top assembly that somehow controls each of the subs?
Solved! Go to Solution.
You can have a family table in an assembly that uses different instances of a family table component.
(1) In the assembly, place the family table component (part/assembly), making sure you use references in the constraints that are present in *all* the instances you want to use.
(2) Add that component to the family table via the usual "add column" functionality.
(3) In the family table, for each instance of the family table component, Creo generally only offers the options of YES or NO. But, that's not all you have available. You can instead put the name of the instance of the component that you want to use in each instance of the assembly. As long as you spell the names right (my most common error), things will work fine.
You can have a family table in an assembly that uses different instances of a family table component.
(1) In the assembly, place the family table component (part/assembly), making sure you use references in the constraints that are present in *all* the instances you want to use.
(2) Add that component to the family table via the usual "add column" functionality.
(3) In the family table, for each instance of the family table component, Creo generally only offers the options of YES or NO. But, that's not all you have available. You can instead put the name of the instance of the component that you want to use in each instance of the assembly. As long as you spell the names right (my most common error), things will work fine.
Thanks for your reply!
I was trying to get this to work, but it seems only first-level subassemblies can be picked as columns in the Family table. Am I missing something?
Also - which "instance name" are you referring to (in part 3), regarding entering it directly into the table cell?
Yes, as far as I know you can only specify the family table instances of "first level" components, or components that are directly defined by the current assembly. To do the next level of components, in the very rare times I've had to go deeper like that, I've had family tables in the "second level" assemblies, too. It gets a bit confusing, I suppose, but I just have to be very careful about what I'm defining. I don't know what kind of horrors it might cause with Windchill (if any), because we don't have that.
I sorted it out, using Instance names instead of Yes/No, as you suggested. However, I needed to reduce one level of assemblies make it work, which fortunately was rather easy.
It's one of those weird things that I never see talked about when people are demonstrating capabilities. I don't even remember how I found out this was possible - maybe one of those "I wonder why if I type YYYEEESSS it lets me..." questions. It's like knowing secret functions.
In case you didn't know (the spelling ?) , the Family Table editor UI does offer a way to specify the component instance to use for a particular assembly instance you are defining:
(Select the cell and instead of typing in Y/N/*/the name, use the menu function above)
Oh, look at that! 🙂
Great tip!
All this time I have been typing and then double or triple checking the spelling!!! 🤕
It's mentioned here and around 3:40 https://www.youtube.com/watch?v=m5cXl89oxhk
But I didn't understand where he got those instance names from... 😄
Not sure about the first solution, sounds like your about to create a whole bunch of part files to do this. We have all assemblies in the upper level assembly and pick the simplified representation we want to show of the sub-assembly. If you want the tire from a different assembly in your view, can you not show both assemblies, but from the one that you want just the tire, pick the components that you do not want to show and select exclude so that only those tires appear and then save the view as a simplified rep in the master assembly.
If it were a drawing but no simplified rep was made in the upper level assembly, you could select components that you don't want in the view and select erase to remove from view.
Have you tried using flexibility? You can turn features and components on and off as well as change constraint sets, and vary dimensions.
Already having all family tables set up in the subassemblies I'm a bit hesitant to redo all the config in another function. However, it's certainly seems like an interesting feature (I watched this video: https://www.youtube.com/watch?v=2Re2CGtFPc8 ) that I'll try out later on. Thanks for the tip!
You'll have to use several levels of family table assemblies.