找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1200|回复: 4

[ARX函数]:请教各位:关于AcDbSpline的闭合,急!!

[复制链接]
发表于 2002-9-13 09:15:00 | 显示全部楼层 |阅读模式

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

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

×
我在ARX中使用JIG类生成AcDbSpline,但是在闭合的时候没有拟合。我用setFitData()生成的。请教各位,我这样生成闭合的AcDbSpline线是不是不合理?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-9-13 09:18:21 | 显示全部楼层

Re: [ARX函数]:请教各位:关于AcDbSpline的闭合,急!!

最初由 snowpine 发布
[B]我在ARX中使用JIG类生成AcDbSpline,但是在闭合的时候没有拟合。我用setFitData()生成的。请教各位,我这样生成闭合的AcDbSpline线是不是不合理? [/B]


你在对SPLINE使用setClose()方法闭合它就可以了。在你的JIG类里面可以,也可以拖动后,另外做。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-9-16 09:27:38 | 显示全部楼层
setClosed()只适用于AcDbPolyline线,不能用于AcDbSpline。那我该如何实现呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-9-16 11:55:01 | 显示全部楼层
最初由 snowpine 发布
[B]setClosed()只适用于AcDbPolyline线,不能用于AcDbSpline。那我该如何实现呢? [/B]


AcDbSpline里面的 setNurbsData(...)方法里面,可以设置是否封闭。
先getNurbsData(...)得到数据,然后在set回去。

你参考下下面代码:.



  1. [FONT=courier new]

  2. //封闭SPLINE
  3. void setClosed(AcDbSpline *pSpline)
  4. {
  5.         if (!(pSpline))
  6.                 return;
  7.         int         degree;
  8.         Adesk::Boolean  rational;
  9.         Adesk::Boolean  closed;
  10.         Adesk::Boolean  periodic;
  11.         AcGePoint3dArray controlPoints;
  12.         AcGeDoubleArray  knots;
  13.         AcGeDoubleArray  weights;
  14.         double    controlPtTol;
  15.         double    knotTol;
  16.        
  17.         pSpline->getNurbsData(degree, rational, closed, periodic,
  18.                 controlPoints, knots, weights,
  19.                 controlPtTol, knotTol);
  20.        
  21.         if(closed == Adesk::kTrue)
  22.                 return;
  23.        
  24.         closed = Adesk::kTrue;
  25.         pSpline->setNurbsData(degree, rational, closed, periodic,
  26.                 controlPoints, knots, weights,
  27.                 controlPtTol, knotTol);
  28. }
  29. [/FONT]
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-9-16 13:40:14 | 显示全部楼层
XD,这的确是个不错的方法,谢谢你!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 22:22 , Processed in 0.402445 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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