- UID
- 67882
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2003-7-28
- 最后登录
- 1970-1-1
|
发表于 2004-11-19 16:54:13
|
显示全部楼层
//晓东代码
AcDbDatabase *pDwg =new AcDbDatabase (Adesk::kFalse) ;
pDwg->readDwgFile ("E:\draw.dwg") ;
AcDbObjectId blockId ;
Acad::ErrorStatus es = acdbHostApplicationServices()->workingDatabase()->insert (blockId, "myfile", pDwg,
Adesk::kFalse) ;
if ( es != Acad::eOk )
acutPrintf ("\n插入块错误.") ;
delete pDwg ;
//上面创建了“名字是myfile的块定义AcDbBlockTableRecord”,
//ObjectId是blockId,接着就可以实例AcDbBlockReference对象,
//创建INSERT实体了。
AcDbBlockReference *pBlkRef =new AcDbBlockReference ;
pBlkRef->setBlockTableRecord (blockId) ;
//---- 设置插入点,旋转角度,比例等等
pBlkRef->setPosition (basePoint) ;
pBlkRef->setRotation (0.0) ;
.......................................
//....最后把上面的块索引对象添加到数据库里面
//获得模型空间块表记录
AcDbBlockTable *pBlockTable ;
acdbHostApplicationServices()->workingDatabase()->getBlockTable (pBlockTable, AcDb::kForRead) ;
AcDbBlockTableRecord *pBlockTableRecord ;
pBlockTable->getAt (ACDB_MODEL_SPACE, pBlockTableRecord,
AcDb::kForWrite) ;
pBlockTable->close () ;
//----- 添加块引用pBlkRef实体到模型空间 |
|