Hi, all:

I'm struggling with a couple of problems that I presume to be null pointers
that are crashing OCC.  I have a feeling this may be related to memory
management.

For example, I've tracked down one crash to one line:
 BRepBuilderAPI_MakeOffset.Perform().  I load it with several wires, each of
which I can display successfully immediately before invoking perform. Yet,
Perform() crashes. See example below.  I do not believe any object scoping
issues are at play that I can see: all of the objects in question seem to be
in scope when the crash happens.

I am also fairly certain that its something I'm doing: all of the 'simple'
test cases I create work fine.

So my question is: are there any tricks/techniques I can use to isolate the
problem when a crash occurs?  Right now i'm using old school print
statements to get to what method call dies, but I still cannot see what
exactly is going wrong.  Help is appreciated, this is completely kicking my
butt :(


#offset a face, returning the offset shape
def _offsetFace(self,face,offset ):
                brt = BRepTools.BRepTools();
ow = brt.OuterWire(face);
bo = BRepOffsetAPI.BRepOffsetAPI_MakeOffset();

bo.AddWire(ow);

#now get the other wires
te = TopExp.TopExp_Explorer();
te.Init(face,TopAbs.TopAbs_WIRE);
while te.More():
w = ts.Wire(te.Current());
TestDisplay.display.showShape(w); # this line succesfully shows the wires on
screen
if not w.IsSame(ow):
bo.AddWire(w);
te.Next();
te.ReInit();
 print "about to offset...";

bo.Perform(offset,0.00001);  #this line crashes hard, but only sometimes.
print "done offsetting..";

if  not bo.IsDone():
raise Exception, "Offset Was Not Successful.";
else:
return  bo.Shape();
_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users

Reply via email to