Aes*_*mus 3 autocad spline dxf
我正在尝试在dxf文件中以编程方式创建样条曲线。我需要使用拟合点,因为曲线需要通过指定的点。我了解我也需要使用控制点。有没有公式可以计算出这些值?它是带有四个拟合点的闭合样条线。
提前致谢!
我认为这不是一件容易的事。除控制点外,您还需要确定结点。有一个DXF读取器/观众此处(用C ++编写),其权利要求书以支撑花键。也许您可以通过阅读代码找到一些信息。
AutoCAD使用的NURBS是近似曲线(曲线仅通过第一个点和最后一个点)。在用户界面中,将插入样条曲线(曲线通过拟合点),因此在读取/写入DXF文件时会进行平移。如果创建带有4个拟合点的封闭点,则DXF文件中将看到7个控制点:
使用折线来近似样条线会更容易。这是折线的样例(L形从0,0-> 100,0-> 100,50开始)
0
LWPOLYLINE
5
D5
330
70
100
AcDbEntity
8
0
100
AcDbPolyline
90
3
70
0
43
0.0
10
0.0
20
0.0
10
100.0
20
0.0
10
100.0
20
50.0
Run Code Online (Sandbox Code Playgroud)
要根据拟合点计算控制点的位置,可以查阅此页面(第24和§25 页)。实际上,您需要反转Casteljau的算法(对于Bezier曲线;我不知道它对NURBS的工作原理)。