jh_dempsey 发表于 2021-3-17 13:24:14

使用ObjectIdGraph清除命令

嗨所有
我有一个脚本,打开内存中的DWG文件(即不是在autocad编辑器)。我想对那些DWG文件运行清除命令
数据库有两个选项。Purge命令,看起来我想要的将是使用ObjectIdGraph作为其输入的命令。guid = OARX-ManagedRefGuide-Autodesk _ AutoCAD _ Database services _ Database _ Purge _ ObjectIdGraph
我的问题是,您从哪里获得或者如何创建objectid graph以传递给此函数?
我想清除整个DWG文件
许多其他关于清除命令的帖子都提到了它,但是它们似乎都没有说明如何实际使用它,以及输入来自哪里!
https://www . the swamp . org/index . PHP?topic = 25880 . msg 311824 # msg 311824
**** Hidden Message *****

MickD 发表于 2021-3-17 22:22:14


说它是返回的有点误导,但我猜测的是,您传入了ObjectdGraph,并且purge方法用项目填充它(修改它),以便您有选择地进行清除:
我认为“其他”清除在大多数情况下可能足够好<如我所说,大部分是猜测,没有测试

jh_dempsey 发表于 2021-3-18 06:41:05

我尝试传入一个空图,然后我得到了一个空图(我知道我测试它的数据库有一些可以清除的层)
所以你确实需要传给它一个要检查的对象列表,就像“其他”清除命令一样

MickD 发表于 2021-3-18 18:55:29

也许可以尝试遍历ObjectIdCollection,将它们添加到您创建的ObjectIdGraph中,然后可以将其传递给Purge?    objectid graph oig = new objectid graph();。

foreach(myObjectIdCollection中的变量id){ 。
oig,AddNode(新ObjectIdGraphNode(id));。
}。
页: [1]
查看完整版本: 使用ObjectIdGraph清除命令