各位老师打扰了,由于项目需求,涉及改动工具类的操作流程。需要一个工具类继承LocateSubEntityTool,实现可以批量选择多个体,再选择这些体上的点/线/面,再对这些点/线/面进行处理。
而LocateSubEntityTool的默认行为是只能选择一个体,再选择其包含的点线面,这样导致功能具有局限性,不能对多个体上的点,线,面进行统一处理。
因此想重写_OnDataButton函数,来改变该工具的操作流程。
想知道Bentley是否开放工具类的源码? 比如类似DgnElementSetTool,LocateSubEntityTool 这些涉及操作流程的工具类,是否可以查看其成员函数_OnDataButton的函数体具体是怎么实现的?
提前感谢
抱歉,这些源码是不提供的,您可以重写一下LocateSubEntityTool::_OnDataButton,在重写的函数里边,先调用基类的实现,基类的实现会将定位到的元素放到GetElementAgenda返回的集合里边,拾取到的面,边,顶点会放到GetAcceptedSubEntities返回到容器里边。您可以在自己重写的_OnDataButton函数里边将这些保存在自己定义的成员变量里边,然后返回继续让用户选择第二组,先好后和自己保存的第一组数据一块处理就可以了。
Answer Verified By: mkt
HongQiang Guo said:您可以在自己重写的_OnDataButton函数里边将这些保存在自己定义的成员变量里边,然后返回继续让用户选择第二组,先好后和自己保存的第一组数据一块处理就可以了。
请看这一句话。
佩服,谢谢郭工