找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 431|回复: 4

[求助]:请高手帮忙!!!!给点代码吧,跪谢!

[复制链接]
发表于 2004-3-21 22:39:52 | 显示全部楼层 |阅读模式

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

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

×
当你打开一个电脑里已经有的dwg文件后,你怎么样才能获的,这个文件中实体的id????本人是新手,搞了好几天没搞出来,请高手赐教,给点代码,谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-3-21 22:59:24 | 显示全部楼层

ads_name SSName;
acedSSGet("X", NULL, NULL, TextList(), SSName);
struct resbuf* TextList()
{
        struct resbuf* List;       
        List = acutBuildList(
        RTDXF0, "TEXT", // Entity type
        40, 1.0, // Radius
        8, "0", // Layer
        0);       
        return List;
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-3-21 23:06:45 | 显示全部楼层

Re: [求助]:请高手帮忙!!!!给点代码吧,跪谢!

最初由 Jackilin 发布
[B]当你打开一个电脑里已经有的dwg文件后,你怎么样才能获的,这个文件中实体的id????本人是新手,搞了好几天没搞出来,请高手赐教,给点代码,谢谢! [/B]


[PHP]

  long Lensget;
  AcDbObjectId entId;
  AcDbObjectIdArray objIdArray;
  ads_name sget,ename;
  AcGePoint3dArray points;
  if (acedSSGet("X",NULL,NULL,NULL,sget) != RTNORM) return;
  acedSSLength(sget,&Lensget);
  for (int i=0;i<Lensget;i++)
  {
     acedSSName(sget,i,ename);
     acdbGetObjectId(entId,ename);//获得实体ID
     objIdArray.append(entId);//加入实体组
  }
[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-3-22 10:32:03 | 显示全部楼层
我已经打开了电脑里的DWG文件,在AUTOCAD中加载了编写的ARX程序,按照你们给的程序,获得图象实体的id,然后对其进行更改颜色,可是没点反映,这是为什么呢,请两位高手赐教!

另外一个问题是,我现在获得了一个实体组的id,objIdArray,我如何利用这个objIdArray,对我所有找到的实体进行统一更改颜色呢??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-3-22 20:23:52 | 显示全部楼层
最初由 Jackilin 发布
[B]我已经打开了电脑里的DWG文件,在AUTOCAD中加载了编写的ARX程序,按照你们给的程序,获得图象实体的id,然后对其进行更改颜色,可是没点反映,这是为什么呢,请两位高手赐教!

另外一个问题是,我现在获得了一个?.. [/B]

如果你不须要保存实体ID可以不用.
"AcDbObjectIdArray"只是个ID数组.
[php]
  long Lensget;
  AcDbObjectId entId;
  ads_name sget,ename;
  AcGePoint3dArray points;
  if (acedSSGet("X",NULL,NULL,NULL,sget) != RTNORM) return;
  acedSSLength(sget,&Lensget);
  for (int i=0;i<Lensget;i++)
  {
     AcDbEntity *pEntity;
     acedSSName(sget,i,ename);
     acdbGetObjectId(entId,ename);//获得实体ID
     acdbOpenAcDbEntity(pEntity,eId, AcDb::kForWrite);
     pEntity->setColorIndex(30);
     pEntity->close();
  }
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 13:37 , Processed in 0.188335 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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