From df8fe594e1527071442b42856d81c0c98459602e Mon Sep 17 00:00:00 2001 From: eap Date: Wed, 20 Jul 2005 10:44:57 +0000 Subject: [PATCH] PAL9166 - add MakeSketcherOnPlane() and MakeMarkerPntTwoVec() --- src/GEOM_SWIG/batchmode_geompy.py | 39 +++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/GEOM_SWIG/batchmode_geompy.py b/src/GEOM_SWIG/batchmode_geompy.py index 608be6d96..fb2c74e31 100644 --- a/src/GEOM_SWIG/batchmode_geompy.py +++ b/src/GEOM_SWIG/batchmode_geompy.py @@ -197,6 +197,30 @@ def MakeMarker(OX,OY,OZ, XDX,XDY,XDZ, YDX,YDY,YDZ): print "MakeMarker : ", BasicOp.GetErrorCode() return anObj +def MakeMarkerPntTwoVec(theOrigin, theXVec, theYVec): + """ + * Create a local coordinate system. + * \param theOrigin Point of coordinate system origin. + * \param theXVec Vector of X direction + * \param theYVec Vector of Y direction + * \return New GEOM_Object, containing the created coordinate system. + """ + O = PointCoordinates( theOrigin ) + OXOY = [] + for vec in [ theXVec, theYVec ]: + v1, v2 = SubShapeAll( vec, ShapeType["VERTEX"] ) + p1 = PointCoordinates( v1 ) + p2 = PointCoordinates( v2 ) + for i in range( 0, 3 ): + OXOY.append( p2[i] - p1[i] ) + # + anObj = BasicOp.MakeMarker( O[0], O[1], O[2], + OXOY[0], OXOY[1], OXOY[2], + OXOY[3], OXOY[4], OXOY[5], ) + if BasicOp.IsDone() == 0: + print "MakeMarker : ", BasicOp.GetErrorCode() + return anObj + # ----------------------------------------------------------------------------- # Curves # ----------------------------------------------------------------------------- @@ -251,6 +275,21 @@ def MakeSketcher(Cmd, WPL = [0,0,0, 0,0,1, 1,0,0]): print "MakeSketcher : ", CurvesOp.GetErrorCode() return anObj +def MakeSketcherOnPlane(theCommand, theWorkingPlane): + """ + * Create a sketcher (wire or face), following the textual description, + * passed through \a theCommand argument. \n + * For format of the description string see the previous method.\n + * \param theCommand String, defining the sketcher in local + * coordinates of the working plane. + * \param theWorkingPlane Planar Face of the working plane. + * \return New GEOM_Object, containing the created wire. + """ + anObj = CurvesOp.MakeSketcherOnPlane(theCommand, theWorkingPlane) + if CurvesOp.IsDone() == 0: + print "MakeSketcher : ", CurvesOp.GetErrorCode() + return anObj + # ----------------------------------------------------------------------------- # Create 3D Primitives # -----------------------------------------------------------------------------