乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 47|回复: 2

如何实现将我新建的AcdbDatabase插入到当前图形

[复制链接]

11

主题

36

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2002-12-1 15:54:00 | 显示全部楼层 |阅读模式
如何实现将我新建的AcdbDatabase插入到当前图形,但不允许将图形保存到dwg图形;
或者说:我想把一幅图内某个指定范围的图形保留,而删掉不在范围内的图形???
回复

使用道具 举报

14

主题

230

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
286
发表于 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不行吗?
总之没看懂。
回复

使用道具 举报

14

主题

230

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
286
发表于 2002-12-5 11:21:00 | 显示全部楼层
实际上,只要你不调用SaveAs()或save(),图形将不会保存,若ACAD窗口中没显示,用acedCommand()执行一次REDRAW试试。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 05:58 , Processed in 0.142075 second(s), 58 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表