怎样把spline线变成圆弧?
怎样把spline线变成圆弧?AcDbSpline的成员函数
Acad::ErrorStatus getNurbsData(int& degree,Adesk::Boolean& rational,Adesk::Boolean& closed,Adesk::Boolean& periodic,AcGePoint3dArray& controlPoints,AcGeDoubleArray& knots,AcGeDoubleArray& weights,double& controlPtTol,double& knotTol) const;可获得数据,但如何用这些数据把spline变成Arc? 1)基本上这属于数学问题。不是几句话可以说清楚。
2)这是很有实用价值的问题,好象绝大多数CNC机床上的控制码,仅仅支持圆弧、直线、和点操作。市面上相应的CAM软件也基本上仅仅支持这些图元或这些图元的组合(如LWPOLYLINE),对于SPline 和椭圆曲线则无能为力。
1.我也知道这基本上是一个数学问题,有没有这方面的书籍可查?能知首它的曲线方程就更好了.
2.对于没有封闭的spline,很容易知道其长度,然后用一段段很短的线段(或弧)去拟合.对于封闭的spline,怎样知道其长度? ARX中所有派生于AcDbCurve类的实体都可以使用getEndPoint函数来获得其终点,然后使用getDistAtPoint函数获得曲线的长度。
样条曲线转化成圆弧可能比较麻烦。
getDistAtPoint函数并不是对所有的spline都可以.有些spline线炸碎后仍为spline的就不行.不过我已找到一种方法可以将其变成arc.
页:
[1]