k19297581 发表于 2008-9-26 15:37:00

[求助]哪个函数可以得到椭圆的半径

本帖最后由 作者 于 2008-9-26 15:40:15 编辑 <br /><br /> <font size="5">&nbsp;&nbsp;&nbsp;&nbsp; CAD面板上显示的椭圆的长半轴和短半轴怎么得到?用哪个函数??在椭圆类里找了半天也没找到。。请版主帮帮忙。。谢谢!</font>

BDYCAD 发表于 2008-9-27 09:17:00


//编程:包达勇
//2008-09-27 上午9:16
ads_real Dist1,Dist2;
ads_name Ename,Ename1;
ads_point pt,p1,p2;
AcDbObjectId ObjID,NewID;
AcDbEllipse *pEll;
AcGePoint3d Spt,Ept;
if (acedEntSel("\n请您选取要椭圆对象:",Ename,p1)!=RTNORM)return;
if (acdbGetObjectId(ObjID,Ename)!=eOk)return;
acdbOpenObject(pEll,ObjID,AcDb::kForRead);
Spt=(AcGePoint3d&)pEll->minorAxis();
Ept=(AcGePoint3d&)pEll->majorAxis();
pEll->close();
pt=pt=pt=0;
ads_point_set(asDblArray(Spt),p1);
ads_point_set(asDblArray(Ept),p2);
Dist1=acutDistance(pt,p1);
Dist2=acutDistance(pt,p2);
acutPrintf("\n报告:\n椭圆的长半轴=%fmm\n椭圆的短半轴=%fmm\n编程:BDYCAD <2008-09-27>",Dist2,Dist1);

k19297581 发表于 2008-9-27 11:48:00

谢谢包哥,我试试。

k19297581 发表于 2008-9-27 12:08:00

恩。计算出来了。我当时计算距离的时候直接获取的center,后来发现2个坐标系不一样,得到的距离总是比实际的要大。再次谢谢包哥。
页: [1]
查看完整版本: [求助]哪个函数可以得到椭圆的半径