Программный доступ к настройкам размеров воздуховодов
Программный доступ к размерам воздуховода
Небольшой пост о том как добраться до размеров воздуховодов через API.
Информацией поделился наш MEP эксперт Мартин Шмид (Martin Schmid):
Я недавно слышал от парочки разработчиков, что есть некоторые трудности с доступом к настройкам размеров воздуховодов в Revit.
В интерфейсе вы можете их увидеть выбрав Управление > Настройки MEP > Настройки систем ОВиВК > Прямоугольник/Овал/Круг
Я быстренько накидал макрос для себя… может быть полезно его опубликовать, чтобы другие могли найти решение.
Я думаю это отличная идея и я полностью согласен с Мартином. Так, я реализовал внешнюю команду ListDuctSizes, в которой я вызываю предложенный Мартином метод:
- /// <summary>
- /// List all duct sizes, thus proving that the duct
- /// size settings available in the Revit UI through
- /// Manage > MEP Settings > Mechanical Settings >
- /// Duct Settings > Round/Oval/Rectangular are
- /// indeed available via the API.
- /// </summary>
- void ListDuctSizes( Document doc )
- {
- DuctSizeSettings settings
- = DuctSizeSettings.GetDuctSizeSettings( doc );
- foreach( KeyValuePair<DuctShape, DuctSizes> pair
- in settings )
- {
- Debug.Print( pair.Key.ToString() );
- foreach( MEPSize size in pair.Value )
- {
- string value = FormatUtils.Format( doc,
- UnitType.UT_HVAC_DuctSize,
- size.NominalDiameter );
- Debug.Print(
- " {0}: used in size lists/sizing: {1}/{2}",
- value,
- size.UsedInSizeLists.ToString(),
- size.UsedInSizing.ToString() );
- }
- }
- }
Ниже представлен пример из окна вывода Visual Studio, который генерируется командой.
Round3": used in size lists/sizing: True/True4": used in size lists/sizing: True/True4": used in size lists/sizing: True/True...88": used in size lists/sizing: True/True90": used in size lists/sizing: True/TrueRectangular3": used in size lists/sizing: True/True4": used in size lists/sizing: True/True4": used in size lists/sizing: True/True...94": used in size lists/sizing: True/True96": used in size lists/sizing: True/TrueOval3": used in size lists/sizing: True/True4": used in size lists/sizing: True/True5": used in size lists/sizing: True/True...143": used in size lists/sizing: True/True144": used in size lists/sizing: True/True
И в завершении архив с полным кодом и проектом для Visual Studio.
Огромное спасибо Мартину за предоставленный пример.
Источник: http://thebuildingcoder.typepad.com/blog/2013/10/programmatic-access-to-duct-sizes.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=237
Опубликовано 08.10.2013Отредактировано 08.10.2013 в 10:05:25