Salome HOME
5d3713fa5cd56f05febaf3d48dfd73ef62f876db
[modules/geom.git] / src / GEOM_SWIG / GEOM_Sketcher.py
1 #  -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2007-2023  CEA/DEN, EDF R&D, OPEN CASCADE
3 #
4 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 #
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2.1 of the License, or (at your option) any later version.
11 #
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 # Lesser General Public License for more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this library; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20 #
21 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 #
23
24 #  GEOM GEOM_SWIG : binding of C++ implementation with Python
25 #  File   : GEOM_Sketcher.py
26 #  Author : Damien COQUERET, Open CASCADE
27 #  Module : GEOM
28 #
29 import salome
30 salome.salome_init()
31 import GEOM
32 from salome.geom import geomBuilder
33 geompy = geomBuilder.New()
34
35 #SKETCHER INFOS
36 #Init Sketcher
37 #Create a string beginning by :"Sketcher:"
38 #Each command must be separated by ":"
39 #"F x y" : Create first point at X & Y
40
41 #To Make Segment
42 #"R angle" : Set the direction by angle
43 #"D dx dy" : Set the direction by DX & DY
44
45 #"TT x y" : Create by point at X & Y
46 #"T dx dy" : Create by point with DX & DY
47 #"L length" : Create by direction & Length
48 #"IX x" : Create by direction & Intersect. X
49 #"IY y" : Create by direction & Intersect. Y
50
51 #To Make Arc
52 #"C radius length" : Create by direction, radius and length(in degree)
53 #"AA x y": Create by point at X & Y
54 #"A dx dy" : Create by point with DX & DY
55 #"UU x y radius flag1": Create by point at X & Y with given radiUs 
56 #"U dx dy radius flag1" : Create by point with DX & DY with given radiUs
57 #"EE x y xc yc flag1 flag2": Create by point at X & Y with given cEnter 
58 #"E dx dy dxc dyc radius flag1 flag2" : Create by point with DX & DY with given cEnter
59
60 #Flag1 is 0 or 2 ... 
61 # if 0 the drawn arc is the one of lower angle (< Pi)
62 # if 2 the drawn arc ius the one of greater angle (> Pi)
63
64 #Flag2 is 0 or 1 ...
65 # if 0 the specified end point can be at a distance of the arc greater than the tolerance (10^-7)
66 # if 1 the wire is built only if the end point is on the arc 
67 #   with a tolerance of 10^-7 on the distance else the creation fails
68
69 #To finish
70 #"WW" : Close Wire
71
72 #Create Sketcher
73 Cmd = "Sketch:F 0 0:TT 0 100:C 100 180:AA -100 100:WW"
74 Sketcher = geompy.MakeSketcher(Cmd) #(string)->GEOM_Shape_ptr
75
76 #Add In Study
77 id_Sketcher = geompy.addToStudy(Sketcher, "Sketcher")