如何在pythonOCC中使用样条线?

Ste*_*rup 20 python cad spline opencascade

我有一个关于如何在pythonOCC中使用样条线的两部分问题.

首先,我知道我可以创建样条曲线

array = []
array.append(gp_Pnt2d (0,0))
array.append(gp_Pnt2d (1,2))
array.append(gp_Pnt2d (2,3))
array.append(gp_Pnt2d (4,3))
array.append(gp_Pnt2d (5,5))

pt2d_list = point2d_list_to_TColgp_Array1OfPnt2d(array)
SPL1      = Geom2dAPI_PointsToBSpline(pt2d_list).Curve()
display.DisplayShape(make_edge2d(SPL1) , update=True)
Run Code Online (Sandbox Code Playgroud)

我希望bspline可以通过计算得出

BSPL1      = Geom2dAPI_PointsToBSpline(pt2d_list)
Run Code Online (Sandbox Code Playgroud)

但我怎么得到:

  1. bspline的衍生物?
  2. bspline的结?
  3. 结是pt2d_list吗?
  4. bspline的控制点?
  5. 样条系数?

如何删除或添加bspline的结?

其次,在pythonOCC中加载CAD绘图.stp文件时,如下所示:

from OCC import TopoDS, StlAPI
shape = TopoDS.TopoDS_Shape()
stl_reader = StlAPI.StlAPI_Reader()
stl_reader.Read(shape,str(filename))
display.DisplayShape(shape)
Run Code Online (Sandbox Code Playgroud)

如何从knot,bspline和coefficient等形状中获取数据.

toa*_*eez 0

我会查看scipy 文档并在那里搜索您要应用的功能。