Is there anything more streamlined than DOCUMENTATION regarding GRIP?
My question is how to retrieve information from Part List so that I can assign attributes.
What version of UG/NX are you using? Not sure what is available since the change in Parts List formats in NX2(?).
Normally, Parts Lists are made from attribute data, not attribute data made from a Parts List.
"Wildfires are dangerous, hard to control, and economically catastrophic."
Grip has been on 'life support' for some time now, meaning that no new functionality or features have been added to grip (or put another way grip does not support new functionality that has been added to UG). Since 'part list' has been changed and added to in recent versions, I doubt that what you want to do can be achieved with grip. I think the intention is to replace grip with journaling (NX3 or higher). Bad news is that journaling is being implemented slowly and it may not do what you want either (not yet anyway).
But then again if you give some more specifics of what you want, it may be possible or there may be a workaround for now.
Journaling is actually far more flexible and advanced than most people realise.
The only problem is it's not all covered by the "record" style of creation like macros.
I have several journals that can create/edit attributes in parts. I have not yet tried to tie this to a parts list but I imagine it is possible.
It is all written in .NET (Visual Basic or C#) however you don't need a specific program, I started for the first year of writting them in notepad and using UG to test them.
I now have Microsoft Visual Studio which does save some time.
The documentation in NX is pretty poor on this subject. It can be found at
NX Open->NX Open for .NET->NX Open for .NET Reference Guide
Once you get used to it you can work out how to use new functions without an example. Examples are however a far easier way to learn (Big hint to UGS there).
The advantage of journaling/.NET is that you can create scripts with nice windows forms to help user selection with combo boxes and images. This was not available in GRIP.
First I make a part list in the master assembly. Then I need to use the part list infomation for detail (a draft drawing for single part-model), such as detail number (call out), part name (file name) and quantity. THose are the attributes we can't put in the individual file.
I know we can get information by GRIP because my ex-company has the program. It's just that I don't have the .grs so I can't make modifications.
The normal approach I've seen is the reverse of what you describe.
Attributes are assigned to the components and then the parts list diplays the relevant attributes in the assy.
It sounds a bit dangerous to try and work the other way around.
For example you could assign 2 different descriptions in sepearate assy's that call up the same component or even worse different materials for the same part number.
A grip example of creating attributes for the current work part would be as follows:
STRING/PARTNO(132)
STRING/ATTA(2,132)
ATTA(1) = 'DB_PART_NAME'
ATTA(2) = PARTNO
ASATT/PART,ATTA,7
atta is an array conting the attribute name and the data to assign to it. PARTNO would be a variable with the part number defined in it or could be substituted for a har coded string.
The VB.NET Version would be:
Dim theSession As Session = Session.GetSession()
Dim PartNo As String
theSession.Parts.Work.SetAttribute("DB_PART_NAME", PartNo)
The way you described is to use individual model as the master attributes. That is fine for some non-systemical information, for example vendor name, etc. But you can't possibly assign the balloon number or quantity before you create the part list. That's the information I was trying to retrieve from part list. And for one master assm only one part list would exist. So it's not dangerous at all if you are in this master assm environment.
When you create a parts list in NX the callout is only assigned to an assembly attribute. If you select the part in the ANT while displaying the assy you can get properties for the component. One of the tabs shown will be attributes.
You should notice that the attribute of callout assigned by the parts list (if this has been created in the normal way) has a different symbol next to it than your component based attributes.
If you display the componet and view the attributes this callout will not be there.
What you need to do is somehow "push" the assy attribute to the component.
I'm still dubious about this approach as if your component lives in more than 1 assy once again it could have more than one listing of callout which can't happen in the part attributes.
Also pushing attributes from an assy to a component is not going to be easy to solve (or may be impossible in grip let alone .net) or keep up to date once solved.
A question that comes to mind is why do you need to have an attribute of callout stored in your component if your assy is assigning the attribute?
There are 2 types of drawings. One is the assm drawing which has the balloons on it and lets you know which part number (call out) goes to which component. Another drawing is detail drawing which is the drawing for individual part. It has all the detailed information on the drawing. The critical thing is the part number and quantity (they are attributes reversed from the part list) should match the assm drawing.
All that matters is the process should be excuted automatically by the machine. It's like a batch operation. Assign the attributes to all the parts in the part list by just one click under the master assm.(Of course we can type in the attributes manually as we did not long ago.)
The attribute of callout or quantity should not normally be needed in the detail part drawing and the part number attribute should be called directly from the component into the parts list in the assy drawing (without using grip to "copy" the attribute into the assy).
I can't see why someone would want for example the callout or quantity in the detail drawing of a component.
I'm used to the following attribute allocation:
Assy Drawing
Parts list containing :
Part number (attribute from component)
Description (attribute from component)
etc
Callout (stored in assy)
Quantity (stored in assy)
Detail Drawing
Parts List
Part Number
etc
all part attributes (no attributes from assy called up)
The logic applied is that a part should only contain information about that component which does not get affected if it is put into multiple assys.
This creates a 1 way data flow. From component to sub assy to assy and so on up the assy tree.
This avoids having to "push" attributes back down the tree.
Sounds like this might not fit into your way of working though, unless I'm mis-understanding what you are trying to achieve.
I'm not even considering master-model in any of this but I think this should follow the same convention.