明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2864|回复: 7

请教一个删除实体的问题

  [复制链接]
发表于 2005-8-14 15:48:00 | 显示全部楼层 |阅读模式

想每次画图的时候先清除当前画的所有的图(这些图已经被我事先加入到了块表记录中了),编写了如下代码:

 if(acedSSGet("A",NULL,NULL,NULL,ssname)==RTNORM);
 {
  acedSSLength(ssname,&len);
  for(i=0;i<len;i++)
  {
   acedSSName(ssname,i,ent);
   acdbGetObjectId(entId,ent);
   acdbOpenObject(pEnt,entId,AcDb::kForWrite);
   pEnt->erase();
  }
   pEnt->close();
  acedSSFree(ssname);
 }

好象不能实现删除的功能,这是为什么呀?

后来尝试了一下acedSSDel()也还是不行,盼好人指点迷津!

 楼主| 发表于 2005-8-14 21:34:00 | 显示全部楼层
咋没人回答呢?
发表于 2005-8-14 21:58:00 | 显示全部楼层

出什么问题?按理说pEnt-close()应该紧接着pEnt->erase();

另外,最好在遍历图形数据库的时候删除实体。

 

发表于 2005-8-15 00:39:00 | 显示全部楼层

if(acedSSGet("A",NULL,NULL,NULL,ssname)==RTNORM);
 {
  acedSSLength(ssname,&len);
  for(i=0;i<len;i++)
  {
   acedSSName(ssname,i,ent);
   acdbGetObjectId(entId,ent);
   acdbOpenObject(pEnt,entId,AcDb::kForWrite, false);
   pEnt->erase();

pEnt->close();
  }
   
  acedSSFree(ssname);
 }

 楼主| 发表于 2005-8-15 12:36:00 | 显示全部楼层

果然是pEnt->close();放的位置不对

谢谢两位版主热心解答!

发表于 2005-9-29 18:24:00 | 显示全部楼层
啊?!为什么呢?
发表于 2006-8-10 17:09:00 | 显示全部楼层
wuwu,,我打开一个实体的时候,acdbOpenObject(pEnt,entId,AcDb::kForWrite, false),返回总是说已经用read模式打开,我该怎么解决阿?帮帮我吧
发表于 2006-8-11 11:53:00 | 显示全部楼层

请问如何删除指定的实体啊?

 

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

本版积分规则

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

GMT+8, 2024-11-25 23:22 , Processed in 0.185366 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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