using Bentley.MstnPlatformNET; namespace Mstn.Toolkit.Helpers { /// /// 获取到的内部存储的分辨率值除以对应的UnitHelper中的比值,获取到单位下的数值 /// 新建元素时,需要乘以对应的比值,得到内部存储的分辨率值 /// /// /// /// /// /// public static class UnitHelper { /// /// 分辨率单位与主单位的比值,最常用的值 /// public static double UorPerMas { get; } = Session.Instance.GetActiveDgnModel().GetModelInfo().UorPerMaster; /// /// 分辨率单位与子单位的值 /// public static double UorPerSub { get; } = Session.Instance.GetActiveDgnModel().GetModelInfo().UorPerSub; /// /// 分辨率单位与米的比值,不随主、子单位设置而改变 /// public static double UorMeter { get; } = Session.Instance.GetActiveDgnModel().GetModelInfo().UorPerMeter; /// /// 转为分辨率单位 /// /// /// public static double ToInternal(this double value) { return value * UorPerMas; } /// /// 内部分辨率转为主单位值 /// /// /// public static double ToMasterUnit(this double value) { return value / UorPerMas; } /// /// 内部分辨率转为子单位值 /// /// /// public static double ToSubUnit(this double value) { return value / UorPerSub; } /// /// 内部分辨率转为米 /// /// /// public static double ToMeter(this double value) { return value / UorMeter; } //public static void CreateByKeyin(string unparsed)//Case:CreateByKeyin //{ // Session.Instance.Keyin("PLACE SPHERE ICON;" + // "Point absolute 4.656,-0.087,0.000;" + // "Point absolute 5.523,0.864,0.341" // ); //模拟输入Key-in // Session.Instance.Keyin("PLACE SLAB ICON"); // Session.Instance.Keyin("Point absolute 5.351,2.928,0.000"); // Session.Instance.Keyin("Point absolute 6.778,2.818,-0.936"); // Session.Instance.Keyin("Point absolute 6.205,4.712,1.093"); // Session.Instance.Keyin("Point absolute 0.895,9.718,-7.598"); //} } }