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

Reply via email to