- UID
- 186670
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2004-10-24
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
程序功能:对选择集进行保存为一个文件
问题说明:可对 arc,line,circle,等简单实体进行保存,但不能对 图块进行保存
程序环境:VC6.0+ARX2002+CAD2002
void HYTEST()
{
// 这个程序是用来利用选择到的物体来存成一个文件
// 得到选择集
ads_name ss,en;
int rt;
Acad::ErrorStatus es;
rt=acedSSGet(NULL,NULL,NULL,NULL,ss);
if(rt!=RTNORM)
return;
long len;
acedSSLength(ss,&len);
if(len==0)
return;
// 新建一个 AcDbDatabase 用来存放 Entity
AcDbDatabase *pNewDb=new AcDbDatabase();
AcDbBlockTable *pBlockTable;
pNewDb->getSymbolTable(pBlockTable,AcDb::kForRead);
AcDbBlockTableRecord *pNewMS;
pBlockTable->getAt(ACDB_MODEL_SPACE,pNewMS,AcDb::kForWrite);
pBlockTable->close();
// 将Entity加入到 AcDbDatabase 中
AcDbObjectId eId;
AcDbEntity *pEnt,*pClone;
for(int i=0;i<len;i++){
acedSSName(ss,i,en);
es=acdbGetObjectId(eId,en);
es=acdbOpenAcDbEntity(pEnt,eId,AcDb::kForRead);
pClone=AcDbEntity::cast(pEnt->clone());
pNewMS->appendAcDbEntity(eId,pClone);
pClone->close();
pEnt->close();
}
// 存为 dwg 图档
pNewMS->close();
pNewDb->saveAs("D:\\Save.dwg");
delete pNewDb;
} |
|