目前的代码流程如下:
首先,我通过点击获得了一个VertexID,并且把其中一共6个UInt32用纸笔记住。
随后,我用这6个数构造了一个新的VertexID(定义一个变量VertexId然后一个一个填)。
再然后,我用我通过这个VertexID,配合鼠标获得ISolidKernelEntity,最终获取到了点对应的subEntity。
最后,我用过EvaluateVertex试图获取对应的坐标,但是结果返回了ERROR。(但是之前生成VertexId的那个SubEntity是能获取到的)
请问这是什么情况。
测试场景就是一个3dmodel下简单的拉伸实体,然后将实体转换为SmartSolid
不配合鼠标,仅仅就是小一段测试代码去获取是否能成功获取?先获取VertexID,然后直接再通过这个VertexID去获取顶点。
测试了,能够获得对应顶点坐标,但是dependency上下文中确实不可以
对照一下两边有什么不同,肯定不仅仅是dependency环境有无,还有其他不同的地方。可以这样去测试,弄两个命令,一个命令里边提取这个VertexID,保存到一个全局变量,然后再另外一个命令里边通过这个全局变量VertexID去获取一下试试,如果可以的话,那就应该还是您程序代码哪一块有问题,如果不行的话您可以将这两个测试函数提供给我们。
Answer Verified By: lblk dug
非常感谢提供思路,问题已经解决了,从结果来看实际上两个进入Evaluate的函数的ISubEntity不equal,从数据流来看应该是两个进入ElementToBody的elementHandler不一致,但是二者都是用elementid获得的,只不过一个是构造的ElementHandle,另一个是EditElementHandle,感觉问题应该在这里,尚不能肯定