老师好,问题如下:
我拟在一个命令中实现先选择一个元素,然后选点的操作。
实现:Class A派生自DgnElementSetTool, Class B派生自DgnPrimitiveTool;
A.InstallTool,A.OnDataButton函数中(1、接受选择,2、A.ExitTool, 3、启动B.InstallTool() )
发现可以进入B.OnPostInstall(), 但就直接退出了,不能选择点。求指导。
不能这么设计。一个工具的所有操作最好都要在一个DgnTool类中实现。选择元素和点选都要在OnDataButton中去做,可通过判断当前的ElementAgenda中是否有元素来推断当前是选中了一个元素还是没有选中。请多读一下SDK例子中有关DgnTool类的相关例子。
Answer Verified By: xiaoping xia
好的,谢谢符老师。C# DgnElementSetTool类可以框选过滤元素吗?
记得以前这个部分是个Bug,只有C++的类能支持框选,但后期某个版本修复了。请选用最新版的MSCE U11应该是支持的。
符老师,再问一下,ElementAgenda怎么用的?GetCount始终为0。.
DgnElementSetTool::LocateOneElement可以在鼠标点附近搜寻元素,搜到的元素会被添加到DgnElementSetTool::ElementAgenda中