Community
Inventor Forum
Welcome to Autodesk’s Inventor Forums. Share your knowledge, ask questions, and explore popular Inventor topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Changing derived part link

25 REPLIES 25
Reply
Message 1 of 26
Anonymous
22800 Views, 25 Replies

Changing derived part link

Is it possible to change the derived part link to another part like you would replace a component in an assembly?  My issue is that i created a part and used a derived part within.  Well this part number changed and it just so happens that the derived part needs to change as well.  I tried the design assistant, and changed the link there but it didnt seem to want to take.  I tried renaming the derived part, and opening the file...i get the error but i still am unable to change the link that way either.  Any help would be appreciated

25 REPLIES 25
Message 2 of 26
Anonymous
in reply to: Anonymous

the way I've done it in the past is to rename it, as follows, where the original part is PartA.ipt and it's derived version is Derive1.ipt, and the replacement part is PartB.ipt

 

Rename PartA.ipt to xPartA.ipt

Open Derive1.ipt and when you are presented with the resolve link dialog, manually point it to PartB.ipt.

Then rename xPart1.ipt back to its original name.

 

If that doesn't work post back with information about where it goes wrong, etc.

Message 3 of 26
Anonymous
in reply to: Anonymous

rlantzjr,

       Did you access Design Assistant from Windows? Also, did  you tell desgin assistant that you were trying to replace the file? I have attached an image that illustrates this.

First, make sure you open Design Assistant from Windows by right clicking your part file and selecting "Design Assistant".

    -Once open, click "Manage" in the navigation pane.

    -Right click in the "Action" field and select "Replace"

    -Right click the "Name" field and choose "Change Name"

    -Select the new part from the dialog box

Once you save the file in Design Assistant, it should update the part.

If you already tried this, I apologize. Hope it helps.

Message 4 of 26
Anonymous
in reply to: Anonymous

thank you for the replies...i tried the design assistant again per your steps and it worked.  I did do the same steps first time, but it didnt allow the changes to save and cancelled for some reason.  Bottom line is that it did work when i tried the second time so thanks for all the help.

Message 5 of 26
Anonymous
in reply to: Anonymous

The above instructions were working fine for me in Inventor 2010, now that we upgraded im having issues with the derived part link showing correctly.  After I go into the Design Assistant and replace my link (keep in mind the files are exactly the same, just part number change), the part does change that it is using......the problem is it is showing the previous derived part in the browser.  If right click and edit derived part to double check, it shows me that im using the correct file.  How do i get the file name in the browser to update correctly?  I have attached a couple images so its more clear of my issue.  Thanks.

Message 6 of 26
Anonymous
in reply to: Anonymous

I have been using Inventor 2011, I have seen this before. I believe this is just a matter of Inventor not updating the feature name. You should be able to rename the feature like you would a hole or extrude feature. I have illustrated this in the attached image.

 

If you require the feature name to update automatically, you could look in to writing a macro that will change the derived part's name.

 

If you find a better solution, please let me know.

Message 7 of 26
scottmoyse
in reply to: Anonymous

this behaviour stopped for us after a while. I'm not sure when but my staff stopped complaining so do you have all the latest service packs installed for 2011?


Scott Moyse
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


EESignature


RevOps Strategy Manager at Toolpath. New Zealand based.

Co-founder of the Grumpy Sloth full aluminium billet mechanical keyboard project

Message 8 of 26
MikeGillam5072
in reply to: scottmoyse

I'm using Inventor 2011 and the technique using the Design Assistant does not work for me.

 

It let's me select another part file, it replaces the part file name in the grid, and then after I click SAVE, the part file name reverts back to what to original file name.

Message 9 of 26
Anonymous
in reply to: Anonymous

Great post. Thank you for sharing the knowledge.

Message 10 of 26
Anonymous
in reply to: Anonymous

Hi, How is it done in inventor 2013? 

 

Tried renaming etc.. and replacnig the links and it hasnt updated?

 

Message 11 of 26
Anonymous
in reply to: Anonymous

This is by far the best working method for me.

 

  1. Firstly copy the new part which is to be derived and the new part which is to be worked into one folder.
  2. Create a project with the above new location.
  3. Now open the final derived part from the new location and when it asks for the reference file, give the new part which we need to derive.
  4. If everything goes smoothly
  5. your part will be replaced without any issue

Let me know your comments...Cat Happy

Message 12 of 26
Curtis_Waguespack
in reply to: Anonymous

Hi sr00475632,

 

If you do this often, you might create an external iLogic rule to help with the task:

 

http://inventortrenches.blogspot.com/2012/12/ilogic-replace-derived-reference.html

 

I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com

Message 13 of 26
johnsonshiue
in reply to: Anonymous

Hi! This workflow works because the new source part has the same internal doc ID as the old source part. The new source part is a clone of the old source part. If they are two different parts without any relationship, this workflow will fail.

Many thanks!

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Message 14 of 26
Anonymous
in reply to: Anonymous

Hello I know that is an old topic, but is a question related.

Imagine that from part a to part B I copied with link a surface. Know I draw a new surface in part a and I need to replace the link. So the part B receives the new surface. Do I need to do again the link, or there is a easy way to change it?
Message 15 of 26
Anonymous
in reply to: Anonymous

