What's new

Sub Assembly Will not Load & Display (although next larger will)

wsimonton

Senior Member
I have a sub-assembly which is the bare boiler with courses, rivets and stay bolts of my Climax locomotive which will not load. It loads and displays and then it just hangs. It began when I inserted a plane and a Section View in the area of the Firebox and attempted to view it. No matter how long I wait it just hangs as it prepares to redraw with message that is is "Updating topopolgy"

What is strange is that the next larger sub-assembly which is the Boiler and added parts loads correctly without issue. It appears to be an issue with the Section View I initiated. Any suggested work arounds to recover the sub-assembly. I would remove the Section View but I am unable to do so. If not I will have to rebuild the sub-assembly from scratch and be careful not to have any Section Views.

I cannot Package the Boiler as it hangs and the next larger sub-assembly Boiler with Parts Package is 98.422 KB and too large for this forum.

Trying to access it from the larger assembly results in an error message: HResult: 0xC000005

With the following details:

at ACISUTILSLib.ACISPartClass.entityGetPersistentID(Int64 hEntity)
at com.alibre.design.light.LightPartWorkspace.LightSolidBody.getMappedLightTopology(ITopologyObject topology)
at com.alibre.design.ui.SolidBodyWrapper.getTimeStampedTopology(Object target, Boolean processForDrawings)
at com.alibre.design.ui.SolidBodyWrapper.updateTopologySet(FrameAdapter setFrame, FrameAdapter ineligibleSetFrame, FrameAdapter sectionModifiedSetFrame, Sequence topologies, HashSet tangentTopologies, FrameAdapter tangentHostFrame, Boolean processForDrawings, IBusyBodyContextObject busyBodyCntxtObj, String progressText)
at com.alibre.design.ui.SolidBodyWrapper.updateState(IBusyBodyContextObject key, HashMap configOverridenColorMap, Boolean processForDrawings)
at com.alibre.design.ui.TopologyFrameBuilder.updateSolidBody(ISolidBody solidBody, HashMap configOverridenColorMap, Boolean refinementsWereSet, IBusyBodyContextObject key, DesignContext designContext)
at com.alibre.design.ui.DesignSceneBuilder.DesignPartInstanceWrapper.updateState(Boolean viewHasChanged, IBusyBodyContextObject key, Boolean rebuildScene, Boolean showModelOnly)
at com.alibre.design.ui.DesignSceneBuilder.updateInstanceSet(DesignInstance design, IBusyBodyContextObject key, Boolean rebuildScene, Boolean refineMeshes, Boolean showModelOnly)
at com.alibre.design.ui.DesignSceneBuilder.updateDesignContext(DesignInstance design, Boolean showModelOnly, IBusyBodyContextObject key, Boolean rebuildScene, Boolean refineMeshes)
at com.alibre.design.ui.DesignSceneViewer.onCreateHandleForCanvas(Object sender, EventArgs e)
 
Last edited:

DavidJ

Administrator
Staff member
One possibility is a partially corrupted part file in the assembly. It can sometimes be helpful to open each constituent part in turn, click on the workspace background, hit F5, then Save. Next close workspace and move on to next part. After re-generating/saving all parts, try the assembly again.

This isn't guaranteed to work, your problem could be something different...
 

simonb65

Alibre Super User
Trying to access it from the larger assembly results in an error message: HResult: 0xC000005

With the following details:

at ACISUTILSLib.ACISPartClass.entityGetPersistentID(Int64 hEntity)
at com.alibre.design.light.LightPartWorkspace.LightSolidBody.getMappedLightTopology(ITopologyObject topology)

I know it doesn't directly help, but 0xC000005 is an Access Violation (which means a pointer is being used that points to a location memory that does not belong to the application or is zero!) and as it occurred during the call ACISUTILSLib.ACISPartClass.entityGetPersistentID(Int64 hEntity), I suspect the entity handle pointer (hEntity) is either NULL or corrupt!

I would be inclined to submit this to development to debug and fix (if it is still a bit of code used in AD2019). The application should capture/validate the handle before trying to use it! Applications should handle these kind of errors whether it was caused by corruption or not! If it was corruption, it begs the question, where did the corruption occur!

Just my 2p from an application developers perspective.
 

wsimonton

Senior Member
I opened the Climax Boiler assembly today just for the heck of it. Alibre after a week of using that subassembly in larger subassemblies of the locomotive (which included the Boiler which just hung when opened solo) opened without issue except that the Section did not display properly. It just cut a section from the boiler with with about a 5-6" scale gap between the two halves. A further strange and unexpected result. I have quickly deleted the Section and will not try again.

What happened, what corrected it sufficiently to open fully I do not know.
 
I opened the Climax Boiler assembly today just for the heck of it. Alibre after a week of using that subassembly in larger subassemblies of the locomotive (which included the Boiler which just hung when opened solo) opened without issue except that the Section did not display properly. It just cut a section from the boiler with with about a 5-6" scale gap between the two halves. A further strange and unexpected result. I have quickly deleted the Section and will not try again.
If you have done anything through the Windows Explorer or used another (non-Alibre) program to modify anything within a Part, Sheetmetal, or Assembly model set, you need to open it immediately in Alibre and perform a Rebuild and SaveAs command set and overwrite the "original" to update the way that Alibre "tracks" such files.
 

wsimonton

Senior Member
I opened it in Alibre, immediately Deleted the Section and Saved. It now works properly.

Locomotive is now up to 6937 Parts!! With a lot more Rivets, Nuts and Bolts to go!

Alibre asked for the Locomotive Assembly last year to assist in tweaking Alibre's handling of large assemblies. Whether is was useful I do not know but I have noticed that Alibre is much better (faster reloading and redrawing in 3D) even considering that my assembly has grown significantly (individual parts and more common multiple parts like rivets and such).

The reload and redraw in a 2D drawing within Alibre however is slow when a drawing has multiple views.
 
I opened it in Alibre, immediately Deleted the Section and Saved. It now works properly.
Just performing a Save will not necessarilu "update" tyhings with respect to the "internal file management system" used by Alibre. You must perform a SaveAs and overwrite the previous version to make it take effect. This is one (of many) things I feel needs better documentation for Alibre!
 
Top