【C# ORD中国版】CimGraphicObject.OnMoveGripPointsAt方法获取到的offset向量如何从视图坐标转变到全局坐标

在Cim对象子类中重写父类的OnMoveGripPointsAt,在方法内可以获取到夹点移动的当前位置相对夹点的原始位置的向量offset。

但是有个问题就是,该向量是在视图中的向量,而不是全局的向量,以下图为例。

两个立方体在X方向相差20000,当我移动左边的立方体并通过精确绘图向右移动到20000,0,0的位置时,获取到的offset如下所示

图中左下角红框内为方法内获取的offset值,中间红框为基础实际的夹点移动位置,右下角的红框内为精确绘图捕捉到的实际的全局坐标的移动值。

当视图旋转到不同位置时,鼠标夹点在同一位置获取到的offset值也有不同,当从正视图(顶、前等视图),获取到的offset和实际鼠标捕捉到的向量也不一致,如下图

我也尝试通过Session.GetActiveViewport().GetRotation()获取视图的旋转矩阵,然后利用矩阵的Mutiply将向量和矩阵相乘,得到的新向量会将Z值变成零,XY是一个新的数,但仍然不是20000和0,如下图中上边的是offset,下边的乘完视图的旋转矩阵的。

所以请问我在OnMoveGripPointsAt方法内如何操作才能从视图获取的offset向量15141.31,-7446.5392,4256.27获取到全局的移动向量20000,0,0?

或者是否有什么开放的类型,类似状态机中的DgnButtonEvent类型,可以获取鼠标当时的位置?