欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Revit API: 单位转换 UnitUtils

程序员文章站 2022-06-10 23:33:31
...

前言

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

内容

实际上,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. 这实际上是个工具类,所以这些都是静态方法。
相关标签: Revit API