Ok, I think we are getting closer. I recompiled salomegeometry with CPPFLAGS=-D_OCC64. I recompiled pythonOcc too even though I didn't know if it was necessary (I guess it is to avoid linking issues). Know all three unit tests are successful ;-) which is nice. But running the PAF tutorial I still end with a segfault :( I attached in PAF1.py and PAF2.py two sequences of python calls that make it crash. And also the corresponding backtraces. I haven't still compiled OCC in debug as I wanted to first give a try to the -D_OCC64 flag. I'll do it if you feel like some info is missing.
Look, I would perfectly understand you get peaced off with this and want to give it a break. Thanks anyway. Loïc On Sat, Sep 19, 2009 at 12:16 PM, Thomas Paviot <tpav...@gmail.com> wrote: > > <simon1l...@gmail.com>Right. But I have an idea about the problem. > According to your experimentations, the occ_unittest and topoloygy_unittest > pass. So the problem does not come from OCC but, according to me, rather > from salomegeometry. It's possible that salomegeometry is compiled without > the D_OCC64 flag, so the adress handler of OCC is not properly inited. Maybe > you should try to recompile salomegeometry with this flag (for instance, > first set CPPFLAGS='D_OCC64' or something like that). If it solves the > problems, I will fix the Makefile.am file of salomegeometry and commit > changes to the repository. Otherwise you can recompile OCC with > --enable-debug to have more information about this issue. > > Under MacOSX 64bits, I don't face this issue. > > >> >> regards, >> Loïc >> > > Thomas > > >> >> >> On Sat, Sep 19, 2009 at 8:42 AM, Thomas Paviot <tpav...@gmail.com> wrote: >> >>> 2009/9/18 Simon Loic <simon1l...@gmail.com> >>> >>>> Hi again, >>>> >>> >>> Hi Loïc, >>> >>> Manu thanks for your feedback. >>> >>>> >>>> >>>> The env_DRAW.sh script contains a set of environment variables that has >>>>> to be set up before you can use OCC. You can copy/paste the content of >>>>> this >>>>> file to your .bash_profile. The most important one is the CSF_GraphicShr, >>>>> that points to the OCC OpenGL lib, and enables the 3D display. >>>>> >>>> >>>> Ok I had already something equivalen in my .zshrc (I like this shell >>>> better than bash ;-), and CSF_GraphicShr is set correctly. >>>> >>> >>> Ok. >>> >>> >>>> >>>> >>>> The best way is certainly to launch this python script from the >>>>> ./Tools/InteractiveViewer directory. Do you have any difficulty to get it >>>>> run? >>>>> >>>> >>>> It's ok the basic example works (a part from the Zoom window which is >>>> apparently not implemented or not wrapped, right? I get the following >>>> message: >>>> >> AttributeError: 'Viewer3d' object has no attribute 'Zoom_Window' >>>> >>> >>> I will fix it. >>> >>> >>>> >>>> >>>>> Weird, since you followed the instructions available on the PAF >>>>> tutorial (from the wiki). Before you go and test PAF, I suggest you shoud >>>>> first check that pythonOCC works fine. In the /src/unittest directory, >>>>> there >>>>> are 3 sets of unittests: occ_unittest (test of the basic features), >>>>> paf_unittest (for PAF) and topology_unittest (topology/geometry handling). >>>>> Run each of these scripts and be sure that they all pass: >>>>> python occ_unittest.py >>>>> python paf_unittest.py >>>>> python topology_unittest.py >>>>> >>>> >>>> Actually the paf unit test raise a seg fault error (the two others run >>>> just fine): see the output file attached. >>>> One more thing I forgot to tell. After installing pythonOcc, the PAF >>>> module was missing in the __all__ list in dist-packages/OCC/__init__.py. I >>>> had to ad it manually. >>>> >>> >>> PAF is not a python module, but a python package, e.g. a directory that >>> conatins a set of python modules. According to me, it has nothing to do in >>> the __init__.py script located in the site-packages/OCC directory. >>> >>> Thanks for the gdb trace. It seems to be a memory management issue >>> related to OCC. I also need the output of the paf_unittest.py script to have >>> more information. >>> >>> >>>> >>>> cheers, >>>> >>> >>> Cheers, >>> >>> >>>> Loïc >>>> >>> >>> Thomas >>> >>> >>> _______________________________________________ >>> Pythonocc-users mailing list >>> Pythonocc-users@gna.org >>> https://mail.gna.org/listinfo/pythonocc-users >>> >>> >> >> _______________________________________________ >> Pythonocc-users mailing list >> Pythonocc-users@gna.org >> https://mail.gna.org/listinfo/pythonocc-users >> >> > > _______________________________________________ > Pythonocc-users mailing list > Pythonocc-users@gna.org > https://mail.gna.org/listinfo/pythonocc-users > >
from OCC.PAF.Context import ParametricModelingContext from OCC.PAF.Parametric import Parameters p = Parameters() p.height = 43.3 p.radius = 12.9 tutorial_context = ParametricModelingContext(p) tutorial_context.init_display() tutorial_context.register_operations(tutorial_context.prim_operations) my_cylinder = tutorial_context.prim_operations.MakeCylinderRH(p.radius,p.height,name="cylinder1", show=True)
PAF1.bt
Description: Binary data
from OCC.PAF.Context import ParametricModelingContext from OCC.PAF.Parametric import Parameters from OCC.PAF.Parametric import Relation from OCC.PAF.Parametric import Rule p = Parameters() tutorial_context = ParametricModelingContext(p) tutorial_context.init_display() p.height = 43.3 p.radius = 12.9 tutorial_context.register_operations(tutorial_context.prim_operations) my_cylinder = tutorial_context.prim_operations.MakeCylinderRH(p.radius,p.height,name="cylinder1", show=True) radius = p.radius.symbol height = p.height.symbol Rel = 2*radius Relation(p,"height",Rel) def IsPositive(x): return x>0 Rule(p,"radius",IsPositive) quit()
PAF2.bt
Description: Binary data
_______________________________________________ Pythonocc-users mailing list Pythonocc-users@gna.org https://mail.gna.org/listinfo/pythonocc-users