/// <summary> /// Initializes a new instance of ProjectUnitData /// </summary> /// <param name="units">an object of Autodesk.Revit.DB.Units</param> public ProjectUnitData(Autodesk.Revit.DB.Units units) { m_unitType_formatOptions.Clear(); m_units = units; foreach (Autodesk.Revit.DB.UnitType unittype in Enum.GetValues(typeof( Autodesk.Revit.DB.UnitType))) { try { Autodesk.Revit.DB.FormatOptions formatOptions = m_units.GetFormatOptions(unittype); m_unitType_formatOptions.Add(unittype, formatOptions); m_unitType_label.Add(unittype, Autodesk.Revit.DB.LabelUtils.GetLabelFor(unittype)); } catch { continue; } } m_decimalSymbol = units.DecimalSymbol; m_digitGroupingSymbol = units.DigitGroupingSymbol; m_digitGroupingAmount = units.DigitGroupingAmount; foreach (Autodesk.Revit.DB.DisplayUnitType displayunittype in Enum.GetValues(typeof( Autodesk.Revit.DB.DisplayUnitType))) { try { m_displayUnitType_label.Add(displayunittype, Autodesk.Revit.DB.LabelUtils.GetLabelFor(displayunittype)); } catch { continue; } } foreach (Autodesk.Revit.DB.UnitSymbolType unitsymboltype in Enum.GetValues(typeof( Autodesk.Revit.DB.UnitSymbolType))) { try { m_unitSymbolType_label.Add(unitsymboltype, Autodesk.Revit.DB.LabelUtils.GetLabelFor(unitsymboltype)); } catch { if (unitsymboltype == Autodesk.Revit.DB.UnitSymbolType.UST_NONE) { m_unitSymbolType_label.Add(unitsymboltype, "(NONE)"); } continue; } } }
/// <summary> /// Get current length display unit type /// </summary> private void GetLengthUnitType() { UnitType unitType = UnitType.UT_Length; Units projectUnit = m_document.GetUnits(); try { Autodesk.Revit.DB.FormatOptions formatOption = projectUnit.GetFormatOptions(unitType); m_LengthUnitType = formatOption.DisplayUnits; } catch (System.Exception /*e*/) { m_LengthUnitType = DisplayUnitType.DUT_DECIMAL_FEET; } }
/// <summary> /// Get current length display unit type /// </summary> /// <param name="document">Revit's document</param> /// <returns>Current length display unit type</returns> private static ForgeTypeId GetLengthUnitType(Document document) { ForgeTypeId specTypeId = SpecTypeId.Length; Units projectUnit = document.GetUnits(); try { Autodesk.Revit.DB.FormatOptions formatOption = projectUnit.GetFormatOptions(specTypeId); return(formatOption.GetUnitTypeId()); } catch (System.Exception /*e*/) { return(UnitTypeId.Feet); } }
/// <summary> /// Get current length display unit type /// </summary> /// <param name="document">Revit's document</param> /// <returns>Current length display unit type</returns> private static DisplayUnitType GetLengthUnitType(Document document) { UnitType unittype = UnitType.UT_Length; Units units = document.GetUnits(); try { Autodesk.Revit.DB.FormatOptions formatOption = units.GetFormatOptions(unittype); return(formatOption.DisplayUnits); } catch (System.Exception /*e*/) { return(DisplayUnitType.DUT_DECIMAL_FEET); } }
/// <summary> /// Get current length display unit type /// </summary> /// <param name="document">Revit's document</param> /// <returns>Current length display unit type</returns> private static DisplayUnitType GetLengthUnitType(Document document) { UnitType unittype = UnitType.UT_Length; ProjectUnit projectUnit = document.ProjectUnit; try { Autodesk.Revit.DB.FormatOptions formatOption = projectUnit.get_FormatOptions(unittype); return(formatOption.Units); } catch (System.Exception /*e*/) { return(DisplayUnitType.DUT_DECIMAL_FEET); } }
/// <summary> /// Get current length display unit type /// </summary> private void GetLengthUnitType() { ForgeTypeId specTypeId = SpecTypeId.Length; Units projectUnit = m_document.GetUnits(); try { Autodesk.Revit.DB.FormatOptions formatOption = projectUnit.GetFormatOptions(specTypeId); m_LengthUnit = formatOption.GetUnitTypeId(); } catch (System.Exception /*e*/) { m_LengthUnit = UnitTypeId.Feet; } }
/// <summary> /// Initializes a new instance of ProjectUnitData /// </summary> /// <param name="projectUnit">an object of Autodesk.Revit.DB.projectUnit</param> public ProjectUnitData(Autodesk.Revit.DB.ProjectUnit projectUnit) { m_formatOptionList.Clear(); m_projectUnit = projectUnit; foreach (Autodesk.Revit.DB.UnitType unittype in Enum.GetValues(typeof( Autodesk.Revit.DB.UnitType))) { try { Autodesk.Revit.DB.FormatOptions formatOption = m_projectUnit.get_FormatOptions(unittype); } catch (System.Exception /*e*/) { continue; } if (m_projectUnit.get_FormatOptions(unittype) == null) { continue; } m_formatOptionList.Add(m_projectUnit.get_FormatOptions(unittype)); } }
/// <summary> /// set the format options for special unit type. /// </summary> public void SetFormatOptions(Autodesk.Revit.DB.UnitType unitType, Autodesk.Revit.DB.FormatOptions options) { m_units.SetFormatOptions(unitType, options); m_unitType_formatOptions[unitType] = options; }