各位老师好:我现在有个问题想请教大家
问题场景:我想实现在PS里创建的墙梁板柱等基础构件可以通过选择实体、然后选择面的操作
起初我在ABD CE里使用的是LocateSubEntityTool方法,可以拾取CE里的墙 柱等,但是程序放到PS里就不可以了,但是在PS里创建的拉伸体可以实现操作,
请问这块有什么办法可以解决吗,或者有什么例子可供参考吗?提前先谢谢各位老师了,新手,还望不吝赐教~
请提供一个测试DGN供分析。Bentley各专业软件生成的虽然都是DGN,但都做了一些自己的定制,需要分析后才能答复您的问题。
psTest.dgn符老师,你好!附件是我上传的dgn,请查收,里面的墙和柱子都不能拾取,使用Ribbon自带的提取工具也不可以,提示是Element not valid for tool 与使用LocateSubEntityTool时提示的一样,谢谢符老师!
好的 谢谢张老师,非常感谢,还有一个问题,就是我使用LocateSubEntityTool时,我可以得到选择某一个面的点吗,我看SDK里有一个_GetAnchorPoint但是通过这个得到的点再去求出面上的最近点时SolidUtil::ClosestPointToFace总是失败,后来我看这个锚点好像是第一次选择solid时的点,如果我想得到最近点击的面上的点的话 这块我该怎么处理?
能否在_DoLocateSubEntity里面获得?
张老师 我试了使用_DoLocateSubEntity后 不管return true 还是false都不在触发_OnElementModify了,怎么办呢
您是打算做什么操作,_DoLocateSubEntity就是获取子元素的函数,您在里面可以获取您点击子元素的点。LocateSubEntityTool是从ElementGraphicsTool派生下来的,如果是用到ElementGraphicsTool封装的功能,从而重写了其虚函数的话,最好是在这个虚函数里边执行完自己的操作之后通过_super调用一下父类被重写的虚函数,关于LocateSubEntityTool很多您可以搜搜,也可以看看SDK的例子自己调试一下。
好的 张老师 多谢