You may try merge_cubit13.1 branch, this has some minor function signature's changes, it shouldn't affect the result of running testcases in occ. Can you double check if a new_body is created in the copy_body process? I suspect that the problem is still in the copy_body place, where it didn't find underlining TopoDS_Shape. Then it could be just related to the OS, which may be a bug there. Jane On Mon, May 21, 2012 at 12:22 PM, Rajeev Jain <[email protected]> wrote:
Thanks Jane for looking into this, we made some progress, I made the changes you made to cgm repo version, I'm using CGM repo version with OCC-6.5 not the merge-cubit13.1 branch - should I use this branch instead?
We made some progress with the change you made the error is now on line 6249 instead of 6233 in file iGeom_CGMA.cc, which is the subtract operation, the copy operation seems to have gone through, please see debugger o/p below:
(gdb) r Starting program: /Users/rajeevjain/cgm/itaps/testgeom_occ Reading symbols for shared libraries ++++++++++++++++++++++++++++++..................................... done Using default input file: ./../test/LeverArm.brep Geometry engine set to: OpenCascade 6.5
ITAPS GEOMETRY INTERFACE TEST PROGRAM:
gLoad: Constructed 1 Volume: 1 Model contents: vertices: 99 edges: 159 faces: 63 regions: 1 Success tags: Tags defined on model: GLOBAL_ID, NAME Success gentity sets: Success topology adjacencies: Success construct: Created swept volume 4 Updated volume 3 Success primitives: Success transforms: Success
Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: 13 at address: 0x0000000000000000 0x00000001041f8edf in Handle_Standard_Transient::Assign () (gdb) bt #0 0x00000001041f8edf in Handle_Standard_Transient::Assign () #1 0x00000001031ee1e4 in BRepBuilderAPI_ModifyShape::DoModif () #2 0x00000001031e46c0 in BRepBuilderAPI_Copy::BRepBuilderAPI_Copy () #3 0x00000001000b286d in OCCModifyEngine::get_shape_list (this=0x104e04b70, BodySM_list=@0x7fff5fbff4f0, shape_list=@0x7fff5fbff318, is_volume=@0x7fff5fbff2f8, keep_old=true, b_boxes=0x104e8d3f0) at OCCModifyEngine.cpp:3535 #4 0x000000010007e792 in OCCModifyEngine::subtract (this=0x104e04b70, tool_body_list=@0x7fff5fbff4f0, from_bodies=@0x7fff5fbff4d8, new_bodies=@0x7fff5fbff480, imprint=false, keep_old=false) at OCCModifyEngine.cpp:2212 #5 0x00000001004a4cec in GeometryModifyTool::subtract (this=0x104e03280, tool_body_list=@0x7fff5fbff608, from_bodies=@0x7fff5fbff6f0, new_bodies=@0x7fff5fbff6d8, imprint=false, keep_old=false) at GeometryModifyTool.cpp:6368 #6 0x00000001004a51de in GeometryModifyTool::subtract (this=0x104e03280, tool_body=0x104e8cb30, from_bodies=@0x7fff5fbff6f0, new_bodies=@0x7fff5fbff6d8, imprint=false, keep_old=false) at GeometryModifyTool.cpp:6305 #7 0x0000000100028f21 in iGeom_subtractEnts (instance=0x10085e8c0, blank=0x104e7fe50, tool=0x104e7ef40, geom_entity=0x7fff5fbff8b0, err=0x7fff5fbff8cc) at iGeom_CGMA.cc:6249 #8 0x0000000100006231 in booleans_test (geom=0x10085e8c0) at testgeom.cc:1136 #9 0x000000010000e878 in main (argc=1, argv=0x7fff5fbffb78) at testgeom.cc:239 (gdb) list 129 } 130 131 int main( int argc, char *argv[] ) 132 { 133 // Check command line arg 134 #ifdef FORCE_OCC 135 #ifndef HAVE_OCC 136 #error "Cannot force use of OCC w/out OCC support" 137 #endif 138 std::string filename = STRINGIFY(SRCDIR) "/../test/LeverArm.brep";
Rajeev
------------------------------ *From:* Jane Hu <[email protected]> *To:* Rajeev Jain <[email protected]> *Cc:* CGMA Development <[email protected]> *Sent:* Monday, May 21, 2012 10:11 AM *Subject:* Re: testgeom_occ
Hi, Rajeev:
I don't know exactly what's wrong with the Mac OS, I double checked that if the new_body is null, theCS pointer should not be null. However, I added a safety check on it just now. Can you double check to see if it works this time?
Jane
On Fri, May 18, 2012 at 3:34 PM, Rajeev Jain <[email protected]> wrote:
testgeom_occ on Mac OSX fails, when in copy_body routine, the call to IsBound fails: if(!new_body && OCCQueryEngine::instance()->OCCMap->IsBound(*theCS))
participants (1)
-
Jane Hu