При разработке плагинов для Revit сталкиваюсь с различными неожиданными результатами, которые больше похожи на обычные баги. О таких багах желательно знать заранее.
Сегодня расскажу о ориентации витража.
Итак, ориентация стены представлена единичным вектором, указывающим направление внешней грани стены и представлена свойством Wall.Orientation.
Создадим простую стену, указав точки слева на право. Внешняя сторона расположена слева по направляющей кривой (при условии, что стене не меняли ориентацию стены). С этой стороны стены также размещается кнопка смены ориентации стены в виде двух разнонаправленных стрелок:
Используя Revit Lookup убедимся, что ориентация стены представлена вектором (0, 1, 0):
Теперь сменим ориентацию стены, нажав соответствующую кнопку:
И убедимся, что ориентация представлена вектором (0, -1, 0). При этом свойство Flipped (переводится как «перевернутый») станет равным true, что значит ориентацию стены изменили:
А теперь создадим витраж, также указывая точки слева на право:
Сразу обратим внимание, что кнопка смены ориентации находится справа по направляющей стены. И если мы посмотрим свойства, то увидим, что ориентации представлена вектором (0, -1, 0), хотя свойство Flipped равно false:
И если мы теперь сменим ориентацию витража (Flipped = true), то вектор ориентации неожиданно не изменится и останется равным (0, -1, 0):
Так что если вы будете решать какую-то задачу, связанную с определением ориентации стен (обычно для расчетов инсоляции или теплорасчетов), учитываете вот такую работу витража в Revit