您好,
關於 UorPerMaster與UorPerMeter有何區別?
請問何時使用 UorPerMaster or orPerMeter ?
例如 OPM 與 ORD使用的working unit (Master unit定義)不同, 應該要如何使用.
謝謝
uorPerMeter如下图:
uorPerMaster :主单位,即MasterUnit,ORD默认单位为米。
取得当前单位和米的比例: uorPerMeter / uorPerMaster
Answer Verified By: Afa Lin
這是OPM的working unit, 座標該用哪一個?
例如,在OPM dgn查詢(element information)的座標是1200,1300,1500
, 我在C#取得的作標值是1200000,1300000,1500000
那是否就不需再乘UorPerMeter值?
Afa Lin said:我在C#取得的作標值是1200000,1300000,1500000
特请注意一点:在用C#编程时有两个编程对象模型,一个是原来的VBA/COM(或叫Interop,互操作)模型,一个是供.NET使用的模型。
在VBA/COM模型中,你取到的坐标就是主单位坐标,和软件中直接看到的是一致的。但在.NET模型中,取得的是UOR(Unit Of Resolution)单位,需要除以UorPerMaster得到和软件中直接看到的一致的效果。
符老师,.NET中根据 uorPerMeter / uorPerMaster的值可以确定当前主单位的单位是米还是毫米,请问获取主单位的单位还有其他方法吗?VBA或者.NET中.
Unit下的属性Label能表明当前主单位是米还是毫米。参考如下VBA代码:
好的,多谢符老师。
您的代码中的SaveSettings,对应C#中的哪个方法呢?
仿照您的设置,改写成c#中后,设置能生效,但是属性面板中的值当时不会更新,要切换模型来强制刷新才能看到更新后的值。
Bentley.MstnPlatformNET.InteropServices.Utilities.ComApp.SaveSettings()
谢谢,但是调用这个方法后,设置虽然生效了,但是属性面板中的值仍然是原来的,如下图,实际单位通过代码可以看到此时已经把主单位设置成毫米了,但是这个面板中仍然是设置之前的样子。
属性面板关掉重新打开还是这样?
谢谢,重新打开显示刷新了