Cancel
Showing results for 
Search instead for 
Did you mean: 

Assembly Constraints Mapping to alternate parts

Pioneer
Pioneer

Hello,

 

I have an assy which was created inside a PLM and exported out .
(It was done long back , No trace to PLM and other info ).


All exported parts are with PLM id , but when they are opened in a text editor , Product ID (Alternate ID for that part) can be found.

 

If an Assy is opened, it has all child parts with Product ID and are constrained.

However, If I try to load the assy parts inside the assy , it is throwing error "Assy components can not be found".

 

There are 1000s of files and assys needs to be loaded and saved. What is the best way to load them ?
(Replace component would do, but doing it for all 1000 assys now is cumbersome job)

 

Also how can I take care of such problems in future !

 

Thanks

 

NX10.0 | TC 10

 

 

4 REPLIES 4

Re: Assembly Constraints Mapping to alternate parts

Siemens Phenom Siemens Phenom
Siemens Phenom

What is the 'Assembly Load Options' set to?

If all assembly part files are present in the same folder, then use 'From Folder' option.

 

Re: Assembly Constraints Mapping to alternate parts

Pioneer
Pioneer
All are present in a same folder level. But the problem is it is not recognising the component name with the name available in the Assy navigator. (Assy navigator has Part ID, where as the files are named with PLM id)

Re: Assembly Constraints Mapping to alternate parts

Siemens Esteemed Contributor Siemens Esteemed Contributor
Siemens Esteemed Contributor

Hi @sathya,

What PLM software was used?  If it was Teamcenter there are several ways to export data out so that it loads correctly in native NX. 

Did you received an Open warning similar to the following? Screenshot - 5_9_2017 , 11_37_04 AM.png

and your Assembly Navigator shows something like this?

Screenshot - 5_9_2017 , 11_37_25 AM.png

Unfortunately, what's happened is that while the filenames of the components might be correct on the OS, the internal references still refer back to the unique volume ID's in the PDM system.  You can correct these by executing a utility in the NX Command Window called ug_edit_part_names, but considering the large assemblies you're working with, you would want to consider writing a script to parse every single part file to replace the PLM internal ID with the native filename.

 

Note: Backup any files if you proceed with the following.

 

To use my example for an assembly exported out of Teamcenter (exported using PLMXML):

entering ug_edit_part_names -list assy_A.prt returns:

%UL=V1.0 PH=xzalBUVE4Z_ZiD (PN=assy PRN=A)
%UL=V1.0 PH=xzclBUVE4Z_ZiD (PN=body PRN=A)
%UL=V1.0 PH=xzdlBUVE4Z_ZiD (PN=wheel PRN=A)
%UL=V1.0 PH=xzelBUVE4Z_ZiD (PN=axle-assy PRN=A)
%UL=V1.0 PH=xzblBUVE4Z_ZiD (PN=axle PRN=A)

 

So I get the volume ID (PH) and the part number (PN) and revision (PRN).  The PN and PRN are the filenames of my exported parts (e.g., assy_A.prt), so I just have to replace PH with PN and PRN.  Using the same command I can edit the internal references as follows:

ug_edit_part_names assy_A.prt -o assy_A.prt -change_name "%UL=V1.0 PH=xzalBUVE4Z_ZiD" assy_A.prt

 

I can check that the command completed what I expected:

ug_edit_part_names -list assy_A.prt

assy_A.prt ( PN=assy PRN=A)

%UL=V1.0 PH=xzclBUVE4Z_ZiD (PN=body PRN=A)
%UL=V1.0 PH=xzdlBUVE4Z_ZiD (PN=wheel PRN=A)
%UL=V1.0 PH=xzelBUVE4Z_ZiD (PN=axle-assy PRN=A)
%UL=V1.0 PH=xzblBUVE4Z_ZiD (PN=axle PRN=A)

 

Now I just repeat the command with the remaining references, and open the assembly in NX to check my progress.  I'm not suggesting that you do this manually for thousands of parts, but you could create a script to complete the task.  Better still, export the assembly out of the PDM system correctly.  If it's from Teamcenter, we can advise you on the correct steps.  If it's a 3rd party PDM try eng-tips.com for advice.

 

Regards, Ben

 

 

Ben Broad | PLM Enthusiast | Siemens GCSS

NX (v17 - 1872) | Teamcenter (9 - 12)
Value Based Licensing | Adaptive UI | BETA Registration

Re: Assembly Constraints Mapping to alternate parts

Pioneer
Pioneer

Thanks a lot @BenBroad...

 

I will try this Smiley Happy . Hopefully I can bring some scripts to parse all parts. !