恩,总体来说是这样的。不过,这么多曲线中,就Spline比较复杂,需要查阅一些其他,其他的曲线我们自己就可以大致推算出来。
比如说你有一个30度的圆弧,我们已经知道圆弧的起点和终点,如果你想把这个圆弧延伸到45度,通过简单的计算我们就可以知道延伸后的起点或者终点,这个取决于你从起点延伸或者终点延伸。这样可以通过这个函数计算出延伸后的参数值;AcDbCurve::getParamAtPoint,有了延伸后的参数值,就可以通过AcDbCurve::extend将它延伸。另外我们还可以通过AcDbCurve::getParamAtDist计算参数,对于一个45度的圆弧,这个'距离'可以通过圆弧周长算出来。
这其中的细节可以参考文档中的说明,同时我们完全可以利用AcGe库来实现一个常见的几何算法,多看看他们的说明你就有所熟悉了。
|