找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 228|回复: 0

[讨论]:使多义线到序的函数:等待修改入库

[复制链接]
发表于 2003-10-26 15:47:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

  1. bool oxaReversePolyline(ads_name entname)
  2. {
  3.          char *strGet=new char[32];
  4.          AcDbObjectId   idPline;
  5.          if (acdbGetObjectId(idPline, entname)!=Acad::eOk)
  6.          {
  7.                   return ;//false;
  8.          }
  9.          AcDbEntity*  pEnt;       
  10.          if(Acad::eOk!=acdbOpenAcDbEntity(pEnt, idPline, AcDb::kForWrite))
  11.          {
  12.                  return ;//false;
  13.          }
  14.                            
  15.          //判断是不是曲线
  16.          AcDbPolyline  *cvPLine=AcDbPolyline::cast(pEnt);
  17.          if (cvPLine==NULL)//acutPrintf("\n 选择的不是Polyline ");
  18.          {
  19.                  pEnt->close();
  20.                   return ;//false;               
  21.          }
  22.          //
  23.          unsigned int uiNumberTotal=cvPLine->numVerts();
  24.          unsigned int uiNumber=uiNumberTotal/2; // 折半,通过整数相除舍去余数
  25.          uiNumberTotal--;   //修正之,因为index起点是0

  26.          AcGePoint2d ptFront, ptBack;
  27.          double      dBulgeFront, dBulgeBack;
  28.          for(unsigned int index=0;index<uiNumber;index++)
  29.          {   
  30.                  cvPLine->getPointAt(index,ptFront);
  31.                  cvPLine->getBulgeAt(index+1,dBulgeFront);
  32.                  cvPLine->getPointAt(uiNumberTotal-index,ptBack);
  33.                  cvPLine->getBulgeAt(uiNumberTotal-index-1,dBulgeBack);
  34.                   acutPrintf("\n---fBulge=%f ,%f ,",dBulgeFront ,dBulgeBack);

  35.                    cvPLine->setPointAt(index,ptBack);
  36.                    cvPLine->setBulgeAt(index,-dBulgeBack);
  37.                  cvPLine->setPointAt(uiNumberTotal-index,ptFront);
  38.                    cvPLine->setBulgeAt(uiNumberTotal-index+1,-dBulgeFront);
  39.          }

  40.          cvPLine->close();
  41.          pEnt->close();
  42.           return ;//true;
  43. }
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-21 08:08 , Processed in 0.168865 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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