whyangdong 发表于 2003-4-29 17:14:00

请教错在那里

if(acedSSGet(NULL,NULL,NULL,&eb1,ssname)==RTNORM)
   {   
           acdbGetObjectId(pId,ssname); //得到实体的id号
       AcDbPoint *pPoint;
           acdbOpenObject(pPoint,pId,AcDb::kForRead); //打开点实体
用eb1过滤选择点实体,将实体名转换成id,用id打开点实体为什么就会出错,请指教
本人菜鸟级人物,别见笑

goldenshin 发表于 2003-4-30 17:22:00

acedSSGet得到的是选择集

JicketMoney 发表于 2003-4-30 18:45:00

遍历选择集

本帖最后由 作者 于 2003-4-30 18:45:41 编辑

if(acedSSGet(NULL,NULL,NULL,&eb1,ssname)==RTNORM)
{   
    long length;
    acedSSLength(ssname, &length);
    for (int i = 0; i < length; i++) {
      ads_name ent;
      acedSSName(ssname, i, ent);
      AcDbObjectId objId;
      acdbGetObjectId(objId, ent);
      ......
    }
}
// 应该补上
acedSSFree(ssname);
页: [1]
查看完整版本: 请教错在那里