Tuesday, May 4, 2010

NX 7.5 is out !

Long awaited NX version 7.5 is available for download. You can log in to http://ftp.ugs.com with your webkey and download the 2GB zip pack. Release notes are available from here.
Many users assume 7.5 is just another maintenance release of 7, but this is a completely new release on its own.

Transition courses are expected to appear in Siemens PLM Software Training page and the CAST online page within this month.

A note to TC users though, this 'upgrade' will require you to have a TC 2007.2 version (UA). I'm sure the release of 7.5 will increase the number of TcEng installations upgrading to unified architecture.

Monday, January 11, 2010

NX6 Student Edition available


NX is now available for students with a much lower price. (~$135) Parts created with this edition will be tagged, and the 2D plots will have watermarks on it. Some commenters stated that only CAD functionalities are available, though.

See the details here.

Thursday, December 17, 2009

Loading parts from your last session when opening NX

It's possible to have NX load all your parts/assemblies that were open the last time you worked with NX.

First, you need to switch on the customer default "File → Utilities → Customer Defaults → Gateway → General → Part → Write Bookmark File on Exit". This will make sure that a bookmark file is written as "yourusername_last_context.plmxml" under TEMP directory.

When you want NX to load this bookmark, you can launch NX with the following command :

ugraf.exe -retrieve:%TEMP%\%username%_last_context.plmxml

Or, you could use File-Open to load the .plmxml file.

Friday, June 26, 2009

Using revisions in native NX

For those who don't have Teamcenter, there's a way to have NX recognize your part numbering/revisioning scheme. Here is one scenario :

assembly1__01.prt
|_mypart1234__01.prt
|_otherpart1235__01.prt

The numbering scheme here is, "partnumber__revisionID.prt"

Suppose you open mypart1234_01.prt without the assembly, and save it as mypart1234__02.prt. Normally, you would need to open the assembly, and replace the 01 revision with 02.

With the revision logic setup, if your load options say "load latest" and "allow substitution", mypart1234__02 will load automatically without doing the part replacement..


How do we set it up?

First open your customer defaults. Go to Assemblies - Site Standards - Part Name Versions.
Fill this window :

Full Part File Name Format :
([a-hj-np-z0-9A-Z]+)(__([0-9][0-9]))

Version independent section of part file name
\1

Part File Name Match
\1(__([0-9][0-9]))

Version section of the part file name match
\2


Version type
Alphanumeric

What we say here, is that the full part name (mypart1234__01) consists of any number of small/capital letters/numbers followed by a double underscore, and a 2 digit numeric revision ID. The way we say it is, "Regular Expressions", a very detailed method of specifying patterns like these.

Now that you've set your customer defaults, next step is making sure that your load options say "load latest" and "allow substitution". Also, you should not be using "As Saved". Instead, you can load from a folder or search directories.

How it works is, when you are loading the component mypart1234__02, NX knows that the part name portion is mypart1234, and the revision is 02. Listing all the parts that matches the pattern mypart1234__[revid] , it loads the latest one. So it is very imporant that you should name your parts according to this pattern. For example, the number of underscores should be exactly 2, or there should not be a letter in your revision ID etc.

It seems this functionality has been available for a long time, only to be found in the depths of your UGDOCS installation..

Monday, June 15, 2009

Hole Table functionality without the Mold Wizard license

Here's one reason to consider upgrading to NX6.0.3.

You can now insert a hole table just like the mold-wizard-people do by setting the following environment variable :

UGII_DRAFTING_HOLE_TABLE = 1

Tuesday, March 24, 2009

Free NX CAST training access for students

I'm not sure for how long this has been available : if you are a student, you can freely access the CAST training system for NX. CAST is basically a very helpful set of tutorial based training that covers modeling, assemblies, drafting, machining, simulation, etc. (the abbreviation CAST stands for Computer Aided Self Teach)

You'll need an email address that ends with ".edu", ".ed", ".ac.uk" to register:

http://castedu.ugs.com/review/freeAccess.shtml

If you're not a student, but want to get some information how to obtain CAST, here's where you can.

Existing CAST owners : here's a tool that will help you to create your own set of trainings: http://cast.ugs.com/ccb/index.shtml

Tuesday, October 7, 2008

Find out which dimensions were manually typed


This trick is from SFBMail, and is applicable to NX3 and higher.

When you give an "Information - Other - ObjectSpecific" command, you'll see that there's an option to find out 'Dimensions with Manual Text'. This way you can easily highlight dimension texts with manual text when you're reviewing a technical drawing.

Thursday, July 3, 2008

Exposing NX attributes to Windows Explorer

If you'd like to see or modify your part attributes outside of NX, here's a simple trick :

-Click on Start - Run... and type the following :

regsvr32 "C:\Program Files\UGS\NX 5.0\UGII\ugpropext.dll"

