Page 213 - 6734
P. 213

import FreeCAD as App # модуль для роботи з програмою
           import FreeCADGui as Gui # модуль для роботи з GUI
           import Part # workbench-модуль для створення і
           керування BRep об'єктами

           v1=App.Vector(0,0,0) # вектор (або точка)
           v2=App.Vector(0,10,0)
           v3=App.Vector(5,5,0)
           l1=Part.LineSegment(v1,v2) # лінія
           e1=l1.toShape() # ребро
           # або e1=Part.makeLine((0,0,0),(0,10,0)) # ребро
           a1=Part.Arc(v1,v3,v2) # дуга за трьома точками
           e2=a1.toShape() # ребро
           # або
           e2=Part.makeCircle(5,App.Vector(0,5,0),App.Vector(0,0
           ,1),-90,90)

           bs=Part.BSplineCurve() # B-сплайн
           bs.interpolate([(0,0,0),(0,1,1),(0,-1,2)]) # шляхом
           інтерполяції
           # або
           #bs.approximate([(0,0,0),(0,1,1),(0,-1,2)]) # шляхом
           апроксимації
           #bs.buildFromPoles([(0,0,0),(0,1,1),(0,-1,2)]) # за
           списком полюсів
           e3=bs.toShape() # ребро

           w1=Part.Wire([e1,e2]) # цикл (сукупність ребер)
           f1=Part.Face(w1) # грань
           trsf=App.Matrix() # матриця трансформації
           trsf.rotateZ(math.pi/4) # повернути навколо осі z
           trsf.move(App.Vector(5,0,0)) # перемістити
           f2=f1.copy() # копія форми
           f2.transformShape(trsf) # виконати трансформацію
           # або
                                         212
   208   209   210   211   212   213   214   215   216   217   218