怎样把spline线变成圆弧?
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">怎样把<FONT face="Times New Roman">spline</FONT>线变成圆弧<FONT face="Times New Roman">?</FONT></P><P class=signature style="MARGIN: auto 0cm"><FONT face=宋体 size=3>AcDbSpline的成员函数</FONT></P>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? <P>1)基本上这属于数学问题。不是几句话可以说清楚。</P>
<P>2)这是很有实用价值的问题,好象绝大多数CNC机床上的控制码,仅仅支持圆弧、直线、和点操作。市面上相应的CAM软件也基本上仅仅支持这些图元或这些图元的组合(如LWPOLYLINE),对于SPline 和椭圆曲线则无能为力。</P>
<P> </P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">1.我也知道这基本上是一个数学问题<FONT face="Times New Roman">,</FONT>有没有这方面的书籍可查<FONT face="Times New Roman">?</FONT>能知首它的曲线方程就更好了<FONT face="Times New Roman">.</FONT></P>2.对于没有封闭的spline,很容易知道其长度,然后用一段段很短的线段(或弧)去拟合.对于封闭的spline,怎样知道其长度? <P>ARX中所有派生于AcDbCurve类的实体都可以使用getEndPoint函数来获得其终点,然后使用getDistAtPoint函数获得曲线的长度。</P>
<P>样条曲线转化成圆弧可能比较麻烦。</P> <P>getDistAtPoint函数并不是对所有的spline都可以.有些spline线炸碎后仍为spline的就不行.不过我已找到一种方法可以将其变成arc.</P>
页:
[1]