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

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

*

Оффлайн ViktorSPB

  • **
  • 36
  • Репутация: +0/-0
В GDL параметры представления
« : Сентября 04, 2017, 16:53:51 »

Test

Добрый день! Не заметил сразу эту ветку, потому хочу здесь вопрос свой задать.
Есть возможность, используя

Неполный Показ Конструкций
Параметры Фильтра Реконструкции

менять 3D представление проекта.
А есть возможность в GDL отследить в каком состоянии эти пункты? Я дорисовываю к дымоходу линию проекции на стену, чтобы было видно что он есть внтури и какого он размера. Хочу получить возможность его показать/скрыть через эти меню, например, а не кликая в каждый элемент и настраивая параметры отображения, например.
Может, есть еще какой вариант, не знаю, хоткей, на худой конец, чтобы GDL его отлавливал..
Помогите, товарищи, только начал разбираться, мануал прочитал, ни слова об этом не увидел. Скорее всего, нужен какой-то трюк.

*

Оффлайн ViktorSPB

  • **
  • 36
  • Репутация: +0/-0
В GDL параметры представления
« Ответ #1 : Сентября 05, 2017, 20:40:29 »
Если я не понятно выразился, то пример:
в 3D окне устанавливаю фльтр реконструкции на Новые. На стенах появились линии, которые рисует скрипт GDL, отреагировав на установку фильтра.
в скрипте что-то типа:
if (Фильтр Реконструкции = Новые конструкции) then Рисую линию.

*

Оффлайн lsr

  • *****
  • 1241
  • Репутация: +243/-6
  • Пол: Мужской
  • http://sl-gdl.com
В GDL параметры представления
« Ответ #2 : Сентября 05, 2017, 21:24:33 »
Вы всё правильно выразились.
Просто настоящих знатоков GDL, на форуме можно пересчитать по пальцам на одной руке. Так что так и ответить вам из 6_ти тыс. зерегеных могут только пятеро. Остальные кто пытаются GDL_ить- кто в яслях, кто в подготовительной группе.
 Вы должны применять команду REQUEST - но даже в АС_21 - нет ничего отвечающее (возвращающее значение) по этой команде для вашего случая. Ничего нет ни про реконструкцию, ни про неполный показ конструкций. Советую забыть вашу хотелку, либо сделать полжелание на Архитолкучке- может через пять версий GS это сделает.

*

Оффлайн ViktorSPB

  • **
  • 36
  • Репутация: +0/-0
В GDL параметры представления
« Ответ #3 : Сентября 05, 2017, 21:30:40 »
Хм, спасибо за ответ, а то я уже начал в себе сомнаваться)
Так, а если через "заднее окно"?
Например может GDL понять показывается сейчас объект или нет? То есть видим он на макете или в 3D или в модели или скрыт с глаз?
Тогда можно было бы создать фантомный объект, дать ему свойство реконструкции, и, если он скрыт, то использовать пользовательскую глобальную переменную. Или может в скрипт Master забить, чтобы он читал видим ли этот элемент или нет? Такое в логике GDL имеется?

*

Оффлайн lsr

  • *****
  • 1241
  • Репутация: +243/-6
  • Пол: Мужской
  • http://sl-gdl.com
В GDL параметры представления
« Ответ #4 : Сентября 05, 2017, 21:58:25 »
Нет, запроса (REQUEST) о состоянии слоя так же нет. Не проще ли выбрать все элементы - ну ваш дымоход, и вкл/выкл чекбокс с линией. Я честно говоря ничего про вашу линию не понял, но вот например обходной маневр - если длина линии меньше чего-либо (диаметр например), то она не вычерчивается. В скрипте это выглядит так:
IF L_LIN > 2*Rcir  THEN
LINE2 0, 0, 1, 0
HOTSPOT2 ........ ля_ля....
ENDIF
Ну или IF ... THEN GOTO 300

*

Оффлайн ViktorSPB

  • **
  • 36
  • Репутация: +0/-0
В GDL параметры представления
« Ответ #5 : Сентября 05, 2017, 22:06:00 »
да я уже отошел от дымоходов, но суть осталась та же. Внутри стены есть труба. Её не видно, ведь она в стене. В этой трубе я добавил сопособность по стене вдоль трубы нарисовать линию - проекцию этой трубы на стену. Чтобы я из 3D или откуда угодно мог видеть, что труба там в стене есть. Так вот видеть эту линию постоянно я не хочу, а хочу её включать или выключать. А саму труб не трогать, чтобы она оставалась на планах.
Вот и ищу возможность со стороны дать команду.
А выделять их все конечно можно но очень не хочется, пипец как будет не удобно.

