I want to calculate the length of an Bezier curve
Code: Select all
import FreeCAD
import Part
P1=FreeCAD.Vector(0,1)
P2=FreeCAD.Vector(0,0)
P3=FreeCAD.Vector(1,0)
b = Part.BezierCurve()
b.setPoles([P1,P2,P3])
#b.setWeight(1,5) # --> difference in length increases = 0.0026
# length from Part.BezierCurve().length()
print(b.length()) # = 1.623225240139941
# length from .toShape().Length
s = b.toShape()
print(s.Length) # = 1.6233215898436886
# difference
print(b.length() - s.Length) # = -9.634970374761131e-05
Matthias