找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1539|回复: 17

[ARX程序]:help,如何使一个实体不段闪烁?

[复制链接]
发表于 2002-9-20 07:58:39 | 显示全部楼层 |阅读模式

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

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

×
help me.
我被这个问题困绕了好长时间了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-9-20 08:51:15 | 显示全部楼层
如果说是“虚显”,那么用AcDbEntity::setHighlight(..),如果要不停的闪烁,没有什么太好的方法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-9-20 09:37:56 | 显示全部楼层
当然是不停的闪啦
XD,帮帮忙喽,想想办法。。我才用ARX不久。。

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

使用道具 举报

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-9-22 15:25:13 | 显示全部楼层
最初由 fming 发布
[B]可用定时器呀 [/B]


闪的同时还要做别的啊,需要建立新进程。这个不是ARX的方法,用VC想办法吧,不过,有这个必要吗? 虚显也就可以了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-9-22 20:02:29 | 显示全部楼层
用了多线程,而且也用过定时器,都不好使!!

总是在设置实体可见性那句上出错。是内存地址错误!!

而把show 和unshow 用命令方式在命令行上敲入时,显与不显都好使!!

不知道为什么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-9-23 12:58:41 | 显示全部楼层
这个活儿呀,可不可行得看你在Timer或线程各种共享打开读/写问题处理得怎么样。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-9-23 16:29:12 | 显示全部楼层

  1. [FONT=courier new]
  2. void flashId(AcDbObjectIdArray ridObj)
  3. {
  4.         int len,i;
  5.         len=ridObj.length();
  6.         if(len<1)
  7.         {return;}
  8.         else
  9.         {
  10.                 AcDbEntity *ent;

  11.                 AcTransaction* pTrans=actrTransactionManager->startTransaction();

  12.                 DWORD dwCount=GetTickCount();
  13.                 while(!ads_usrbrk())//acedUsrBrk())
  14.                 {
  15.                         DWORD ndwCount;
  16.                         for(i=0;i<len; i++)
  17.                         {
  18.                                 if(pTrans->getObject((AcDbObject*&)ent, ridObj[i],  AcDb::kForWrite)!=Acad::eOk )
  19.                                 {
  20.                                         actrTransactionManager->endTransaction();
  21.                                         return;
  22.                                 }
  23.                                
  24.                                 ent->highlight();
  25.                                 acedUpdateDisplay();
  26.                         }
  27.                                 ndwCount=GetTickCount();
  28.                                 while(1)//acedUsrBrk())
  29.                                 {
  30.                                         if(GetTickCount()-ndwCount>=100)
  31.                                                 break;      
  32.                                        
  33.                                 }
  34.                        
  35.                         for(i=0;i<len; i++)
  36.                         {       
  37.                                 if(pTrans->getObject((AcDbObject*&)ent, ridObj[i],  AcDb::kForWrite)!=Acad::eOk )
  38.                                 {
  39.                                         actrTransactionManager->endTransaction();
  40.                                         return;
  41.                                 }
  42.                                
  43.                                 ent->unhighlight();
  44.                                 acedUpdateDisplay();
  45.                         }
  46.                                 ndwCount=GetTickCount();
  47.                
  48.                                 while(1)//acedUsrBrk())
  49.                                 {
  50.                                         if(GetTickCount()-ndwCount>=100)
  51.                                                 break;      
  52.                                        
  53.                                 }
  54.                        
  55.                        
  56.                
  57.                         if(GetTickCount()-dwCount>=500)
  58.                                 break;      
  59.                 }
  60.                 actrTransactionManager->endTransaction();
  61.         }

  62. }[/FONT]
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-9-25 18:53:30 | 显示全部楼层
最初由 megranate 发布
[B]非常感谢!!XDSoft [/B]


应该谢NONAME,我只是编辑了下帖子,让代码格式缩进便于读而已。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-10-8 18:31:41 | 显示全部楼层
我一直在找这样程序,我看过别人实现过,不知noname的代码是否可行?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2002-10-12 12:05:35 | 显示全部楼层
打开实体,用ACEDGRDRAW重画实体(设置参数可以将颜色改变),用一个循环不断的用ACGEREDRAW生成,然后用REDRAW重画,便可实现变色闪烁,最后将实体关闭
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-10-12 12:21:28 | 显示全部楼层
最初由 wmao 发布
[B]打开实体,用ACEDGRDRAW重画实体(设置参数可以将颜色改变),用一个循环不断的用ACGEREDRAW生成,然后用REDRAW重画,便可实现变色闪烁,最后将实体关闭 [/B]


你这个方法不好,那就什么都不能干了,看着它闪着玩:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 17:50 , Processed in 0.496618 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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