*

Оффлайн ViktorSPB

  • **
  • 36
  • Репутация: +0/-0
В GDL параметры представления
« Ответ #6 : Сентября 05, 2017, 23:18:14 »
А вот такой вопрос.
Я попробовал на практике - не получилось однозначно разобраться.
Мысль была такая: Скрипт объекта (раздел 3d) выполняется, когда он прорисовывается в 3d.
Но у меня он то выполняется то нет. Я написал в области 3d PRINT "есть!". И этот принт то выходил то нет. Идея была  в том, что если я такой объект с PRINT спрячу в скрытом слое, или посредством фильтра реконструкции, то он и не выполнится в 3d окне. Но у меня то выполняется, то нет. Подскажите логику, как работают скрипты в этом контексте?
И факультативно, не могу найти скрипт Master. По описанию я понял, что он выполняется первым, перед всеми скриптами.  Где его искать?

*

Оффлайн lsr

  • *****
  • 1241
  • Репутация: +243/-6
  • Пол: Мужской
  • http://sl-gdl.com
В GDL параметры представления
« Ответ #7 : Сентября 06, 2017, 06:42:21 »
А вот такой вопрос.
Я попробовал на практике - не получилось однозначно разобраться.
Мысль была такая: Скрипт объекта (раздел 3d) выполняется, когда он прорисовывается в 3d.
Но у меня он то выполняется то нет. Я написал в области 3d PRINT "есть!". И этот принт то выходил то нет. Идея была  в том, что если я такой объект с PRINT спрячу в скрытом слое, или посредством фильтра реконструкции, то он и не выполнится в 3d окне. Но у меня то выполняется, то нет. Подскажите логику, как работают скрипты в этом контексте?
И факультативно, не могу найти скрипт Master. По описанию я понял, что он выполняется первым, перед всеми скриптами.  Где его искать?

Из вопроса не ясно - вы сами то делаете с помощью чего-либо (чекбокс напр.) выполнение скрипта 3D или это нечто вроде глюка?
Прочитайте про GLOB_VIEW_TYPE - в частности если =3 - то это и есть 3D окно. По старому эта команда называлась GLOB_CONTEXT. Но очень много GLOB_ов начиная с 20_ки запрещено применять в мастер скрипте и скрипте параметров.
Под ваши запросы вполне можно написать отдельный файл по настройкам модельного вида, тогда при изменении модельного вида можно будет включать/выкл что вам угодно, либо менять не выключая. Из основного файла делается запрос  о состоянии параметров для этого модельного вида, и дальше основной получает ответ и выполняется именно то что настроено в MVO.
Этот файл настроек MVO имеет подтип Глобальные Параметры Библиотеки.
Ну вот так напр. запрос из основного файла:
QW = LIBRARYGLOBAL ("LibGlob_ля_ля_ля", "MarkType", tmp)
Master script - это в русскоязычной версии ArchiCAD Основной скрипт именно он выполняется первым, затем выполняется скрипт параметров, затем все остальные. Либо вы спрашиваете о отдельном файле Master GDL - там в основном различные настройки материалов, линий, штриховок- которые попадут в реквизиты вашего проекта.

*

Оффлайн ViktorSPB

  • **
  • 36
  • Репутация: +0/-0
В GDL параметры представления
« Ответ #8 : Сентября 06, 2017, 12:36:51 »
В общих чертах понял ваш ответ, через файл можно настроить обмен информацией, получить состояние рабочего вида или еще чего. Уже не плохо, хоть это и уровень 90-х в программировании. Много где до сих пор такие "коммуникации" используются.
Уточнять то, что я имел в виду не буду, т.к. для себя выход нашел и решение вопроса становится спортивным интересом.
А то, что GDL не очень распространен среди пользователей может говорить о двух вещах - высоком пороге входа для пользователей-архитекторов и при этом низком ожидании результата по сравнению со штатными возможностями. Мне, как инженеру, привычнее "подчинять" систему, мне не комфортно, когда что-то работает не так, а архитектору привычнее нарисовать "что есть как есть хоть морфом" чтобы выглядело нормально - и нет желания копаться глубже.
В целом очень приятно было коснуться этой сферы в AC, здорово когда есть возможность что-то допилить - очень приятно. Хоть и с ограничениями. Зато за короткое время, практически сходу, смог кое-что подправить, подредактировать - уже хорошее отношение к AC.
Спасибо за участие и за то, что отзовались!

