- 积分
- 24210
- 明经币
- 个
- 注册时间
- 2003-7-8
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|

楼主 |
发表于 2003-12-20 22:19:00
|
显示全部楼层
本帖最后由 作者 于 2003-12-21 10:44:47 编辑
问题解决了。代码如下:
struct resbuf *ed;
ed=acutBuildList(-4,"<or",-4,"<and",RTDXF0," olyline",-4,"and>",-4,"<and",RTDXF0,"LWPOLYLINE",-4,"and>",-4,"or>",0);//只选择拟合和未拟合的多线段
if(acedSSGet(NULL,NULL,NULL,ed,ss)!=RTNORM){
acutPrintf("未选择到实体\n");
}else{
acedSSLength(ss,&len);
AcDbObjectId eId;
AcDbObject *pObj;
for(i=0;i<len;i++){
if(acedSSName(ss,i,ent)!=RTNORM) return;
acdbGetObjectId(eId,ent);
acdbOpenObject(pObj,eId, AcDb::kForWrite);
if(pObj->isKindOf(AcDb2dPolyline::desc())){//二维多线段线形生成启用
AcDb2dPolyline::cast(pObj)->setLinetypeGenerationOn();
pObj->close();
}else if(pObj->isKindOf(AcDbPolyline::desc())){//多线段线形生成启用
AcDbPolyline::cast(pObj)->setPlinegen(1);
pObj->close();
}
}
}
acutRelRb(ed);
acedSSFree(ss); |
|