Friday, June 28, 2013

Wrappers updated to Occ version 6.5.5

Today I finished updating the wrappers to version 6.5.5. We decided to update to this version rather than 6.6.0 because the newest version has many changes and some issues that aren't yet resolved, with few bug fixes added from 6.5.5.

I started testing Naro and there are some issues that were fixed and some issues that we didn't have before. We can now display the parallel and perpendicular hinter images and spline editing works correctly, but there are problems when displaying text and coordinates:

Other tested features that work correctly:
* extrude and cut
* pipe
* array pattern
* circular pattern (with improvements for processing speed)
* 3D fillet on straight and curved edges (there seems to be an improvement in the way the edge is detected for complex shapes)
* boolean operations: fuse, intersect, substract
* translate 3D shapes
* dimension for line and circle
* 3D
* mirror point and mirror line
* adding constraints and solving the sketch

Friday, June 21, 2013

Investigating the 6.6.0 crashes

After the changes for the NaroOccCore.dll were done, I updated the code for the main Naro project - everything compiles and the application starts, quickly crashing with an error about 'NaroOccCore.dll' not being found. This is a frequent error and it can mean not only that the dll wasn't found, but that there was an error loading one of the dlls that is referenced from it.

One of the best tools to investigate this is the Process Monitor, but unfortunately it didn't report any missing dll. All dlls it tried to load were eventually found in one of the paths set in the environment variables and the file was loaded:

Before the program crashed, all files were loaded and there were no files that weren't found.
The next tool I used was Depency Walker (the 32-bit version, as NaroOccCore.dll is built for Win32) and this is the result:

I have rebuilt TKernel.dll and am now using dumpbin (though the Visual Studio Command Prompt) to analyze the exports and check why we have the dll errors. Only TKernell has such errors, but contains the main classes and most other dlls reference it.

Thursday, June 13, 2013

Updating to OpenCASCADE 6.6.0

The past two weeks I worked on updating the code for the newest version of OpenCASCADE, version 6.6.0. Today I completed the update for the wrapper generator and compiled NaroOccCore and NaroCppCore for this version and started updating Naro.

The changes for the wrappers are the addition of new classes needed for compilation, the removal of classes that we used and aren't included in the new version and updating the methods in the classes that remained mostly unchanged.