*

Оффлайн Valery_R

  • *****
  • 909
  • Репутация: +249/-0
  • Пол: Мужской
В GDL параметры представления
« Ответ #9 : Сентября 06, 2017, 20:28:06 »
Зато за короткое время, практически сходу, смог кое-что подправить, подредактировать - уже хорошее отношение к AC.
Спасибо за участие и за то, что отзовались!
"Спасибо на хлеб не намажешь" ©   Поделись результатом :) 

*

Оффлайн Arsh

  • Век живи, ...
  • *****
  • 2793
  • Репутация: +237/-22
  • Пол: Мужской
  • Столько не живут...
В GDL параметры представления
« Ответ #10 : Сентября 06, 2017, 20:39:05 »
Цитировать
"Спасибо на хлеб не намажешь" ©   Поделись результатом
Сейчас ждл встал на коммерческие рельсы, ну как сам говорил, давеча. Так что готовь бабосы, если что.  :)

*

Оффлайн ViktorSPB

  • **
  • 36
  • Репутация: +0/-0
В GDL параметры представления
« Ответ #11 : Сентября 06, 2017, 20:40:51 »
Результат в том, что мне теперь не надо "цеплять" состояние. Когда были дымоходы, я не мог отключить их слой, тк. он слой стены. Теперь труба в своем слое, линии свои дописал, но это, думаю, никому не интересно, кроме меня)
Буду тупо отключать слой и хрен с ним. У меня еще много вопросов по AC, тут залипать не буду. Из объяснений я понял, что архитектура пошире, чем в русском мануале написана. Не буду судить о необходимости таких усложнений, наверняка у разработчиков были на это причины, а вникать в перепетии... знаете, во сколько мне уже пришлось вникнуть, и везде свои грабли, каждый продукт нещадно тянет время на свое освоение, свои "особенности". Буду решать задачи по мере поступления.
"Лучшее - враг хорошему" ©

*

Оффлайн Ilia

  • *****
  • 1052
  • Репутация: +73/-0
  • Пол: Мужской
  • ...и! Не надо "и"...
В GDL параметры представления
« Ответ #12 : Сентября 16, 2017, 22:15:06 »
я ничего не понял , но дымоход меня заинтересовал ))))))) 

*

Оффлайн Brandashmыg

  • ****
  • 344
  • Репутация: +64/-0
  • Пол: Мужской
В GDL параметры представления
« Ответ #13 : Сентября 26, 2017, 14:35:40 »
Когда были дымоходы, я не мог отключить их слой, тк. он слой стены.
Вы можете управлять отображением объектов не только через слои, но и через настройки модельного вида, командой  LIBRARYGLOBAL. Т.е. вам необходимо создать на основе подтипа Глобальные Параметры Библиотеки, добавить в него параметр show_smoke, а затем считывать его состояние из объекта.  В этом случае, если в дымоходе у вас будет команда WALLHOLE, то также будет меняться объём стены.
success = LIBRARYGLOBAL ("MyGlobalOptions", "show_smoke", show_smoke)
if success > 0 then
   if show_smoke then
       text2 0, 0, "Дымоходы видны"
   else
      text2 0, 0, "Дымоходы не видны"
   endif
else
   text2 0, 0, "Ошибка чтения"
endif

Таким образом можно и массивы передавать, и любую другую информацию.
----------
Перечитал тему - вам lsr это уже советовал. Самый разумный, имхо, вариант.

*

Оффлайн Brych92

  • 4
  • Репутация: +1/-0
В GDL параметры представления
« Ответ #14 : Мая 29, 2019, 19:26:16 »
Здравствуйте, а можно ли связать эту глобальную библиотеку и модельные виды? Чтобы на одном виде одни настройки а на другом другие, если можно, то как это реализовать? Спасибо
(хм уже второй некропостинг... не баньте, подождите третего)

 

Похожие темы

  Тема / Автор