- 通常vs中直接输入的数字在编译过后,写入revit中是以英制单位,例如输入10则为10ft,换算在revit中显示为10*304.8=3048mm。
以如下代码实现单位换算:
double a = UnitUtils.Convert(1,DisplayUnitType.DUT_METERS,DisplayUnitType.DUT_DECIMAL_FEET);
double b= UnitUtils.Convert(5, DisplayUnitType.DUT_METERS, DisplayUnitType.DUT_DECIMAL_FEET);
上图中定义a,b两个变量,1为1m,单位以第二部分定义,为我输入的想要得到的revit中显示1m长,换算的则是vs中编译的revit所识别的ft单位。
附:
//英尺到米
double d = UnitUtils.Convert(value, DisplayUnitType.DUT_DECIMAL_FEET, DisplayUnitType.DUT_METERS);
//英尺到毫米
double d = UnitUtils.Convert(value,DisplayUnitType.DUT_DECIMAL_FEET,DisplayUnitType.DUT_MILLIMETERS);
//平方英尺到平方米
double d = UnitUtils.Convert(value, DisplayUnitType.DUT_SQUARE_FEET, DisplayUnitType.DUT_SQUARE_METERS);
//立方英尺到立方米
double d = UnitUtils.Convert(value, DisplayUnitType.DUT_CUBIC_FEET, DisplayUnitType.DUT_CUBIC_METERS);