Community Tip - New to the community? Learn how to post a question and get help from PTC and industry experts! X
Hi all,
I have a predicament whereby a compressible component has been modelled as a family table, the generic being the "as manufactured" instance and the second instance being compressed to be correct in an assembly.
The problem is that I need both to be named identically such that the parameters in our drawing sheet give the correct part number to the manufacturer and the assembly BoM calls for the correct part number.
I'm struggling to believe that there is not a way of managing this issue and I'm sure that I'm not the only one who has had it, so there must be a workaround: please help!
Many thanks.
Solved! Go to Solution.
Another way to handle this is to assemble the spring as Flexible Component. This way you don't need the family table and there are no names conflicts for this reason.
One method is to create a string parameter in all the parts that is used to generate the BOM which represents the desired name of the part. This is often done because of limitations on part names - not being able to include spaces, slash and backslash, and so forth as part of the ProE/Creo file name. Using the parameter, any number of unique parts can have the same name. The Common name is a built-in parameter that can be used to manage this.
The BOM needs to use the parameter as the report index instead of the part number.
I was afraid that somebody might say that. Would I be correct in thinking that that would require all parts that needed to be in that BoM would then need this parameter since one cannot overwrite individual cells in a repeat region?
Another way to handle this is to assemble the spring as Flexible Component. This way you don't need the family table and there are no names conflicts for this reason.
Thanks Gabriel. The only problem with that is that the parts have been modelled already for us by somebody else so this is how we have to handle them for now.
Flexible component are entirely defined within the assembly. There is nothing special that need to be done at part level. Select the part representing the spring in Model Tree and from the RMB menu select Make Flexible (see flex_component.jpg).
In the Varied Items dialog box add the dimension(s) that define the spring length (var_dim.jpg). From here you have several options to define the "as assembled" state:
Manually enter the new value, use the distance between reference surfaces, etc.
In the attached assembly I used the distance between the surfaces. It is a very rudimentary example but hopefully it will give you an idea how it works.
Can this method be done for any part (i.e. not only springs)? Specifically we have rubber components that need to be manufactured at one size but then compressed to fit in the assembly. There are two dimensions that we would need to change to make the components fit; could these be controlled as a flexible component?
Yes, You can define multiple dimensions as variable dimensions for the assembled state.
Thank you, that is very useful to see. Can flexible components be set to more than one display state? E.g. if a rotational spring needs its manufacturing drawing in a central, neutral position can the flexible components allow two other display states in the assembly, one fully open and one fully closed?
Yes, the flexibility is applied to the component (assembly feature), applying changes to the component model. This allows as many different states of a model in the assembly as you want. It is definitely the function to go with for your use case. Gunter
Thank you Gunter. I haven't been able to find a "how to" guide regarding switching between these display states: does each position need to be saved as a simple representation in order to flick between them?
There is no direct functionality to have different states saved separately as far as I know. But the flexibility (dimensions applying alternate shape to a component model inside the assembly) is parametric, so regular means of the parametric system should allow to switch between different assembly states. For example: - define an assembly parameter and drive flexibility by relation - or assemble the part multiple times with different flexible state, then use program or family table functionality to suppress/resume them as needed - maybe assembly family table can also be used to directly drive flexibility values (needs to be verified) and there are probably even more methods... Gunter