-You'll see that the dll has been registered successfully.

-Log off and logon again (or just end the 'explorer.exe' task and create a new one if you're as lazy as me)


I've tried this with NX4.0.4 and NX5.0.4 successfully.

Monday, June 30, 2008

NX6 is ready for download

Much awaited version of NX that includes the `Synchronous Technology` is ready for download, from http://ftp.ugs.com/.

Saturday, May 3, 2008

GRIP code library

For those customizers who haven't switched to a standard programming language in NX yet, here's a library of GRIP programs that might be useful as they are, or when you're writing your own GRIP code.
http://www.plmworldgroups.org/grip/main_index_s.html

If you're a beginner though, it is highly suggested to have a look at the Journaling capabilities of NX with your own language preference : Visual Basic.NET, C++ or Java. For journaling, PLMWorld has a library here.

Friday, April 25, 2008

Undo memory management

To decrease the physical memory usage of NX5, you can have the undo files written to disk instead when the physical memory is about to be exhausted by setting this environment variable :

  • UGII_CLOSE_UNDO_MODE=CHECK

Thursday, April 24, 2008

2008 Customer survey for NX

This year's voting process has begun.

For those who haven't heard CIP before, it's a voting system to prioritize the Enhancement Requests for the software. If you have an active maintenance, go ahead and vote !

http://www.plm.automation.siemens.com/CIP/CIP.asp

Synchronous Technology is launched

NX has been best known for its ability to present users lots of ways to do the same task - using different modeling disciplines like solid, surface, hybrid, parametric, or 'direct' modeling; at the same time without having to switch between from one to another.

Synchronous Technology seems to be an addition to these modeling techniques. At first it might sound like "Direct Modeling" which is already there in NX, but it actually is much more than that.

What it does is that when you make a change, the kernel examines the obvious dependencies the change will affect (like being tangent, concentric, parallel, etc) and tries to preserve them while honoring the parametric structure at the same time, thus the name `synchronous technology`.

What is the benefit ? You can for example use the section view curves to drive the model itself ! I know this sounds quite promising, but you can see this from this launch video here.

Next versions of both NX and SolidEdge will benefit from this new layer of tools, sitting on top of Parasolid and D-Cubed technology. A more technical description can be found in this white paper (registration required)

Monday, April 21, 2008

Change sketch dimensions in Drafting

NX methodology normally suggests that your drafting, toolpaths, CAE model etc all depend on your 3D model, so the changes should propogate from 3D model to the rest. (thus the name master and non-master parts)

What it means, is that if you change a drafting dimension of a line from 50 to 55 mm in drafting , you'll only get a warning that the associativity between the dimension and the geometry will be lost, and your line length will remain unchanged.

Normally this really is not a problem in NX, as switching between applications like modeling and drafting is quite easy. But if you are switching to NX from another CAD application, you might want to try this approach :

  • set UGII_DRAFT_EXPRESSIONS_OK = 1
  • create a sketch
  • create a view of the model in drafting
  • select Insert -> Feature Parameters command, and place the sketch dimensions into your view
  • Hit CTRL + E (expressions) and select a dimension of the sketch. You'll be able to modify and update without having to go back to modeling.

Sunday, April 20, 2008

Duplicating a drawing sheet

It amazes me how flexible import and export part commands can sometimes be. Here's a way to duplicate your drawing sheet within your work part.

  • Save your part
  • Launch `File - Export - Part`.
  • Select Part Specification : Existing
  • Select "Specify Part" and choose your workpart from your list.
Your current sheet should be duplicated quickly.

Tuesday, April 1, 2008

Automated installation of NX5

Although setting up NX is easier than Winamp nowadays, an unattended installation script might come handy if you have small amount of time and lots of machines to get up and running.

Assuming that you have NX4 installed, and you want to install NX5.0.4, here's a sample script :
(be sure to copy / paste the text into a blank text file, as there might be autobreaks in place)

@ ---- COPY START FROM HERE

@echo off
start /wait msiexec /qn /i "
D:\nx5_setup\ISScript10.msi"

echo NX4 translators are being uninstalled...
start /wait msiexec /qn /x "
D:\nx4_setup\translators040\UGS NX 4.0 Translators.msi"
echo NX4 is ...
start /wait msiexec /qn /x "
D:\nx4_setup\nx040\UGS NX 4.0.msi"


echo NX5 and translators are being installed...
start /wait msiexec /qn /i "
D:\nx5_setup\UGS NX 5.0.msi" ADDLOCAL="all" INSTALLDIR="C:\UGS\NX5" LICENSESERVER=28000@license_server


echo Updating NX to 5.0.4 ...
cd /D
D:\ugs_update0504
start /wait xcopy
D:\ugs_update0504\*.* "C:\UGS\NX5" /E /F /H /Y /R >NUL

echo updating Visual C++ libraries ...
start /wait
D:\ugs_update0504\vcredist_x86.exe /q:a /c:"msiexec /i vcredist.msi /qn" >NUL 2>&1


echo NX5 setup complete
pause

@ ---- COPY END HERE

Monday, February 18, 2008

Automatically execute macros on NX startup

Here is a way to automatically execute a macro on NX startup :

Append -key:macroname.macro to your startup command. This might be ugii.bat, or the router itself.

Saturday, January 12, 2008

Rotate, zoom, pan with F keys

If you have an I-DEAS background and you're using NX now, this environment setting is definitely for you. Most ex-IDEAS users I've seen complain that (well they complain about a lot of things) the rotate/zoom/pan stuff in NX is 'different'. *

To have the same usability, set UGII_FKEY_DYNAMICS=1, and you'll have the F1, F2, F3, F4 keys working just like they did in I-DEAS: Zoom, rotate, pan, etc.

*: If you haven't used I-DEAS before and you like these, then all I can say is that you've gone to The Dark Side.

Software Field Bulletin (SFBMail)

Quoting from the SFBMail website, 'SFB is the vehicle to inform the customer of any technical tips, updates, workarounds, and vendor hardware and software release certifications. When SFBs are released, they will be mailed to this list first.'

Just navigate to http://support.ugs.com/mailman/listinfo/sfbmail and enter your mail address to receive the updates. It's helpful to see a notification that a patch you've been waiting for is out.

NX5 on Ubuntu x64

Although it's not supported officially, here's how you can install NX5 on a Ubuntu 64 bit box with the help of Showan2 from ubuntuforums.org.

Ubuntu seems to be gathering interest from many linux desktop users. (Don't count me in, I'm happy with my Windows XP x64 Edition!)

Tuesday, January 8, 2008

Renaming components outside of NX

If for some reason I needed to rename one of my components in an assembly; here's how I did it so far :

  • Rename the part in windows
  • Open the parent of this component
  • Click OK for the warning saying that the component couldn't be found/loaded
  • Open As.. or Substitute the component with the new one.

Instead, there's a command line utility under UGII directory called ug_edit_part_names.exe, which changes the reference of the renamed part in the parent. The good thing is that you don't need to actually load the parts to save the changes.

Suppose the assembly structure is like this :

assy
..|---part1
..|---part2
..|---part3
.......|---part3a
.......|---part3b ---> part3_renamed


If you need to rename part3b into part3_renamed ; here's the syntax :

ug_edit_part_names part3.prt -o part3.prt -change_name part3b.prt part3_renamed.prt

I must note that this tool does not rename the file itself, it merely updates the referencing parent. So you need to rename the file yourself at the O/S level.

There are some more uses;

ug_edit_part_names assy.prt -o assy.prt -upper_name will make all the components uppercase. Try ug_edit_part_names -examples for a few more usage examples including querying / changing the last known whereabouts of a component.

This could be used along with ugpc to rename components in a batch process, in case the clone assembly's renaming features are not fit for your needs.

Sunday, December 2, 2007

More realistic images with IBL

Using IBL, 'Image based lighting', you can get more realistic results when you render your 3D model with NX render. What it does is, instead of using single-point light sources like a bulb, it simulates the actual environment of your 'stage', by wrapping an image around your model and then mapping the light on the surface to your model.

You need to define an image for this purpose, called an HDRI palette file. Actually NX comes with some HDRI images out of the box, but you can use other .hdr files if you like (here's a source)

Some may remember this technique from recent games, starting with Half-Life II. Adds an extra amount of time to your rendering process, but I guess you'll agree that it's worth the wait.

Here are a few sample .HDR files, mostly nature stuff, from the Lightworks* user community website: here, here and here.

*: NX uses the Lightworks engine for rendering functionality. They even have some tutorials for NX3 rendering. Although it's outdated, it should still be useful if you're a newbie.

Saturday, November 3, 2007

NX4 License server and Windows Vista


There hasn't been an official statement yet stating which NX version will fully support Vista, but nowadays I hear quite a few people complaining that they've just bought a laptop, and noticed that it is preconfigured with Vista instead of Windows XP. I'd run back to the computershop if I were you, but here's what you can do to make the "Unigraphics License Server" work.

Begin installing the license server from the NX4 Base installation CD. After copying files, you'll see an error saying the service could not be started. Before hitting Cancel, copy all the files in the "C:\Program Files\UGS\License Servers\UGNXFLEXlm" directory to c:\nxflexlm . Then cancel your installation, and launch a Command Line.

In a single line, enter
echo @C:\nxflexlm\lmgrd -c c:\nxflexlm\ugnx4.lic -l C:\nxflexlm\log.txt >c:\nxflexlm\nx4_server.cmd

Then add C:\nxflexlm\nx4_server.cmd to your Startup directory.

For NX5, I received no errors at all while installing both the license server and NX itself. I must remind you that this is a non-supported configuration, and you'll most probably be denied to log a call if a problem of yours cannot be duplicated on a certified system of GTAC.

This might be a workaround till the drivers for Vista gets stable and Siemens starts supporting Vista.

UPDATE: Thanks to Stian's comment, another workaround is just copying the lmgrd.exe from an NX5 installation overwriting the one in NX4. This way you'll be able to start your license server as a service.

Thursday, November 1, 2007

Use middle mouse button for OK outside of NX


I sometimes catch myself hitting the middle mouse button to hit OK and see that nothing ever happens because it's not NX I'm using! This surely is because of the time I spend in NX, but why cannot we use this in say, Options dialog of Internet Explorer ?

Here's a quick solution I've managed to compile. Download this small executable, and it will stay on your traybar waiting for your middle-click. If you hold it longer than 20 milliseconds (which is slightly longer than a single click for most people) it will find the OK button in the active dialog/window and hit it. Also, you can use CTRL+midbutton for Apply.

It has no options yet, but I'll add a few when I have some spare time. Drop me a line if you would like the source file as well…

Thursday, October 25, 2007

Unigraphics nostalgia

If you're interested in the history of CAD/CAM systems (especially Unigraphics, starting from 1960s) you must visit John Baker's great UG museum at http://www.plmworld.org/museum/


It's quite shocking to see that people used computers with displays even worse than Commodore64 to design an automobile. Maybe I'll print out some pictures and show it to one of those users who complains that he's doing lots of extra work while making an A0 drawing in just 5 minutes!

Tuesday, October 16, 2007

Speeding up the uninstallation

Uninstalling NX can be a very long process, especially if you have an old/fragmented hard drive. The reason is that Installshield (the engine behind the curtains) checks for every single file installed within the directory. When you think about the number of files in your NX installation (mine has 122.000+ files !), you'll understand why this file-checking slows you down.

Here's a trick to speed things up : before going into Add/Remove Programs, shift+delete your installation. This won't be deleting your uninstall data.
Then proceed to Add/Remove Programs and uninstall the product as you'd normally.

The amount of time you've gained adds up to a considerable amount if you need to do this on quite a number of machines.

This 'method' can also be used to uninstall the UGDOCS installation.

Thursday, October 4, 2007

Monitoring FlexLM license usage

The best friend of anyone who has got anything to do with flexlm, is the log file of the server.

But as you know, the 'view log' command of LMTOOLS is dumb as hell. It just shows you the situation at moment you click View Log. (well it does not even have a close button on the upper right corner, it's too much to ask for a scrolling live log feed ! )

With the help of the old `tail` command from UNIX systems, it's easy to watch a logfile in realtime. You won't have to install a flavor of UNIX for this, luckily someone has ported this nifty utility to Win32 platform : get it here. (it's licensed under GNU/GPL)

After you tell Tail32 to watch your UGS License Server, it will look like this :


Now you're one step closer to controlling the universe. Quite cool, right ?

If you're a CAE-oriented-guy and see the world in meshes, you can use this to watch as your .op2 solution file grows bigger and bigger.

Wednesday, October 3, 2007

.PRT extension and multiple NX versions


If you have multiple NX versions installed, you may sometimes need to be able to open a part with say, NX4 but not with the latest version.

Normally, what NX does is it tries to see whether you have an already open NX session. If you do, the .prt file you've double clicked is routed to this session. If not, then the latest version of NX installed is launched, and the .prt is opened.

There's a '-version' parameter of ugs_router.exe to specify the exact version you'd like to open your part with. The versions are as follows :
  • UG V18 : -version=V18.0
  • NX : -version=V19.0
    ..
  • NX4: -version=V22.0
  • NX5: -version=V23.0 and so on.
So, if you go to My Computer - Tools - Options - File Types and find PRT in this list and change the default "open" command in such a way that it includes -version parameter, Windows will launch the specific version of NX in case of a double click.

For multiple versions, you need to define new "commands" in Edit File Type window. Or, if you're lazy- here's the .reg file itself. (the NX path might not match your system, be sure to change it out before importing into your registry)

Monday, October 1, 2007

Interpart Link Browser



Here's how to see all your interpart stuff collected in one place, before all gets too complicated to verify. Go to Assemblies - WAVE - Interpart Link Browser.

You can investigate object links, features or parts; and also edit or delete these links.

Emphasize your Sketch


With the help of "Dim objects off work plane" option, you can have your out-of-the-sketch-plane objects look dimmed.

It's hidden under the Utility toolbar.

Once you get used to this setting, you'll find your previous experience with sketches to be way too colorful.

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.