您好,
關於 UorPerMaster與UorPerMeter有何區別?
請問何時使用 UorPerMaster or orPerMeter ?
例如 OPM 與 ORD使用的working unit (Master unit定義)不同, 應該要如何使用.
謝謝
下图所示的地方就是主单位,主单位设置成Meters(如图所示)的话这两个值就是一样的,C#新的编程框架以及NativeCode的编程接口参数都是以Uor为单位的,也就是说如果您要构造一个1m,0,0的坐标的话,需要这样构造new DPoint3d(1*uorPerMeter,0,0)。
Answer Verified By: Afa Lin
uorPerMeter如下图:
uorPerMaster :主单位,即MasterUnit,ORD默认单位为米。
取得当前单位和米的比例: uorPerMeter / uorPerMaster
這是OPM的working unit, 座標該用哪一個?
例如,在OPM dgn查詢(element information)的座標是1200,1300,1500
, 我在C#取得的作標值是1200000,1300000,1500000
那是否就不需再乘UorPerMeter值?
您看他的uorPerMeter 是1000,您看看从代码得出来的是1200000,那么除以1000就是1200,所以就对应上了。
Afa Lin said:我在C#取得的作標值是1200000,1300000,1500000
特请注意一点:在用C#编程时有两个编程对象模型,一个是原来的VBA/COM(或叫Interop,互操作)模型,一个是供.NET使用的模型。
在VBA/COM模型中,你取到的坐标就是主单位坐标,和软件中直接看到的是一致的。但在.NET模型中,取得的是UOR(Unit Of Resolution)单位,需要除以UorPerMaster得到和软件中直接看到的一致的效果。