现象
首先这是一段测试代码,它的内容是随便画一个对象,然后调用cad的command将它删除
可以尝试一下,这段代码跑到中间的时候,会弹出“调用的目标发生了异常”的错误,然后cad的选择集就无法使用了。
原因是cad的选择集不能超过128个,但是可以看到我的代码里加了dispose释放了变量,但是仍然不行,c#也没有提供释放选择集的api。
我尝试使用com接口获取文档中的选择集,发现数量居然是0。
此问题只会在使用 SelectionSet.FromObjectIds 函数时才会出现,使用editor.GetSelection拿到的选择集不会出现此问题。
解决方法
无法解决,只能不用。ed.Command的时候不传选择集,将id一个一个传进去也是一样的
这样要先构建一个commandList,都添加完之后ToArray转为数组再传到editor.Command的参数里
麻烦了那么一点点。
完
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |