2009/8/10 Sébastien Ramage <sebastien.ram...@gmail.com> > Hi all !
Hi Sébastein, Thanks very much for this detailed check-up of the current samples/unittests! > > > After successfully rebuild OCC with msvc9 in order to support Python 2.6 > on Windows, I'm checking all the sample and I found some bugs > > some samples have : > import ipdb; ipdb.set_trace() > must be removed, user don't want/have that in my opinion Right. Jelle uses to 'import pdb' for testing. Fix commited to svn trunk. > > ----------------- > > in geomplate.py line 175 : > replace > self.pnt.SetX(z[0]) > by > self.pnt.SetX(float(z[0])) > > > - because it's an integer > > Is it really a bug? I mean, do you have any segfault/traceback? Normally pythonOCC handles integer/floats without any problem. For instance, gp_Pnt(1,1,1) is the same as gp_Pnt(1.0,1.0,1.0). > > ---------- > > OCC.GEOMImpl failed to load because a dll is missing > All bin\SalomeGeometry\win32\bin\*.dll need to be in > C:\Python26\lib\site-packages\OCC\ > > >>> import OCC.GEOMImpl > Traceback (most recent call last): > File "<interactive input>", line 1, in <module> > File "C:\Python26\lib\site-packages\OCC\GEOMImpl.py", line 28, in <module> > _GEOMImpl = swig_import_helper() > File "C:\Python26\lib\site-packages\OCC\GEOMImpl.py", line 27, in > swig_import_helper > return _mod > UnboundLocalError: local variable '_mod' referenced before assignment > > >>> import OCC._GEOMImpl > Traceback (most recent call last): > File "<interactive input>", line 1, in <module> > ImportError: DLL load failed: Le module spécifié est introuvable. > The SalomeGEOM dlls must be set in your PYTHONPATH. I personnaly copied these dlls (available from the svn trunk) into the Lib/Site-packages/OCC directory. Works fine. I include these dlls in the Windows installer. > > ------------------------------ > > simple_parameter_op.py > Traceback (most recent call last): > File "C:\Documents and > > Settings\sramage.JASV06\Bureau\samples\Level1\SalomeGEOM\simple_parameter_op.py", > line 7, in <module> > print a+1 > TypeError: unsupported operand type(s) for +: 'GEOM_Parameter' and 'int' Thanks for the feedback. It's an old sample that must be removed. The samples of the Level1/SalomeGEOM are currently being moved to Level2/PAF. > > > ----------- > > plot.py > is it working ? it only make a transparent sphere... > > plotview.py > Traceback (most recent call last): > File "C:\Documents and > Settings\sramage.JASV06\Bureau\samples\Level1\Plot\plot > _view.py", line 75, in sphere > display.DisplayShape(BRepPrimAPI_MakeSphere(1).Shape()) > File "C:\Python26\lib\site-packages\OCC\Display\OCCViewer.py", line > 129, in Di > splayShape > self.Context.Display(shape_to_display.GetHandle()) > TypeError: in method 'AIS2D_InteractiveContext_Display', argument 2 of > type 'Han > dle_AIS2D_InteractiveObject const &' The plot.py sample is not working yet. > > > -------------------- > parallel_slicer.py > > line 17 : > pth = os.path.abspath( os.path.join(pth, 'Pump_Bottom.brep') ) > and put Pump_Bottom.brep in the same directory > > replace : > import time, processing, numpy, os, pickle, sys > by > import time, numpy, os, pickle, sys > if sys.version_info[:3] >= (2,6,0): > import multiprocessing as processing > else: > import processing Thanks for the tweak. Fix commited to svn. > > > ----------------------------- > InteractiveFeatureTree (using the lastest enthought.traits 2.0.5) > > > Traceback (most recent call last): > File "C:\Documents and > > Settings\sramage.JASV06\Bureau\samples\Level2\InteractiveFeatureTree\feature_tree_demo.py", > line 25, in <module> > from occ_model import BlockSource, SphereSource, \ > File "C:\Documents and > > Settings\sramage.JASV06\Bureau\samples\Level2\InteractiveFeatureTree\occ_model.py", > line 21, in <module> > from enthought.traits.api import (HasTraits, Property, Bool, > ImportError: cannot import name on_trait_change > > OCAFBrowser > Traceback (most recent call last): > File "C:\Documents and > Settings\sramage.JASV06\Bureau\samples\Level2\OCAFBrowser\OCAFBrowser.py", > line 23, in <module> > from enthought.traits.api import (HasTraits, Property, Bool, > ImportError: cannot import name on_trait_change > > ----------------------- > test_box_booleans_fillets.py > > Traceback (most recent call last): > File "C:\Documents and > > Settings\sramage.JASV06\Bureau\samples\Level2\PAF\test_box_booleans_fillets.py", > line 2, in <module> > from OCC.PAF.Parametric import Parameters, Rule, Relation > ImportError: cannot import name Rule > > test_parameter.py > Traceback (most recent call last): > File "C:\Documents and > Settings\sramage.JASV06\Bureau\samples\Level2\PAF\test_parameter.py", > line 5, in <module> > my_context = Context() > TypeError: __init__() takes at least 2 arguments (1 given) > > test_gears_sympy.py > python crash after creation of parameter DX2 saying access violation in > TKMesh.dll > don't know what that mean... All these samples, as well as PAF, has been modified recently. It's not yet been commited. > > > ----------------- > example_level2_topology.py > > No module named occ_utils Fix commited to svn trunk. > > > ----------------- > RemoteDisplay\display_client.py > > Traceback (most recent call last): > File > > "G:\SR\Python_Dev\pythonocc_svn\pythonOCC\src\samples\Level2\XMLRPC\RemoteDisplay\display_client.py", > line 45, in <module> > Display(box_s) > File > > "G:\SR\Python_Dev\pythonocc_svn\pythonOCC\src\samples\Level2\XMLRPC\RemoteDisplay\display_client.py", > line 40, in Display > string_to_send = unicode(zlib.compress(pickle.dumps(shape))) > UnicodeDecodeError: 'ascii' codec can't decode byte 0x9c in position 1: > ordinal not in range(128) Thanks. An old test I made in order to compress the XML string. Fix commited to the svn trunk. > > > --------------------- > > unittest > > test_unittest.py > Test: python dicts > .Test: Handle Management > .Test: __hash__ overloading > .Test: python lists > .Test: Topology > . > ---------------------------------------------------------------------- > Ran 5 tests in 0.047s > > OK > > > paf_unittest.py > > added solver: basic_operations > added solver: block_operations > added solver: boolean_operations > added solver: curve_operations > added solver: group_operations > added solver: healing_operations > added solver: insert_operations > added solver: local_operations > added solver: measure_operations > added solver: prim_operations > added solver: shapes_operations > added solver: transform_operations > method being wrapped: MakeFaceFourPnt > method being wrapped: MakeFaceThreePnt > method being wrapped: MakeLine > method being wrapped: MakeLineTwoFaces > method being wrapped: MakeLineTwoPnt > method being wrapped: MakeMarker > method being wrapped: MakePlaneFace > method being wrapped: MakePlanePntVec > method being wrapped: MakePlaneThreePnt > method being wrapped: MakePointOnCurve > method being wrapped: MakePointOnLinesIntersection > method being wrapped: MakePointOnSurface > method being wrapped: MakePointWithReference > method being wrapped: MakePointXYZ > method being wrapped: MakeTangentOnCurve > method being wrapped: MakeTangentPlaneOnFace > method being wrapped: MakeVectorDXDYDZ > method being wrapped: MakeVectorPntDXDYDZ > method being wrapped: MakeVectorTwoPnt > method being wrapped: AddBlocksFrom > method being wrapped: CheckAndImprove > method being wrapped: CheckCompoundOfBlocks > method being wrapped: CheckCompoundOfBlocksOld > method being wrapped: ExplodeCompoundOfBlocks > method being wrapped: GetBlockByParts > method being wrapped: GetBlockNearPoint > method being wrapped: GetBlocksByParts > method being wrapped: GetEdge > method being wrapped: GetEdgeNearPoint > method being wrapped: GetFaceByEdges > method being wrapped: GetFaceByNormale > method being wrapped: GetFaceByPoints > method being wrapped: GetFaceNearPoint > method being wrapped: GetOppositeFace > method being wrapped: GetPoint > method being wrapped: IsCompoundOfBlocks > method being wrapped: MakeBlockCompound > method being wrapped: MakeHexa > method being wrapped: MakeHexa2Faces > method being wrapped: MakeMultiTransformation1D > method being wrapped: MakeMultiTransformation2D > method being wrapped: MakeQuad > method being wrapped: MakeQuad2Edges > method being wrapped: MakeQuad4Vertices > method being wrapped: PrintBCErrors > method being wrapped: Propagate > method being wrapped: RemoveExtraEdges > method being wrapped: MakeBoolean > method being wrapped: MakeHalfPartition > method being wrapped: MakePartition > method being wrapped: Make3DSketcher > method being wrapped: MakeArc > method being wrapped: MakeArcCenter > method being wrapped: MakeArcOfEllipse > method being wrapped: MakeCircleCenter2Pnt > method being wrapped: MakeCirclePntVecR > method being wrapped: MakeCircleThreePnt > method being wrapped: MakeCurveSplitByCurve > method being wrapped: MakeCurveSplitByParam > method being wrapped: MakeEllipse > method being wrapped: MakeEllipseThreePnt > method being wrapped: MakePolyline > method being wrapped: MakeSketcher > method being wrapped: MakeSketcherOnPlane > method being wrapped: MakeSplineBezier > method being wrapped: MakeSplineInterpolation > method being wrapped: AddObject > method being wrapped: CreateGroup > method being wrapped: DifferenceIDs > method being wrapped: DifferenceList > method being wrapped: GetMainShape > method being wrapped: GetObjects > method being wrapped: GetType > method being wrapped: RemoveObject > method being wrapped: UnionIDs > method being wrapped: UnionList > method being wrapped: ChangeOrientation > method being wrapped: ChangeOrientationCopy > method being wrapped: CloseContour > method being wrapped: DivideEdge > method being wrapped: FillHoles > method being wrapped: GetFreeBoundary > method being wrapped: GetOperatorParameters > method being wrapped: GetParameters > method being wrapped: GetShapeProcessParameters > method being wrapped: RemoveIntWires > method being wrapped: Sew > method being wrapped: ShapeProcess > method being wrapped: SuppressFaces > method being wrapped: Export > method being wrapped: ExportTranslators > method being wrapped: Import > method being wrapped: ImportTranslators > method being wrapped: IsSupported > method being wrapped: MakeCopy > method being wrapped: GetSubShape > method being wrapped: GetSubShapeIndex > method being wrapped: MakeArchimede > method being wrapped: MakeChamfer2DEdges > method being wrapped: MakeChamferAll > method being wrapped: MakeChamferEdge > method being wrapped: MakeChamferEdgeAD > method being wrapped: MakeChamferEdges > method being wrapped: MakeChamferEdgesAD > method being wrapped: MakeChamferFaces > method being wrapped: MakeChamferFacesAD > method being wrapped: MakeDraftFacesAngle > method being wrapped: MakeDraftFacesAngleWithStationaryFace > method being wrapped: MakeFillet2DVertices > method being wrapped: MakeFilletAll > method being wrapped: MakeFilletEdges > method being wrapped: MakeFilletEdgesR1R2 > method being wrapped: MakeFilletFaces > method being wrapped: MakeFilletFacesR1R2 > method being wrapped: MakeThickSolid > method being wrapped: MakeVariableFillet > method being wrapped: CheckShape > method being wrapped: CurveCurvatureByParam > method being wrapped: CurveCurvatureByPoint > method being wrapped: GetAngle > method being wrapped: GetBasicProperties > method being wrapped: GetBoundingBox > method being wrapped: GetCentreOfMass > method being wrapped: GetInertia > method being wrapped: GetMinDistance > method being wrapped: GetNormal > method being wrapped: GetPosition > method being wrapped: GetTolerance > method being wrapped: KindOfShape > method being wrapped: MaxSurfaceCurvatureByParam > method being wrapped: MaxSurfaceCurvatureByPoint > method being wrapped: MinSurfaceCurvatureByParam > method being wrapped: MinSurfaceCurvatureByPoint > method being wrapped: PointCoordinates > method being wrapped: WhatIs > method being wrapped: MakeBoxDXDYDZ > method being wrapped: MakeBoxTwoPnt > method being wrapped: MakeConePntVecR1R2H > method being wrapped: MakeConeR1R2H > method being wrapped: MakeCylinderPntVecRH > method being wrapped: MakeCylinderRH > method being wrapped: MakeDiskPntVecR > method being wrapped: MakeDiskR > method being wrapped: MakeDiskThreePnt > method being wrapped: MakeFaceHW > method being wrapped: MakeFaceObjHW > method being wrapped: MakeFilling > method being wrapped: MakePipe > method being wrapped: MakePipeBiNormalAlongVector > method being wrapped: MakePipeRigid > method being wrapped: MakePipeShellsWithoutPath > method being wrapped: MakePipeWithDifferentSections > method being wrapped: MakePipeWithShellSections > method being wrapped: MakePlateWithShapesList > method being wrapped: MakePrismDXDYDZ > method being wrapped: MakePrismDXDYDZ2Ways > method being wrapped: MakePrismTwoPnt > method being wrapped: MakePrismTwoPnt2Ways > method being wrapped: MakePrismVecH > method being wrapped: MakePrismVecH2Ways > method being wrapped: MakePrismVecHAng > method being wrapped: MakeRevolutionAxisAngle > method being wrapped: MakeRevolutionAxisAngle2Ways > method being wrapped: MakeRevolutionAxisAngleOffset > method being wrapped: MakeSolidShell > method being wrapped: MakeSpherePntR > method being wrapped: MakeSphereR > method being wrapped: MakeThruSections > method being wrapped: MakeTorusPntVecRR > method being wrapped: MakeTorusRR > method being wrapped: CheckTriangulation > method being wrapped: CompsolidToCompound > method being wrapped: GetFreeFacesIDs > method being wrapped: GetGlueFaces > method being wrapped: GetInPlace > method being wrapped: GetInPlaceByHistory > method being wrapped: GetSame > method being wrapped: GetShapeTypeString > method being wrapped: GetShapesOnBox > method being wrapped: GetShapesOnBoxIDs > method being wrapped: GetShapesOnCylinder > method being wrapped: GetShapesOnCylinderIDs > method being wrapped: GetShapesOnPlane > method being wrapped: GetShapesOnPlaneIDs > method being wrapped: GetShapesOnPlaneWithLocation > method being wrapped: GetShapesOnPlaneWithLocationIDs > method being wrapped: GetShapesOnQuadrangle > method being wrapped: GetShapesOnQuadrangleIDs > method being wrapped: GetShapesOnShape > method being wrapped: GetShapesOnShapeAsCompound > method being wrapped: GetShapesOnShapeIDs > method being wrapped: GetShapesOnSphere > method being wrapped: GetShapesOnSphereIDs > method being wrapped: GetSharedShapes > method being wrapped: GetSubShape > method being wrapped: GetSubShapeIndex > method being wrapped: GetTopologyIndex > method being wrapped: MakeCompound > method being wrapped: MakeEdge > method being wrapped: MakeExplode > method being wrapped: MakeFace > method being wrapped: MakeFaceWires > method being wrapped: MakeGlueFaces > method being wrapped: MakeGlueFacesByList > method being wrapped: MakeShell > method being wrapped: MakeSolidShell > method being wrapped: MakeSolidShells > method being wrapped: MakeWire > method being wrapped: NumberOfEdges > method being wrapped: NumberOfFaces > method being wrapped: ReverseShape > method being wrapped: SortShapes > method being wrapped: SubShapeAllIDs > method being wrapped: MirrorAxis > method being wrapped: MirrorAxisCopy > method being wrapped: MirrorPlane > method being wrapped: MirrorPlaneCopy > method being wrapped: MirrorPoint > method being wrapped: MirrorPointCopy > method being wrapped: OffsetShape > method being wrapped: OffsetShapeCopy > method being wrapped: PositionShape > method being wrapped: PositionShapeCopy > method being wrapped: Rotate > method being wrapped: Rotate1D > method being wrapped: Rotate2D > method being wrapped: RotateCopy > method being wrapped: RotateThreePoints > method being wrapped: RotateThreePointsCopy > method being wrapped: ScaleShape > method being wrapped: ScaleShapeAffine > method being wrapped: ScaleShapeAffineCopy > method being wrapped: ScaleShapeCopy > method being wrapped: Translate1D > method being wrapped: Translate2D > method being wrapped: TranslateAlongRail > method being wrapped: TranslateDXDYDZ > method being wrapped: TranslateDXDYDZCopy > method being wrapped: TranslateTwoPoints > method being wrapped: TranslateTwoPointsCopy > method being wrapped: TranslateVector > method being wrapped: TranslateVectorCopy > method being wrapped: TranslateVectorDistance > Context initialized > EParameter X created > parameter: X value: 10 > parameter: X value: 10 > parameter: X value: 10 > parameter: X value: 10 > .parameter: X value: 10 > E > ====================================================================== > ERROR: test_Rule_simple (__main__.TestPAF) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File > "G:\SR\Python_Dev\pythonocc_svn\pythonOCC\src\unittest\paf_unittest.py", > line 31, in test_Rule_simple > rule = Rule(p) > NameError: global name 'Rule' is not defined > > ====================================================================== > ERROR: test_relation_sympy (__main__.TestPAF) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File > "G:\SR\Python_Dev\pythonocc_svn\pythonOCC\src\unittest\paf_unittest.py", > line 41, in test_relation_sympy > X = symb(p.X) > File "C:\Python26\lib\site-packages\OCC\PAF\Parametric.py", line 33, > in symb > return parameter_tuple[0].GetSymbol() > TypeError: 'Parameter' object does not support indexing > > ---------------------------------------------------------------------- > Ran 3 tests in 0.062s > > FAILED (errors=2) PAF package is not finished yet. > > > > topology_unittest.py > > .....E.. > ====================================================================== > ERROR: test_vertex_edge (__main__.TestTopology) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File > > "G:\SR\Python_Dev\pythonocc_svn\pythonOCC\src\unittest\topology_unittest.py", > line 61, in test_vertex_edge > self.assert_( len(edges_from_vert) == > self.topo.number_of_edges_from_vertex(vert) ) > File "C:\Python26\lib\site-packages\OCC\Utils\Topology.py", line 370, > in number_of_edges_from_vertex > return self._number_shapes_ancestors(TopAbs_EDGE,TopAbs_WIRE, edg) > File "C:\Python26\lib\site-packages\OCC\Utils\Topology.py", line 303, > in _number_shapes_ancestors > results = _map.FindFromKey(topologicalEntity) > RuntimeError: Standard_OutOfRange Will have a look to this. > > > ---------------------------------------------------------------------- > Ran 8 tests in 0.062s > > FAILED (errors=1) > > Regards, Thomas
_______________________________________________ Pythonocc-users mailing list Pythonocc-users@gna.org https://mail.gna.org/listinfo/pythonocc-users