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
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.
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.
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.
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.
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.
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.
RevOps Strategy Manager at Toolpath. New Zealand based.
Co-founder of the Grumpy Sloth full aluminium billet mechanical keyboard project
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.
This is by far the best working method for me.
Let me know your comments...
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
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!
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}
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!
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
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!
Can't find what you're looking for? Ask the community or share your knowledge.