Wednesday, September 26, 2007

Ignore some components in a Parts List


In order to prevent a component or a subassembly from appearing in a Parts List, there are two poorly documented attributes:
  • PLIST_IGNORE_MEMBER
  • PLIST_IGNORE_SUBASSEMBLY
I guess the names tell which is which. Defining one of these in the component properties - attributes window is just enough.

Parametric Sheet Templates

For a smarter sheet template solution, a tabular note cell can be populated with the following data in NX5: (You must add "<" and ">" around the variables)
  1. Number of the current sheet: W@$SH_SHEET_NUMBER
  2. Total number of sheets: W@$SH_NUMBER_OF_SHEETS
  3. Numerator of the sheet scale: W@$SH_SHEET_SCALE_NUMERATOR
  4. Denominator of the sheet scale: W@$SH_SHEET_SCALE_DENOMINATOR
  5. Size of the current sheet: W@$SH_SHEET_SIZE
  6. Units of the current sheet: W@$SH_SHEET_UNITS
  7. Projection angle of the current sheet: W@$SH_SHEET_PROJECTION_ANGLE
  8. Master Model drawing sheet part name: W@$SH_MASTER_PART_NAME
  9. Sheet part name: W@$SH_PART_NAME

These items are from a post in BBSNotes by John Baker. If you'd like make an addition to the list, you're more than welcome to do so thru comments.

2-way interaction between Expressions and Attributes

Using a little bit of Knowledge Fusion functions, it's easily possible to interact expressions with attributes, and vice versa.

Suppose you have 3 expressions called 'length', 'width' and 'height' and you'd like to automatically update the part attributes called ATTR_length, ATTR_height and ATTR_width accordingly.

(Why in the earth would I want to do that, you might ask- these values could well be part list columns, or some dirty ERP trick might be the case. Actually I need neither, but it's good to know that this can be done !)

In the Expressions window, you need to create a dummy number expression, say 'test'. This needs to be a number, not a string variable.

Then you need to set the value of 'test' using the following syntax :
  • test = ug_setPartAttrValue( "ATTR_length", stringValue(length) )
stringValue is another KF function to convert a numeric value into a string, which ug_setPartAttrValue requires.

You can also get the value of an existing attribute, and assign it to an expression. This time, the syntax is :
  • test2 = MakeNumber( ug_askPartAttrValue( "ATTR_width" ))
where test2 is the expression to be updated.

In order not to have lots of these dummy test variables, you could create a combined dummy, like:
  • test = ug_setPartAttrValue( "x", stringValue( p1) ) + ug_setPartAttrValue( "y", stringValue( p2) ) +ug_setPartAttrValue( "z", stringValue( p3) )

Tuesday, September 25, 2007

Truetype fonts in NX Drafting



Got bored with the old drafting fonts like latin_extended ?

Here are some ready-to-use .fnx drafting fonts, converted from
  • Verdana
  • Tahoma
  • Times New Roman
  • Segoe UI
  • Trebuchet MS
Download them here, and copy the .fnx files to the UGII\ugfonts folder.

AutoSave.. for NX ?



"If i had a penny each time somebody complained about autosave in NX.." By Richard FullConstrain.

Well, of course there's not an autosave command in NX. It's quite understandable, though; think about having a huge assembly which you've opened fully, and zoomed in/out of the part. Maybe travelled accross a few applications, drafting, modeling, etc. Then your autosave period has ended, and the application decided it should save the work part.. for nothing at all, causing lots of cpu power to be lost, making the world a hotter place to live.


No worries, you could always set a 'save reminder'.
Here's how : Customer defaults - Gateway - Part - Interval for Save Changes Reminder

Naah, forget about 'autosave' Richard, NX will remind you to save often instead.

Assembly Constraints - The new 'mating' alternative

Since NX5, it is now possible to use bidirectional mating conditions in the Assemblies module. The old 'mate' commands are still available, but if you need the newer functionality, you need to enable it first.

  • For the current part, go to Preferences - Assemblies - Assembly Positioning and set Interaction to 'Positioning Constraints'
  • For all the new parts from now on, go to Customer Defaults - Assemblies - Positioning - Interface - Positioning and select 'Positioning Constraints'
What's new with the new and shiny Positioning Constraints ? Well, there are numerous changes.
  • First of all, the GUI is much easier. ( both to use, and to teach to a newbie !)
  • Bidirectional relationship is now possible.
  • Align and Mate is combined into a new 'Touch Align' constraint
  • There's a 'fix' constraint. As the name implies, it fixes your part.
  • It's possible to 'bind' a component to another.
  • You can visually see the constraints in the screen and hide/show some of them.
  • You can calculate an 'extraction path' in Sequences.
I must also note that it is possible to convert the old mates in your assembly to the new Positioning Constraints using the command Assemblies - Components - Convert Mating Conditions. I've converted quite a number of assemblies so far, and it works quite smoothly.

Enabling the Reuse Library


There's a hidden standard parts library (or a 'reuse library', with some polished words and GUI) within NX5. You need to enable a Customer Defaults setting to be able to use this.

  • Customer Defaults - Gateway - Reuse Library - General - Display Reuse Library
    (You might want to turn on the option under Teamcenter category also, if you're running in NX Manager mode as well)

It's hard to say this is a complete part library as an out of the box solution, but can be extended to the user's needs quite easily. I'm guessing this might be the reason Reuse Library is not shown to the end user by default.

Extruding faces - the way it was before NX4


As most oldskool NX users out there, you might have found the new ability to sketch on planar faces quite annoying. There's a way to revert this behavior: (actually there's two)

  • Before selecting the planar face, make sure you've selected 'Face Edges' as your Selection Intent.
  • Or, you can disable the following setting in Customer Defaults : Modeling - General - Miscellaneous - Automatically Sketch on Planar Faces

Out of the box drafting standards

An NX5 standard installation includes out of the box drafting settings for ASME, DIN, ISO and JIS standards. To activate these settings,

  1. Open your Customer Settings by Tools - Utilities - Customer Defaults (be sure that your active user role includes this command. If not, you can always set one of the 'advanced' roles)
  2. Go to Drafting - General
  3. Select the Standard tab
  4. Choose the standard of your choosing. You can also customize the existing standards.
  5. As with all customer defaults changes, restart your NX session.