Thanks Worked like a charm.

Message 16 of 26
Anonymous
in reply to: Anonymous

Thanks for the post, solved a problem for me 🙂

Message 17 of 26

I agree with you. I found it is not doing well when the Internal Names are different.

 

I found the following internal names. What are they, Can I make them the same? I appreciate if you help. Thanks

 

 

{EF790639-4971-EBDC-D6BE-96BC9FE3E4E8}

{F134C1A0-4D67-0762-107F-83BDC39A28A5}2019-04-28 0157.png

Message 18 of 26

Hi! Unfortunately, the DocID is unique and cannot be changed. It is assigned when a file is created (from a template or on the fly but not Save As). This ID is read only. It is an identifier for Inventor to know if a given file is different from another file.

Even if the DocID could be changed, it would not help. It is because all of the objects created are associated within the document carrying the specific ID. If you changed the ID, more than likely the source part itself will fail to compute completely.

This is no different than you force Inventor to derive from a different source. Changing the DocID would not help.

Many thanks!

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
Message 19 of 26

Thanks for the reply.

I have a rule built up using the postings in this forum.

I realize that, the rule does not replace the reference part with any one of the parts but only some which are of the similar InternalName.

Not sure why Inventor does not let to replace any one of the document. Te rule is shown below. I appreciate if you could shed some light in this issue.

Public Sub Main()
	
Dim iL_NO As String = "0004DP"
Dim iL_Name As String = "Replace Derived Part Refeence"
Dim iL_FullName As String = iL_NO & ": " & iL_Name

Dim openDoc As Document
openDoc = ThisDoc.Document
'MessageBox.Show("openDoc: " & openDoc.FullFileName, iL_FullName)

If openDoc.DocumentType <> kPartDocumentObject Then 
	MessageBox.Show("This rule is for a part docuent only!", "File Type Mismatch!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
	Exit Sub
End If

Dim oRefFile As FileDescriptor
Dim oName_DerivedFile As Object     
Dim oFFN_DerivedParts_Array As New ArrayList
Dim oLFN_DerivedParts_Array As New ArrayList
Dim oCancel As String = "Cancel"

For Each oRefFile In openDoc.File.ReferencedFileDescriptors
oName_DerivedFile = oRefFile.FullFileName
oFFN_DerivedParts_Array.Add(oName_DerivedFile)

If oFFN_DerivedParts_Array.Count = 0 Then
MessageBox.Show("NO DERIVED PART(S) FOUND: Exit Sub!", iL_FullName)
Exit Sub
End If	

oPosition_LFN_oRefFile = InStrRev(oName_DerivedFile, "\", - 1) 
oLFN_oRefFile = Right(oName_DerivedFile, Len(oName_DerivedFile) - oPosition_LFN_oRefFile)
oLFN_DerivedParts_Array.Add(oLFN_oRefFile)
Next

'oLFN: Local File Name
oLFN_Selected_DerivedPart = InputListBox("Prompt", oLFN_DerivedParts_Array, oLFN_DerivedParts_Array(0), Title := iL_FullName, ListName := "LIST OF REFERENCE DOCS")
oIndex = oLFN_DerivedParts_Array.IndexOf(oLFN_Selected_DerivedPart)

oReferenceDoc_of_Selected_DerivedPart = oFFN_DerivedParts_Array(oIndex)
oReplace_DP(oReferenceDoc_of_Selected_DerivedPart)

iLogicVb.UpdateWhenDone = True

End Sub


Sub oReplace_DP(ByVal oReferenceDoc_of_Selected_DerivedPart As String)
Dim oDoc As Document
oDoc = ThisDoc.Document
Dim oRefFile As FileDescriptor
Dim oOrigRefName As Object     
For Each oRefFile In oDoc.File.ReferencedFileDescriptors
'get the full file path to the original internal references
oOrigRefName = oRefFile.FullFileName
	If oRefFile.FullFileName = oReferenceDoc_of_Selected_DerivedPart Then
	'If oRefFile = oReferenceDoc_of_Selected_DerivedPart Then
		'present a File Selection dialog
		Dim oFileDlg As Inventor.FileDialog = Nothing
		InventorVb.Application.CreateFileDialog(oFileDlg)
		oFileDlg.InitialDirectory = oOrigRefName
		oFileDlg.CancelError = True
		On Error Resume Next
		oFileDlg.ShowOpen()
		If Err.Number <> 0 Then
		Return
		ElseIf oFileDlg.FileName <> "" Then
		selectedfile = oFileDlg.FileName
		End If
	'	MessageBox.Show("oRefFile: " & oRefFile.FullFileName _
	'	& vbLf & "selectedfile " & selectedfile, iL_FullName)

		'Replace the reference
		oRefFile.ReplaceReference(selectedfile)
	End If
Next
InventorVb.DocumentUpdate()
'oOrigRefName = “” 
iLogicVb.UpdateWhenDone = True

End Sub

Message 20 of 26

Hi! I am not an iLogic expert. I think you know iLogic much better than I do. Regarding changing Derive source, if there is no downstream feature, changing the source should be fine. But, if there are pre-existing downstream features in the Derived part, changing to a source with a different DocID will cause failures. Also, the pre-existing drawing annotations will fail in either case.

Many thanks!

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report