明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1624|回复: 2

如何修改已经存在的PLINE 中的圆弧的半径

[复制链接]
发表于 2007-8-27 21:06:00 | 显示全部楼层 |阅读模式

各位达人好:

小弟我初学ARX,遇到一个关于修改已经存在的PLINE 中的圆弧的半径的问题。

现假设已经得到它的ads_name是ss,

es = acdbGetObjectId(PolyId, ss);
 es = acdbOpenAcDbEntity(pEnt, PolyId, AcDb::kForWrite);
 AcDbPolyline *pPoly = AcDbPolyline::cast(pEnt);

 int numVer = pPoly->numVerts();

 pEnt->close();
 
 AcGeCircArc2d arc;
 double budge;

double radius = 200;
 
 for (int i=0; i<numVer; i++)
 {
  es = pPoly->getBulgeAt(i, budge);
  if (budge)
  {
   pPoly->getArcSegAt(i, arc);
   arc.setRadius(radius);
   pPoly->reset(Adesk::kTrue, i);
  }
 }

调试没有错误,但问题就是执行的时候,并没有达到修改圆弧半径的目的,不知道为什么,望各位大哥大姐尽快的帮帮忙,这真的关系到小弟我一生的幸福!我这几天都块急疯了!

发表于 2007-8-28 08:54:00 | 显示全部楼层
用AcDbPolyline::setBulgeAt(unsigned int index,double bulge)
 楼主| 发表于 2007-8-28 12:47:00 | 显示全部楼层

在pline中凸度被定义为顶点与下一点所形成的弧的角度的1/4的正切值,所以这样看起来好像通过修改凸度是不能改变圆弧的半径的!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 17:52 , Processed in 0.166215 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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