cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Your Friends List is a way to easily have access to the community members that you interact with the most! X

After saving an imported assembly: multiple parts no longer in correct locations!

horix
4-Participant

After saving an imported assembly: multiple parts no longer in correct locations!

I'm using Creo Parametric 8.0 and one of our vendors uses Creo Elements/Direct: they typically send me both .stp and .pkg assembly files and I'm running into this issue regardless of what format I import their assembly from.

 

Initially the import process works very well; I have a lot of success importing and opening these CAD assemblies without too many errors. I will then save a backup of these assemblies (save as-> save a backup) either locally or to our companies cloud servers. Naturally I save it in Creo 8's native format (.prt and .asm files) so I don't have to go through the process of re-importing.

 

This is where the problem arises: after closing the assembly, rebooting CAD or my computer, etc. and then I go back and re-open that assembly I will open the top-level .asm file and run into a ton of parts that have completely lost all of their orientation/position information inside the assembly. I'll have hundreds of tiny PCA components floating out in space as well as larger plastic panel parts dislodged and oriented like crazy. Some parts stay where they should. I've noticed that if I delete the entire backup library, re-import, and save another backup that I'll run into different parts that move to different positions. Also occasionally this doesn't happen at all and the file seems to save and re-open without any orientation losses. There seems to be no method to this madness and it is extremely frustrating.

 

I've noticed Creo generates coordinate systems for every part it imports inside these assemblies and I don't modify or delete those at all. I've had this happen immediately after assemblies that have been saved without doing any sort of modifications after the initial import.

 

Questions:

1. Is there a set of actions I'm not taking in order to "lock-in" the part orientations once I've successfully imported?

2. Is this some sort of bug I'm encountering? Obviously my first assumption is I'm doing something wrong in my workflow but if that's not the case what should I be doing to report this bug?

5 REPLIES 5
StephenW
23-Emerald II
(To:horix)

The only time I have seen import orientation problems with components of an assembly is when I try to import an assembly as a creo part file, instead of an assembly. I haven't ever seen it randomly re-orient when opening a saved import if it came in correctly.  I've never imported a .pkg. I've imported hundeds of step files.

Do you have a test file you could upload (zip then attach)?

You can import an assembly as a part if you use the hidden config.pro option  INTF3d_in_as_part YES  This is a hidden option because it isn't part of the standard options and it may have "issues". There is no documentation for it.

horix
4-Participant
(To:StephenW)

Thank you for your reply. Unfortunately I can't upload any of this CAD I'm running into issues with here since it's proprietary and sensitive intellectual property. I might be able to pass along a file to PTC's official support as part of a ticket but not here in the open community forums.

 

Just for giggles I checked my config settings and as you suspected I don't see that "hidden" string as I would have had to set and save that config myself at some point. I noticed when importing .pkg files from Creo Elements/Direct the system actually recognizes and locks in the "assembly" toggle button and greys out the selection to import as a part. When using .stp files I leave the assembly toggle on.

 

I will admit this seems to happen more often with .pkg file imports and I will double check to make sure I can make it happen with .stp files as well. My preference is to always import using the native .pkg files as they import with way less errors and much greater model accuracy compared to .stp.

horix
4-Participant
(To:horix)

Okay, I spent a good chunk of yesterday and today investigating this and trying to find reproducible steps and I FINALLY have a clue to what's going on.

 

TL;DR It's a file naming problem.

 

I noticed that if I have a completely fresh/blank Creo 8 "session" and load in my saved Creo assembly files (that have already been imported and saved in native format), everything always works out and I never reproduce any orientation issues.

 

However, once I open a 2nd assembly file from that vendor the orientations of the parts in that 2nd assembly go completely haywire. Why? Well because our vendor re-uses part names and components across multiple programs in their CAD. So when I import an assembly that happens to have a generic "P2.prt" inside and then I open a DIFFERENT assembly that uses that same P2.prt Creo 8 has some sort of issue reconciling the coordinate system information for whatever reason. It's almost like it can't update it's orientation/coordinate system information or chooses not to since the part is already "in session".

 

This also explains why random parts would seem to load into different spots after opening: depending on which assemblies/parts I have open and in-session and in which order I open them it will then determine which parts will go haywire if they share names of other parts in-session.

 

Oh and another/newer issue I noticed that's related to this; sometimes our vendors will use identical generic names for completely different parts. For example assembly A might have a generic part named "P2.prt" while assembly B might have a completely different and unique part that just happens to have been assigned the same generic "P2.prt" name. In this scenario Creo 8 can't even recognize that they should have unique part ID's so when you open assembly B, the completely wrong part will get loaded into that 2nd assembly window!

 

