明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1147|回复: 3

ObjectArx通过无模式对话框得到实体的属性

[复制链接]
发表于 2011-5-18 11:51:51 | 显示全部楼层 |阅读模式
我做了一个无模式对话框,有一个“拾取”按钮,点击这个按钮,执行以下函数,控制权到AutoCAD,拾取一个直线实体,得到该实体的一些属性,但是AutoCAD马上就崩溃了,出现“致命错误:Unhandled Access Violation Reading 0x0000 Exception at 52760cfh”。而且执行到 pEntity->setColorIndex(200);也同样崩溃。请教大师们指导,非常感谢!!但是我用模式对话框的时候就不会导致AutoCad崩溃。
void CCad2NcDialog::OnBnClickedButtonPick()
{
  acedGetAcadDwgView()->SetFocus();
ads_name entName;
ads_point pt;
AcGePoint3d ptStart,ptEnd,ptCenter;
int errNo=0;
//获取一个实体
     do{
          errNo = acedEntSel(_T("\n请拾取要转换为G代码的实体:"),entName,pt);
          if(errNo == RTNORM)
          {
               //获取选择对象的指针,entityId是一个全局的ID号变量
             Acad::ErrorStatus es=acdbGetObjectId(entityId,en);
             if(es != Acad::eOk) return FALSE;
             AcDbEntity *pEntity;
            es = acdbOpenAcDbEntity(pEntity,entityId,AcDb::kForWrite);
            //改变实体的颜色
            // pEntity->setColorIndex(200);
             //判断选择的对象是否是圆弧
             if((!pEntity->isKindOf(AcDbArc::desc())) && (!pEntity->isKindOf(AcDbLine::desc())))
             {
              pEntity->close();
              return FALSE;
             }
          }
     }while(TRUE);
}

 楼主| 发表于 2011-5-18 14:48:46 | 显示全部楼层
问题已解决!
发表于 2011-5-18 17:02:19 | 显示全部楼层
不说一下,怎么解决的?你的代码怎么没有BeginEditCommand??
发表于 2011-5-19 17:24:38 | 显示全部楼层

null

没锁定距图形吧???
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 04:30 , Processed in 0.172449 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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