NX9.0.3 Native mode
I have adrafting sheet with two individual parts (example parta.prt and partb.prt). I would like to add a annotation linked to the part name to identify each.
The onlty attribute I could find is <W@$SH_PART_NAME> which only links to the sheet part and not the part in the associaated view. Is there another way to identify each part? I also tried to add a parts list but only one part name is diplayed. Any tips would be greatly appreciated for this seemingly simple task.
The attached images are screenshots of what I am dealing with.
Actually, what you have is a drawing that contains one component (28252) and one view imported from another component (a "drafting component", 28251). Drafting components generally will not show up in a parts list.
Note that you can set a String Expression equal to the name of the current WORK Part by using the expression function 'ug_askCurrentWorkPart()'. Once you've got an expression, you can then transfer that value to an attribute, but if all you're looking for is a note on the Drawing you can link that to the expression.
You can use the following attribute to display the name of the master model (the actual component part in the drawing file) in a text note:
To display the name of the part in the imported view, you'll first need to create an attribute in that part, and then you can reference that attribute in a note using the Insert Object Attribute option in the Note dialog.
This is a great solution (ug_askCurrentWorkPart()) but the value when set in the part does not "pass" down to drafting. Is there a workaround for this?
Also, I wanted to set this up a a default attribute in my attribute template, however I dont see a way to link to a expression in the attribute template. Is there a workaround for that? I assume the expression would already need to exist in the part file. Is there a way to create it by default in all parts similar to attribute templates?
If you create a Part Attribute it should be inherited by the Components used when you create a Master Model drawing. Or you could always use 'Interpart Expressions' to pass data from one part file to another.
How would I go about creating a default expression named FILENAME linked to the expression ug_askCurrentWorkPart() in all new part files created? Is there a expression template similar to the attribute template functionality? I cant find any information in the documentation on this.
There are no 'expression templates' like we have Attribute Templates, but you could add the expression to the Modeling template file(s).
There is an example in the Drafting Help that demonstrates how to apply an object attribute (aka, the part name) to an object in a part, and then display that information in a note on the non-master drawing. In NX 9, this example is located here:
Home-->CAD-->Drafting-->Drafting annotations-->Drafting notes and lables-->
From the original posters image of the Assembly Navigator, the assembly structure is not in a Master Model concept format- One part/assy referenced by the parent file (drawing file in this case.) But instead has multiple children components under the parent (drawing file).
I was wondering if, by chance, the user is attempting to duplicate a similiar drawing process that SW allows in their drafting files??
SW drawing files are structured based on views as the parent. The view controls what it displays- whether the component/assy are part of the assembly or not. As an example, I could leave all hardware out of my master model assy and then still document them in drawing file by just adding views that point to my hardware components. This violates the MM concepts of having a parent/child relationship. SW drawing files allows for parent/childern.
Understanding this may help in understanding the "odd" requests.