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