FreeCAD 创建 BSplineCurve

本文介绍如何在 FreeCAD 中创建 BSplineCurve。

BSplineCurve

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
from FreeCAD import Base
import Part
V = Base.Vector
poles = [V(-2, 2, 0),V(0, 2, 1),V(2, 2, 0),V(2, -2, 0),V(0, -2, 1),V(-2, -2, 0)]
# non-periodic spline
n=Part.BSplineCurve()
n.buildFromPoles(poles)
Part.show(n.toShape())
# periodic spline
n=Part.BSplineCurve()
n.buildFromPoles(poles, True)
# 保存到文件
Part.show(n.toShape())

BezierCurve

1
2
3
4
5
6
7
8
9
from FreeCAD import Base
import Part
p1 = Base.Vector(-1, 0, 0)
p2 = Base.Vector(0, 1, 0.2)
p3 = Base.Vector(1, 0, 0.4)
p4 = Base.Vector(0, -1, 1)
bc = Part.BezierCurve()
bc.setPoles([p1, p2, p3, p4])
curveShape = bc.toShape()