Пожалуйста, не блокируйте рекламу!

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

*

Оффлайн -гость-

  • *
  • 16
  • Репутация: +0/-0
hotspot и libraryglobal
« : Мая 30, 2020, 23:02:43 »

Test

Здравствуйте, подскажите где можно поподробней почитать про массивы координат HOTSPOT? И еще про LIBRARYGLOBAL. Можно ли при обращении к макросу командой CALL "" PARAMETERS выдцепить его крайние 3д узловые точки, чтобы привязать макрос в параметрическом объекте не за его центральный нуль, а за одну из восьми крайних точек, например левую верхнюю узловую точку? 

*

Оффлайн Brandashmыg

  • ****
  • 344
  • Репутация: +64/-0
  • Пол: Мужской
hotspot и libraryglobal
« Ответ #1 : Мая 31, 2020, 20:24:26 »
Не совсем ясно - что имеете ввиду под массивами координат HOTSPOT? Именно редактирование переменных, заданных массивом или в общем? Если в общем - то вот хорошая статья - https://gdl.graphisoft.com/gdl-basics/hotspots-graphical-editing
Про LIBRARYGLOBAL - вот эта статья - https://gdl.graphisoft.com/tips-and-tricks/custom-made-model-view-options-object
Функции получения координат габаритного контейнера - крайних точек - нет, но вы можете их вычислить. Для этого можно в вызываемом объекте рассчитать координаты этих точек и вернуть их при вызове через CALL с помощью RETURNED_PARAMETERS

*

Оффлайн -гость-

  • *
  • 16
  • Репутация: +0/-0
hotspot и libraryglobal
« Ответ #2 : Июня 01, 2020, 01:26:30 »
Спасибо, да именно про редактирование переменных, заданных массивом.  Обычные линейные и угловые хотспоты вроде осилил.  Крайние точки вручную посчитать тоже смог, но надеялся, что есть где-то спрятанная информация в объекте.

*

Оффлайн bImaginaire

  • **
  • 33
  • Репутация: +5/-0
  • Пол: Мужской
hotspot и libraryglobal
« Ответ #3 : Мая 28, 2021, 22:16:40 »
Надо не забывать, что для того чтобы сообщить в основной скрипт переменные из макро объекта, в конце скрипта макро надо написать END (или EXIT) а потом через запятую имена переменных, значения которых нужно передать. Иначе RETURNED_PARAMETERS не будет работать. И еще - если вызов макроса происходит из 3д скрипта, значит ставить END и список переменных надо в конце 3д скрипта в макросе. Если в 2д - в 2д соответственно. Я думаю здесь логика понятна.
Кстати по этой причине объекты, сохраненные как полотно двери, оконная рама, ручка двери и так далее (для тех, кто не пользуется GDL), не могут сообщить в основной скрипт свои размеры - потому что когда Архикад сохраняет объект, он не пишет на конце END и список параметров. Кстати надо сообщить Графисофт чтобы они эту функцию вставили.