|
发表于 2002-12-2 10:37:00
|
显示全部楼层
插入AcDbDatabase数据库的两种办法:
1、插入已知名的图块:
acdbHostApplicationServices()->workingDatabase()->insert(AcDbObjectId&, /*输出块ID*/
const char * , /*图块名*/
pDb /*新建的AcDbDatabase指针,下同*/);
2、整个数据库插入:
acdbHostApplicationServices()->workingDatabase()->insert(const AcGeMatrix3d&, /*插入后的几何转换矩阵*/
pDb);
另外,输出pDb还有三招:
1、输出全部图形:
pDb->wblock(acdbHostApplicationServices()->workingDatabase());
2、输出命名块:
pDb->wblock(acdbHostApplicationServices()->workingDatabase(),
AcDbObjectId /*已知块ID*/);
3、输出一组实体:
pDb->wblock(acdbHostApplicationServices()->workingDatabase(),
const AcDbObjectIdArray&, /*欲输出实体ID数组*/
const AcGePoint3d* /*插入点*/);
这样只有调用SaveAs()函数才保存。
把一幅图内某个指定范围的图形保留,而删掉不在范围内的图形???我不知道你如何确定要保留的图形(是不是用矢量裁剪算法?),得到这些图形的ID后输出到当前数据库(或新建数据库)并SaveAs不行吗?
总之没看懂。 |
|