ShuFeng 发表于 2005-7-30 11:21:00

怎样把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?

ishou 发表于 2005-7-31 11:52:00

1)基本上这属于数学问题。不是几句话可以说清楚。
2)这是很有实用价值的问题,好象绝大多数CNC机床上的控制码,仅仅支持圆弧、直线、和点操作。市面上相应的CAM软件也基本上仅仅支持这些图元或这些图元的组合(如LWPOLYLINE),对于SPline 和椭圆曲线则无能为力。

ShuFeng 发表于 2005-8-1 09:55:00

1.我也知道这基本上是一个数学问题,有没有这方面的书籍可查?能知首它的曲线方程就更好了.
2.对于没有封闭的spline,很容易知道其长度,然后用一段段很短的线段(或弧)去拟合.对于封闭的spline,怎样知道其长度?

zfbj 发表于 2005-8-8 22:34:00

ARX中所有派生于AcDbCurve类的实体都可以使用getEndPoint函数来获得其终点,然后使用getDistAtPoint函数获得曲线的长度。
样条曲线转化成圆弧可能比较麻烦。

ShuFeng 发表于 2005-8-10 09:20:00

getDistAtPoint函数并不是对所有的spline都可以.有些spline线炸碎后仍为spline的就不行.不过我已找到一种方法可以将其变成arc.
页: [1]
查看完整版本: 怎样把spline线变成圆弧?