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");
//}
}
}