明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1857|回复: 3

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

[复制链接]
发表于 2008-9-26 15:37:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2008-9-26 15:40:15 编辑

     CAD面板上显示的椭圆的长半轴和短半轴怎么得到?用哪个函数??在椭圆类里找了半天也没找到。。请版主帮帮忙。。谢谢!
发表于 2008-9-27 09:17:00 | 显示全部楼层
  1. //编程:包达勇
  2. //2008-09-27 上午9:16
  3.   ads_real Dist1,Dist2;
  4.   ads_name Ename,Ename1;
  5.   ads_point pt,p1,p2;
  6.   AcDbObjectId ObjID,NewID;
  7.   AcDbEllipse *pEll;
  8.   AcGePoint3d Spt,Ept;
  9.   if (acedEntSel("\n请您选取要椭圆对象:",Ename,p1)!=RTNORM)return;
  10.   if (acdbGetObjectId(ObjID,Ename)!=eOk)return;
  11.   acdbOpenObject(pEll,ObjID,AcDb::kForRead);
  12.   Spt=(AcGePoint3d&)pEll->minorAxis();
  13.   Ept=(AcGePoint3d&)pEll->majorAxis();
  14.   pEll->close();
  15.   pt[X]=pt[Y]=pt[Z]=0;
  16.   ads_point_set(asDblArray(Spt),p1);
  17.   ads_point_set(asDblArray(Ept),p2);
  18.   Dist1=acutDistance(pt,p1);
  19.   Dist2=acutDistance(pt,p2);
  20.   acutPrintf("\n报告:\n椭圆的长半轴=%fmm\n椭圆的短半轴=%fmm\n编程:BDYCAD <2008-09-27>",Dist2,Dist1);
复制代码
 楼主| 发表于 2008-9-27 11:48:00 | 显示全部楼层
谢谢包哥,我试试。
 楼主| 发表于 2008-9-27 12:08:00 | 显示全部楼层
恩。计算出来了。我当时计算距离的时候直接获取的center,后来发现2个坐标系不一样,得到的距离总是比实际的要大。再次谢谢包哥。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 15:55 , Processed in 0.187220 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表