Revit API: 单位转换 UnitUtils

前言

对于从一个单位转换成另一个单位的问题,本质是很简单的,就是一个系数的问题,但是当单位的种类非常多的时候,如果自己编写,工作量就会很大。工作量一大,出错的概率也会随之增加。

内容

实际上,Revit API 提供了对应的转换功能,来进行转换。

namespace Autodesk.Revit.DB
{
    
    
    //
    // 摘要:
    //     A utility class of functions related to units.
    public static class UnitUtils
    {
    
    
        public static double Convert(double value, DisplayUnitType currentDisplayUnit, DisplayUnitType desiredDisplayUnit);
        public static double ConvertFromInternalUnits(double value, DisplayUnitType displayUnit);
        public static double ConvertToInternalUnits(double value, DisplayUnitType displayUnit);
        public static string GetTypeCatalogString(DisplayUnitType displayUnit);
        public static string GetTypeCatalogString(UnitType unitType);
        public static UnitGroup GetUnitGroup(UnitType unitType);
        public static IList<DisplayUnitType> GetValidDisplayUnits(UnitType unitType);
        public static IList<DisplayUnitType> GetValidDisplayUnits();
        public static IList<UnitType> GetValidUnitTypes();
        public static bool IsValidDisplayUnit(UnitType unitType, DisplayUnitType displayUnit);
        public static bool IsValidDisplayUnit(DisplayUnitType displayUnit);
        public static bool IsValidUnitType(UnitType unitType);
    }
}

Revit Units:

  1. Revit 自带的,Revit 内部是用英尺来做最基础的单位,不是用
  2. 这个类提供的转化,包括 Revit 内部几十种单位,并且适应 Revit 的精度,除了极个别情况,这些转化还是很准确的。
  3. 这实际上是个工具类,所以这些都是静态方法。

猜你喜欢

转载自blog.csdn.net/weixin_44153630/article/details/107778370