Sad to say it's really frustrating that Creo 8 has these sorts of archaic issues with file names (yes, I'm throwing shade at that 31 character limit!)

 

A much smarter way of handling this is what's currently done in Creo Elements/Direct: that CAD system uses unique part ID's that are behind the scenes and part of the model information (they are long randomly generated strings). It won't bat an eye if you have two identical file names being opened in the same session as long as the "part IDs" don't match. For imported parts that happen to share the same file name this could never happen because during import or part creation it will always assign a randomly generated part ID. If you happen to try and place two identically named parts in the same sub-assembly/same layer inside the CAD session I believe it will recognize that action and prompt you to change the name discrepancy but otherwise it doesn't really care.

 

The good news is at least I know why this is happening and how I can avoid it by essentially only having one top-level product assembly open and in-session at any given time. But this will also be super frustrating to my workflow because I work on like 5-7 different products at any given time that require my attention throughout the day. It would be nice to keep them all open.

MartinHanak
24-Ruby II
(To:horix)


@horix wrote:

Okay, I spent a good chunk of yesterday and today investigating this and trying to find reproducible steps and I FINALLY have a clue to what's going on.

 

TL;DR It's a file naming problem.

 

I noticed that if I have a completely fresh/blank Creo 8 "session" and load in my saved Creo assembly files (that have already been imported and saved in native format), everything always works out and I never reproduce any orientation issues.

 

However, once I open a 2nd assembly file from that vendor the orientations of the parts in that 2nd assembly go completely haywire. Why? Well because our vendor re-uses part names and components across multiple programs in their CAD. So when I import an assembly that happens to have a generic "P2.prt" inside and then I open a DIFFERENT assembly that uses that same P2.prt Creo 8 has some sort of issue reconciling the coordinate system information for whatever reason. It's almost like it can't update it's orientation/coordinate system information or chooses not to since the part is already "in session".

 

This also explains why random parts would seem to load into different spots after opening: depending on which assemblies/parts I have open and in-session and in which order I open them it will then determine which parts will go haywire if they share names of other parts in-session.

 

Oh and another/newer issue I noticed that's related to this; sometimes our vendors will use identical generic names for completely different parts. For example assembly A might have a generic part named "P2.prt" while assembly B might have a completely different and unique part that just happens to have been assigned the same generic "P2.prt" name. In this scenario Creo 8 can't even recognize that they should have unique part ID's so when you open assembly B, the completely wrong part will get loaded into that 2nd assembly window!

 

Sad to say it's really frustrating that Creo 8 has these sorts of archaic issues with file names (yes, I'm throwing shade at that 31 character limit!)

 

A much smarter way of handling this is what's currently done in Creo Elements/Direct: that CAD system uses unique part ID's that are behind the scenes and part of the model information (they are long randomly generated strings). It won't bat an eye if you have two identical file names being opened in the same session as long as the "part IDs" don't match. For imported parts that happen to share the same file name this could never happen because during import or part creation it will always assign a randomly generated part ID. If you happen to try and place two identically named parts in the same sub-assembly/same layer inside the CAD session I believe it will recognize that action and prompt you to change the name discrepancy but otherwise it doesn't really care.

 

The good news is at least I know why this is happening and how I can avoid it by essentially only having one top-level product assembly open and in-session at any given time. But this will also be super frustrating to my workflow because I work on like 5-7 different products at any given time that require my attention throughout the day. It would be nice to keep them all open.


Hi,

if you need to work on like 5-7 different products then launch 5-7 Creo different sessions.


Martin Hanák
KenFarley
21-Topaz I
(To:horix)

I suffer the same type of thing at my work. Colleagues re-use designs by copying them over and over, never re-naming anything. If I searched our file server for "frame.asm.*" I'd probably get a minimum of 1000 results. This makes it extremely annoying if I'm working on something and want to compare two of these designs. The first I load is okay, then the second is a nightmare of just what you describe - a conglomeration of parts in an "assembly" which would be more correctly referred to as a "pile" of components.

Regrettably, the only solutions available to me and perhaps you are:

A. Only work on one assembly, purge out memory, then work on the next, etc. Annoying and doesn't let me look at both at the same time.

B. Start multiple sessions of Creo and load each assembly in its own session. Works okay, but is a memory hog and makes me a "license hoarder". We only have a few seats of Creo so this won't be okay if everyone else is trying to work, too.

 

I suppose you could re-name the components and maybe the assemblies you are importing before saving them in Creo 8 format, but that is not very nice. I've only had to do that when a customer sent STEP files with parts that had amazingly long names that Creo would read in, but not save. Ah, the joys of data conversion.

Top Tags