Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

Long-term-stable ass'y w/ skeleton part producing "unexported in the source" msg

AlexFielder
Advisor

Long-term-stable ass'y w/ skeleton part producing "unexported in the source" msg

AlexFielder
Advisor
Advisor

Hi all,

 

This is an odd one; for a customer we have been maintaining (but not adding to) a "configurator" that when I first looked had over 5,000 lines of iLogic code within it.

 

I refactored it down to around 1800 lines of iLogic and all has been mostly okay in the 18 month period since that last massive change.

 

The customer is upgrading to 2019 and of course wanted to continue using the configurator we had built for them.

 

I have migrated all the necessary files and during testing the following error appears on multiple occasions:

 

 

0000013469-Configuration Top Level Assembly-1-V4.iam: Errors occurred during update
     0000013469-LHC Door Assy-1-V4.iam: Errors occurred during update
       0000013469-LHC Door Intumescent-1-V4.ipt: Errors occurred during update
         One or more derived objects have had their Export status turned off in the source. Use the Design Doctor for treatment options.
           Type 6 Seal:2 : has been unexported in the source.
           Seal:2 : has been unexported in the source.
           VP Bead 1:4 : has been unexported in the source.
           VP Bead 7:4 : has been unexported in the source.
           VP Bead 4:4 : has been unexported in the source.
           VP Bead 236:4 : has been unexported in the source.
           VP Bead 7:3 : has been unexported in the source.
           VP Bead 5:2 : has been unexported in the source.
           VP Bead 4:3 : has been unexported in the source.
           VP Bead 236:3 : has been unexported in the source.
           VP Bead 1:3 : has been unexported in the source.
           Type 6 Seal:1 : has been unexported in the source.
           Seal:1 : has been unexported in the source.
           VP Bead 8:2 : has been unexported in the source.
           VP Bead 8:1 : has been unexported in the source.
           VP Bead 7:2 : has been unexported in the source.
           VP Bead 4:2 : has been unexported in the source.
           VP Bead 1:2 : has been unexported in the source.
           VP Bead 236:2 : has been unexported in the source.
           VP Bead 7:1 : has been unexported in the source.
           VP Bead 5:1 : has been unexported in the source.
           VP Bead 1:1 : has been unexported in the source.
           VP Bead 236:1 : has been unexported in the source.
           SP Bead 7:32 : has been unexported in the source.
           SP Bead 1:32 : has been unexported in the source.
           SP Bead 236:32 : has been unexported in the source.
           SP Bead 7:31 : has been unexported in the source.
           SP Bead 1:31 : has been unexported in the source.
           SP Bead 236:31 : has been unexported in the source.
           SP Bead 7:30 : has been unexported in the source.
           SP Bead 7:29 : has been unexported in the source.
           SP Bead 1:30 : has been unexported in the source.
           SP Bead 1:29 : has been unexported in the source.
           SP Bead 236:30 : has been unexported in the source.
           SP Bead 236:29 : has been unexported in the source.
           SP Seal:16 : has been unexported in the source.
           SP Seal:15 : has been unexported in the source.
           SP Bead 7:28 : has been unexported in the source.
           SP Bead 1:28 : has been unexported in the source.
           SP Bead 236:28 : has been unexported in the source.
           SP Bead 7:27 : has been unexported in the source.
           SP Bead 1:27 : has been unexported in the source.
           SP Bead 236:27 : has been unexported in the source.
           SP Bead 7:26 : has been unexported in the source.
           SP Bead 7:25 : has been unexported in the source.
           SP Bead 1:26 : has been unexported in the source.
           SP Bead 1:25 : has been unexported in the source.
           SP Bead 236:26 : has been unexported in the source.
           SP Bead 236:25 : has been unexported in the source.
           SP Seal:14 : has been unexported in the source.
           SP Seal:13 : has been unexported in the source.
           SP Bead 7:24 : has been unexported in the source.
           SP Bead 1:24 : has been unexported in the source.
           SP Bead 236:24 : has been unexported in the source.
           SP Bead 7:23 : has been unexported in the source.
           SP Bead 1:23 : has been unexported in the source.
           SP Bead 236:23 : has been unexported in the source.
           SP Bead 7:22 : has been unexported in the source.
           SP Bead 7:21 : has been unexported in the source.
           SP Bead 1:22 : has been unexported in the source.
           SP Bead 1:21 : has been unexported in the source.
           SP Bead 236:22 : has been unexported in the source.
           SP Bead 236:21 : has been unexported in the source.
           SP Seal:12 : has been unexported in the source.
           SP Seal:11 : has been unexported in the source.
           SP Bead 7:20 : has been unexported in the source.
           SP Bead 1:20 : has been unexported in the source.
           SP Bead 236:20 : has been unexported in the source.
           SP Bead 7:19 : has been unexported in the source.
           SP Bead 1:19 : has been unexported in the source.
           SP Bead 236:19 : has been unexported in the source.
           SP Bead 7:18 : has been unexported in the source.
           SP Bead 1:18 : has been unexported in the source.
           SP Bead 236:18 : has been unexported in the source.
           SP Bead 7:17 : has been unexported in the source.
           SP Bead 1:17 : has been unexported in the source.
           SP Bead 236:17 : has been unexported in the source.
           SP Bead 7:16 : has been unexported in the source.
           SP Bead 7:15 : has been unexported in the source.
           SP Bead 7:14 : has been unexported in the source.
           SP Bead 7:13 : has been unexported in the source.
           SP Bead 1:16 : has been unexported in the source.
           SP Bead 1:15 : has been unexported in the source.
           SP Bead 1:14 : has been unexported in the source.
           SP Bead 1:13 : has been unexported in the source.
           SP Bead 236:16 : has been unexported in the source.
           SP Bead 236:15 : has been unexported in the source.
           SP Bead 236:14 : has been unexported in the source.
           SP Bead 236:13 : has been unexported in the source.
           SP Seal:10 : has been unexported in the source.
           SP Seal:9 : has been unexported in the source.
           SP Seal:8 : has been unexported in the source.
           SP Seal:7 : has been unexported in the source.
           SP Bead 7:12 : has been unexported in the source.
           SP Bead 1:12 : has been unexported in the source.
           SP Bead 236:12 : has been unexported in the source.
           SP Bead 7:11 : has been unexported in the source.
           SP Bead 1:11 : has been unexported in the source.
           SP Bead 236:11 : has been unexported in the source.
           SP Bead 7:10 : has been unexported in the source.
           SP Bead 1:10 : has been unexported in the source.
           SP Bead 236:10 : has been unexported in the source.
           SP Bead 7:9 : has been unexported in the source.
           SP Bead 1:9 : has been unexported in the source.
           SP Bead 236:9 : has been unexported in the source.
           SP Seal:6 : has been unexported in the source.
           SP Seal:5 : has been unexported in the source.
           SP Bead 7:8 : has been unexported in the source.
           SP Bead 1:8 : has been unexported in the source.
           SP Bead 236:8 : has been unexported in the source.
           SP Bead 7:7 : has been unexported in the source.
           SP Bead 1:7 : has been unexported in the source.
           SP Bead 236:7 : has been unexported in the source.
           SP Bead 7:6 : has been unexported in the source.
           SP Bead 1:6 : has been unexported in the source.
           SP Bead 236:6 : has been unexported in the source.
           SP Bead 7:5 : has been unexported in the source.
           SP Bead 1:5 : has been unexported in the source.
           SP Bead 236:5 : has been unexported in the source.
           SP Seal:4 : has been unexported in the source.
           SP Seal:3 : has been unexported in the source.
           SP Bead 7:4 : has been unexported in the source.
           SP Bead 236:4 : has been unexported in the source.
           SP Bead 1:4 : has been unexported in the source.
           SP Bead 7:3 : has been unexported in the source.
           SP Bead 236:3 : has been unexported in the source.
           SP Bead 1:3 : has been unexported in the source.
           SP Seal:2 : has been unexported in the source.
           SP Seal:1 : has been unexported in the source.
           SP Bead 7:2 : has been unexported in the source.
           SP Bead 236:2 : has been unexported in the source.
           SP Bead 1:2 : has been unexported in the source.
           SP Bead 7:1 : has been unexported in the source.
           SP Bead 236:1 : has been unexported in the source.
           SP Bead 1:1 : has been unexported in the source.

