Community Tip - New to the community? Learn how to post a question and get help from PTC and industry experts! X
To all,
I am looking to see if there is a association or reference selection in WindChill that will do what I am describing here. We are currently running Creo4, with WindChill 10.2 M030.
Currently, to get a drawing to be "Referenced By" in WindChill, we will add ALL of the instances from a family table to the drawing, so all models are on the drawing. Therefore, this gets created automatically upon check-in. This is great, but when we have large assemblies, 30-40 components in the BOM's, and possibly over 50 instances (or more) in the assembly family table, it takes time to add all these models. It also makes it longer to open the drawing, as it looks to regenerate all the models added to the drawing upon retrieval. Most of the time, we do not even have views for all of the instances, we just add them for the reference by to be built.
So if someone knows what we need to change or set, so we do not need all models added to the drawing, it would be greatly appreciated.
Thank you,
Dennis
Why add all of the instances if they are not used by the assembly or drawing?
With the generic file being referenced, you basically have all of the instances anyway.
Family tables are only 1 file, the generic. All instances are contained in that single file.
To verify that, do a backup save to disk of a small assembly with some family table instances in it. You will only have the assembly, individual components and the generic family table files in your folder.
Dennis,
I saw your post and thought this is an interesting problem so I sat down and figured out how to do it.
In short, I wrote code a listener that listen for the a PRE_WORKSPACE_CHECKIN
The listener looks to see what is getting checked-in. If a Cad Drawing is being checked in the listener runs code that does the following:
1. Looks to see if any of the drawing's models are generics (this could be easily modified to see if drawing's models are generic or instance)
2. If a generic is found get all family table members that the generic belongs to.
3. Create an EPMReferenceLink between the instance and the drawing.
For testing I created the same type of EPMReferenceLink as the generic has but that could be easily modified based upon the requirements.
Here is the drawing's previous (before checkin that ran the listener):
Here's what it looks like after checkin when the listener ran
So, what you are looking for is very doable.
Hope this helps but if you need more help please feel free to send me a message.
David
d_graham,
this is exactly what i am looking to do. how do i do what you state above:
I wrote code a listener that listen for the a PRE_WORKSPACE_CHECKIN
Dennis