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

Choose missing component with different name

Choose missing component with different name

When an assembly has failed to find a component, it should be possible to select a component with a different name.

Usually this error happens because I have renamed a part, but forgotten to have that particular assembly in session (or to save it).  At the moment, it is necessary to rename the part back to its exact original name and re-do the whole rename process.

Perhaps the software could perform a check on the selected part to confirm that all the feature IDs referenced in the assembly are present, to confirm that it is the same (or a compatible) model.

14 Comments
BrianMartin
11-Garnet

Or... simply allow a missing component to be replaced including the use of the new "Replace Unrelated" functionality.

BillRyan
14-Alexandrite

In our case, it occurs if the user is not connected to WindChill or does not have permissions to the folder the object resides in.  A possible solution is for better information to be communcated to the user through the message log.  The message could state...

  • Connect to WC?
  • Do you have folder access?
  • This is an incomplete object, check for Rename.

And then provide quick solution like in your case.

MosheBaum
1-Newbie

Hi guys, thanks for the input.

We actually have a project on our roadmap that will address this issue in coming releases, by allowing different model name and file name.

BrianMartin
11-Garnet

Moshe...

There is a way to do this already if you are using Windchill or Pro/INTRALINK (9.x and up).

First, save the file with the missing component. Do not attempt to find the component at all. Pro/INTRALINK (or Windchill PDM Link) will add an Incomplete Object (also known as a "ghost object") to your workspace.

Go to the Information screen for that incomplete/ghost object. Under the Actions pull-down menu, select  Replace. This will allow you to replace the ghost object with any other object. When you open your assembly, it will reference the new object and the failure will self-resolve.

Of course now that I'm sitting here thinking about this, the option may only be available during an "Import to Workspace".  Ah.... I need to go back and look again. I stumbled on this and thought of this idea. It's taken me a few weeks to get back here to write about it and now I'm not sure if I'm describing the process correctly.

There IS a replacement option though but it's not available from within Creo... it's in the Windchill/ProINTRALINK side of things.

If this sounds useful in your situation, let me know and I'll see if I can clarify and verify the steps.

MosheBaum
1-Newbie

Hi Brian,

I refered to the case in the original title - where renaming w/o PDM in the background and not having asm in session.

Creo will be able to eventually suport unique identification of a model, regardless of the file name. You'll be able to have different models of same file name too if you will. Also different versions of same model.

BrianMartin
11-Garnet

If I've said it once, I've said it a thousand times... I hate to say "that can't be done in Pro/ENGINEER" because, usually, if you're clever enough, there's a way.

Proof? There's already a way to do this without having to go back and UNDO/REDO the rename. In fact, there are TWO ways!

Technique 1:  Select the missing component in the assembly. Select  Edit->Replace. Pick the new, unrelated part to replace and the old/failed component. Select Okay. You're prompted to re-select the references used to replace the failed component. Normally you're not allowed to pick ANYTHING other than the exact same component when you hit a failure due to a rename. But this technique DOES allow you to continue through the error while redefining the new references.

But yeah yeah, I hear ya... you don't want to redefine the references. For times when there are multiple instances of the renamed object, the above technique is too cumbersome. So there's another way. You may not like it... but it does work!!

Technique 2: Open the assembly which fails due to the missing/renamed component. Leave it open. Next, open the component you wish to use as the replacement component. Go to Tools->Family Table and add one new instance. Give that instance the same name as the failed component. Outside of PDM, you can certainly pull this off easily. Verify the table. Open the new instance in session. Don't save anything. You may exit the window containing the new instance AND the one containing the replacement part (which is now a generic with a family table).

Now switch back to the assembly. Select Regenerate. Magically, the errors disappear and all of the missing components are now found. Select all of the old components (whatever technique you wish- click in the model tree, use the find tool, etc). Replace the old components with the new ones from the family table. All the references will update and the replacement will be successful.

Open the generic model 12345.prt and go to Tools->Family Table->Edit->Delete Entire Table. Then exit the table editor. This will wipe out the table making 12345.prt a standalone part again. You'll receive a message saying 99999.prt is not table driven anymore. But who cares, you were able to resolve the errors and replace the component without a problem.

Finally, save your assembly.

Thoughts?

KrisR
1-Newbie

I think that both those options are options, but way more lengthy than being able to replace a missing component with one that has a different name.

ptc-893484
1-Newbie

Moshe Baum May 23, 2012 12:29 PM

Hi guys, thanks for the input.

We actually have a project on our roadmap that will address this issue in coming releases, by allowing different model name and file name.

Hi Moshe, actually all of PTC,

     This is an extremely simple addition that sohuld have been incorporeated back in release 10.  It would be nice if PTC considered all aspect of use ability.  There is major room for improvement!

jhicke
3-Visitor

Brian,

Thanks so much for sharing your Technique 2.  I was working with an assembly model that had two instances of the same subassembly (symmetric LH/RH) and I needed to decouple them into two independent subassemblies (a design change made them no longer symmetric).  Sounds simple, but this was an analysis model and Creo isn't nearly as nimble replacing analysis feature references as it is modeling ones.  All attempts to accomplish this didn't work...rename would rename both instances, trying to replace with a renamed assembly using "by unrelated component" would blow out all references in Simulate, etc.

By changing the name of the subassembly on disk (outside of Creo) so that Creo couldn't find it, supressing one of the two instances, and following your explanation, I was able to accomplish my task and keep all references, even Simulate references.  Again, this is the only way I have found to do this, and it has saved/will save me considerable time.

I know this thread is over 2 years old now but I just came across it and it was exactly what I needed, so I wanted to say thanks!

P.S.- If there have been any developments to make this easier since this original discussion, please share!

pimm
13-Aquamarine

I would like to have the same replace functionality with Merge Inheritance in a part model.

Make it easier to replace out imported merge/inheritance models

rkatzer
3-Visitor

I would like to get rid of some family table models. Therefore it would be great:
If Creo has failed to find a component that is a familiy table instance it should accept a simple model that has the same name (simple part model name matches instance name).

If the simple part model is already in session then no interaction should be possible.

IainTrice
1-Newbie

We get this all the time because we do not have Windchill yet. It costs time and therefore money. you should be able to replace the part.

PTCModerator
Emeritus
Status changed to: Acknowledged
 
ArnaudVandeVeer
15-Moonstone
Status changed to: Delivered

This is now in Creo 9.0