Community Tip - You can Bookmark boards, posts or articles that you'd like to access again easily! X
Hello,
I work for a large company with many designers who all work in the same models. Last year, I incorporated pro program parameters to configure top level General Assemblies. It works great because you get a pop up menu & can just paste in numbers from a spreadsheet (much easier than manually replacing).
The problem is, when another designer runs a project & creates new models, my pro program breaks & errors out. Creo doesn't know how to find the new interchanges & it takes quite a bit of expertise to fix it every time (not feasible with over 100 designers working at a given time).
Here is a short example of some of the pro/program that I added, with unneeded details removed for confidentiality. I am looking for advice on a better way to manage the pro/ program for configuring assemblies so that a designer cannot break it just by replacing one of my interchange assemblies with an unrelated interchange.
INPUT
ELBOW_NUMBER STRING
MOTOR_NUMBER STRING
END INPUT
ADD SUBASSEMBLY (ELBOW_NUMBER)
INTERNAL COMPONENT ID 6188
PARENTS = 6189(#6)
END ADD
ADD SUBASSEMBLY (MOTOR_NUMBER)
INTERNAL COMPONENT ID 6150
PARENTS = 56(#1)
END ADD
Elbows and Motors are in interchange assemblies & when we make a significant design change, we create a new interchange assembly. Many Designers manually swap out individual assemblies & do not know how to use pro/program which causes the pro/program to error out & even sometimes stops them from manually replacing.
Thank you
It is always a challenge to prevent the unintended consequences of user actions in these cases. The quick fix for this may be Modelcheck/Windchill which can be used to prevent saving & check-in of unsupported components/interchange assemblies. This is theoretical as I have not solved this exact issue using this strategy, but it may be a good one for your organization to "stop the bleeding" while you figure out a better option.
Nothing in Pro/Program comes to mind that would support preventing a user from creating/using interchange group functionality. If I was faced with this, I would probably try to deal with it by controlling file permissions in a way such that unskilled users were not permitted to save the files where the interchange groups are managed. Control it with the team structure by only allowing a designated user(s) to save the files where this is a problem. Many companies have system architect roles that manage these large top-level assemblies that are populated with the input of many designers working on components.
Thanks for the Reply!
Yeah it seems like an unintended consiquence of setting up pro/program. I won't be able to change the user permissions, unfortunately.
Are you aware of any way to set up the pro/program in a way that it will not break if an interchange is swapped for an unrelated component?
For example,
Say I have an interchange in my top level assembly with 5 control panels set up to swap between them via pro/program. I do a save as of that interchange & make my design changes. I manually replace the 1st interchange with the new one. Pro/Program breaks with the way I have it set up now.
The intention of an Interchange Assembly is that you can replace anything for something else, as long as those two things are from the same Interchange Assembly. By defining Reference Tags, Creo can replace the references and everything is fine. But if you create a copy of an Interchange Assembly, nothing is telling Creo that the newly created copy can also be "swapped out".
My guess is that your company is creating too many copies of your elbows/motors/control panels for them to be placed in one and the same Interchange Assembly.
We are using PRO/Program with Interchange Assemblies, but we only place "standard" items in the Interchange Assemblies (which is saved in a library location in Windchill).
For example, all our bolts, nuts, plugs and washers are placed in one Interchange Assembly, using an Component Interface for the Reference Tags. By using PRO/Program, I can swap out any bolt for any other bolt, or even a bolt for a washer. We also have an Interchange Assembly for all our door fittings.
When our engineers start a new project, they will create a copy of a "general assembly" to a new drawing number, so they can change the width and height as needed (but all the "standard" items remain as library parts).
Maybe if you could copy your Interchange Assembly from the get go, Creo can find the new reference?
So copy this:
XXXXX_GENERAL_ASSEMBLY.ASM
XXXXX_ELBOW_INTERCHANGE.ASM
XXXXX_MOTOR_INTERCHANGE.ASM
to:
12345_GENERAL_ASSEMBLY.ASM
12345_ELBOW_INTERCHANGE.ASM
12345_MOTOR_INTERCHANGE.ASM
If you have a "project number" of 5 characters, then you could use something like this:
INPUT
ELBOW_NUMBER STRING
MOTOR_NUMBER STRING
END INPUT
RELATIONS
PROJECT=EXTRACT(REL_MODEL_NAME,1,5)
ELBOW_COMP=PROJECT+"_"+ELBOW_NUMBER
MOTOR_COMP=PROJECT+"_"+MOTOR_NUMBER
END RELATIONS
ADD SUBASSEMBLY (ELBOW_COMP)
INTERNAL COMPONENT ID 6188
PARENTS = 6189(#6)
END ADD
ADD SUBASSEMBLY (MOTOR_COMP)
INTERNAL COMPONENT ID 6150
PARENTS = 56(#1)
END ADD