CurtainWall Host

Автор Тема: CurtainWall Host  (Прочитано 7056 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн enotАвтор темы

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: CurtainWall Host
« Ответ #15 : 15-08-2019, 15:30:34 »
Разверните задачу, пройдитесь по стенам в проекте, найдите вставленные в них витражи, соберите новый кортеж - (витраж, родительская стена)

Финальный вопрос : если мне конкретно витражи нужны , то стоит ли в свойстве FinInserts для addRectOpenings поставить false (насколько я понимаю здесь будет поиск дверей и окон)

 
Цитировать
IList<ElementId> FindInserts(
   bool addRectOpenings,
   bool includeShadows,
   bool includeEmbeddedWalls,
   bool includeSharedEmbeddedInserts
)

т.е. для ускорения поиска вставленных витражей производить поиск так : FindInserts(false, false, true, false) ?

------------------------------------------------------------------------
ps постфинальный вопрос includeSharedEmbeddedInserts - что это...  :-\

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: CurtainWall Host
« Ответ #16 : 15-08-2019, 15:57:05 »
т.е. для ускорения поиска вставленных витражей производить поиск так : FindInserts(false, false, true, false) ?

Да

ps постфинальный вопрос includeSharedEmbeddedInserts - что это...  :-\

Например, вент.фасады моделируют отдельной параллельной стеной и объединяют геометрию этих 2 стен. В этом случае, дверь или окно также прорезает стену, моделирующую вент.фасад. При запуске FindInserts на вент.фасадной стенке будут найдены экземпляры семейств, у которых host не совпадает с этой стеной

Оффлайн enotАвтор темы

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: CurtainWall Host
« Ответ #17 : 15-08-2019, 16:09:07 »
При запуске FindInserts на вент.фасадной стенке будут найдены экземпляры семейств, у которых host не совпадает с этой стеной
Вы имеете  ввиду такое будет при запуске FindInserts  с опцией includeSharedEmbeddedInserts  = true ?

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: CurtainWall Host
« Ответ #18 : 15-08-2019, 16:42:28 »
Да, конечно.

Оффлайн enotАвтор темы

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: CurtainWall Host
« Ответ #19 : 15-08-2019, 17:02:55 »
Большущее спасибо ! Очень благодарен!

Оффлайн enotАвтор темы

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: CurtainWall Host
« Ответ #20 : 15-08-2019, 22:52:18 »
Обнаружил пару проблем для витража из связанного документа
1.) FindInserts ничего не возвращает
2.) Не получается получить Solid этого витража

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: CurtainWall Host
« Ответ #21 : 16-08-2019, 10:18:25 »
1) FindInserts работает, проверяйте свой код/модель
2) Витражные стены твердотельной геометрии не имеют, да. В связанном или не связанном файле значения не имеет. Геометрия есть у импостов и панелей.

Оффлайн enotАвтор темы

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: CurtainWall Host
« Ответ #22 : 16-08-2019, 11:29:37 »
FindInserts не находит ничего ни в связанном, ни в самом документе.

Возможно проблема в самом витраже?

https://cloud.mail.ru/public/5t1W/4xNcnixXJ 

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: CurtainWall Host
« Ответ #23 : 16-08-2019, 12:23:58 »
Э?? У Вас в модели ровно одна стена. Витражная. Что по вашему должен найти метод FindInserts?

Оффлайн enotАвтор темы

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: CurtainWall Host
« Ответ #24 : 16-08-2019, 12:25:01 »
Панели витража/импосты

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: CurtainWall Host
« Ответ #25 : 16-08-2019, 12:28:22 »
Код - C# [Выбрать]
  1. wall.CurtainGrid.GetPanelIds();

Код - C# [Выбрать]
  1. wall.CurtainGrid.GetMulionIds();

Оффлайн enotАвтор темы

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: CurtainWall Host
« Ответ #26 : 16-08-2019, 12:32:35 »
Точно..
Мда, а то уже залез в  GetDependentElements и там их нашел...
А возможно , что стена вставлена в другую стену ? или в стену можно вставить только витраж ?

Оффлайн enotАвтор темы

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: CurtainWall Host
« Ответ #27 : 16-08-2019, 12:35:13 »
Код - C# [Выбрать]
wall.CurtainGrid.GetPanelIds();

Код - C# [Выбрать]
wall.CurtainGrid.GetMulionIds();

В витраж могут быть вставлены двери (где то такое видел, если не ошибаюсь), GetPanelIds мне кажется их не определит ?

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: CurtainWall Host
« Ответ #28 : 16-08-2019, 12:39:14 »
В витраж могут быть вставлены двери , GetPanelIds мне кажется их не определит ?

чойто?

А возможно , что стена вставлена в другую стену ? или в стену можно вставить только витраж ?

Бывают составные стены ещё.

Вроде как вырезание геометрии работает только между обычной и витражной стенкой

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: CurtainWall Host
« Ответ #29 : 16-08-2019, 12:44:38 »
Кстати, в витражные стены двери / окна напрямую не вставляются.  Но есть возможность панели витража задать типоразмер стены, тогда можно вставлять уже в эту панель окно/дверь. Либо моделировать окна/двери теми же панелями витража