Which of course is less than ideal. The one and only result on Google basically says: "open each Derived Component Object in the erroring part and DO NOTHING, then click okay" that I simply have no idea how to circumvent using the API.

 

 

These part files have not been modified in any way during the migration process (aside from the obvious save), so what on earth is going on and how do I fix it?

 

Thanks,

 

Alex.

0 Likes
Reply
1,129 Views
27 Replies
Replies (27)

YuhanZhang
Autodesk
Autodesk

Hi Alex,

 

After reading your detailed description about your workflow, I still can not investigate the problem. As you said you doubt the problem happens to the step when you use Inventor to update the references to the top assembly because the assembly and its referenced documents were moved to new location and renamed, and from your data I can only see one iLogic rule(REGEN RULES) has function to call the Component.Replace seems to do this, and run it just raise an error but not the one you pasted in your first post. Can you give us detailed steps about how your renamed the referenced documents after copying them to new location and how you update the references? Which iLogic rule will you call to update the references?

 

 



If this solves the problem please click ACCEPT SOLUTION so other people can find it easily.



Rocky Zhang
Inventor API PD
Manufacturing Solutions
Autodesk, Inc.

0 Likes

AlexFielder
Advisor
Advisor

Hi @YuhanZhang,

 

I'm not sure I can make it any clearer than my explanations so far, but here goes:

 

The Assembly in question is a customer project.

 

This project has been working correctly since it's creation in Inventor 2014 and has been successfully migrated to Inventor 2015 during my time at Graitec, where it continued to function normally until we migrated to Inventor 2019.

 

The "tool" that the customer has in-place is a .NET Addin for Inventor, a .NET Addin for Excel and a separate service that monitors output from the Excel Addin and controls a so-called "headless" installation of Inventor located in the customer's office.

 

After migrating the files outside of the above setup, the migration process creates files that function normally within Inventor 2019.

 

Attempting to run the migrated files with updated Addins results in the derived component features falling apart after having run the Addin.

 

In an earlier email I posited the idea that the problem isn't in fact with Inventor 2019 itself (as in, it's not a bug) but with something in the API that has changed or become deprecated in the time since Inventor 2015 was updated last.

 

I didn't write the Inventor 2019 Addin, but as best I can tell from looking at our source, it makes use of the FileDescriptor.ReplaceReference(path) functionality available within the API. Is that still a valid approach with Inventor 2019.#?

 

I have experience of remapping references using ApprenticeServer; is that something which would be recommended moving forwards?

0 Likes

JamieVJohnson2
Collaborator
Collaborator

I use that function still in 2019:

    Public Sub ReplaceModelReference(fi As System.IO.FileInfo)
        'GetInventorApplication()
        'Dim invDoc2 As Inventor.Document = invApp.Documents.Open(fi.FullName)
        'Dim fde As FileDescriptorsEnumerator = invDoc2.File.ReferencedFileDescriptors
        Try
            Dim appInv As New ApprenticeServerComponent
            Dim invDoc As ApprenticeServerDocument = appInv.Open(fi.FullName)
            Dim fde As FileDescriptorsEnumerator = invDoc.File.ReferencedFileDescriptors
            For Each fd As FileDescriptor In fde
                Dim fileNew As String = fd.FullFileName.Replace("OldDir\ ", "NewDir\")
                fd.ReplaceReference(fileNew)
            Next
            appInv.FileSaveAs.AddFileToSave(invDoc, invDoc.FullFileName)
            appInv.FileSaveAs.ExecuteSave()
        Catch ex As Exception
            Dim eh As New ErrorHandler(ex)
            eh.HandleIt()
        End Try
    End Sub
jvj
0 Likes

YuhanZhang
Autodesk
Autodesk

Hi Alex,

 

If you have the source code for the addin, can you debug into it to see if any problem with it in Inventor 2019. As for as I can tell the possible change to cause the issue is that the difference between the Inventor 2019 and 2015 on apprenticeserver has no 32bit support in Inventor 2019, and also we don't recommend to call the apprenticeserver from in-process addin in Inventor, and you may have an out-of-process executable that your addin calls it. So firstly I think you can try to recompile your addin project with Inventor 2019 and check if there is any error? And second make sure to change the platform to support 64bit apprenticeserver.

 

Please let me if this helps.



If this solves the problem please click ACCEPT SOLUTION so other people can find it easily.



Rocky Zhang
Inventor API PD
Manufacturing Solutions
Autodesk, Inc.

0 Likes

AlexFielder
Advisor
Advisor

Thanks @JamieVJohnson2 that's a useful snippet which is very similar to what I have seen in our source.

 

@YuhanZhang  We aren't currently using Apprenticeserver but the x64-only change is useful information. I don't have my system configured to debug the process in the same configuration that our customer uses the tool. I guess I will need to go and do so since there's no obvious change(s) that you are aware of. #ThereGoesTheRestOfTheWeek.

0 Likes

YuhanZhang
Autodesk
Autodesk

Alex if you can narrow the issue and find a reproducible steps for us we can look into it. For the data migration you can also refer to the help page below, ideally the data migration should not change the Exported Object flag for surface body etc. objects:

 

http://help.autodesk.com/view/INVNTOR/2019/ENU/?guid=GUID-FB9B4422-2348-46FA-964B-7845D9D96018

 



If this solves the problem please click ACCEPT SOLUTION so other people can find it easily.



Rocky Zhang
Inventor API PD
Manufacturing Solutions
Autodesk, Inc.

AlexFielder
Advisor
Advisor

Okay, so I'm not sure why (and these things almost never fix themselves in my experience) but the "unexported in the source" error seems to have disappeared during recent testing (could this have been fixed by the recent 2019.3 patch?).

 

I'm going to consider this particular ticket on hold because there's another error we're seeing in the iLogic code itself which needs investigation so I'll start another thread to discuss that in the meantime.

0 Likes

YuhanZhang
Autodesk
Autodesk

Hi Alex,

 

We can't tell if there is a fix in Inventor 2019.3 update or not for you, because we can't reproduce your problem here so we don't know what the exact reason that causes the error messages. But if the error messages disappear seems this is  good news.



If this solves the problem please click ACCEPT SOLUTION so other people can find it easily.



Rocky Zhang
Inventor API PD
Manufacturing Solutions
Autodesk, Inc.

0 Likes