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

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

*

Оффлайн RomanX

  • **
  • 31
  • Репутация: +1/-0
GDL грабли 20 версии
« : Апреля 05, 2017, 12:35:46 »

Test

Обновил ArchiCAD до версии 20 (5025) и получил от своих элементов по полной!
Самым больной "удар" от своей "супер таблицы".
Суть элемента - создание гибкой редактируемой таблицы (редактировалось всё хотспутами, размер, колонки, строки, надписи, автозаполнения, раскраска и т.д.)
Основной фишкой было автоадаптация под новый масштаб. Т.е. можно было копировать настроенную таблицу в любой масштаб и она сама себя пересчитывала. Для этого использовался скрипт параметров и переменная GLOB_SCALE. Хранился предыдущий масштаб и на основе его делались манипуляции с размерами, после чего переменная обнавлялась.
Но! С выходом 5025 доступ к масштабу и не только из скрипта параметров отрезали. Сказали - "не красиво" и всё тут!
Заодно отрезали доступ к переменным из основного скрипта. Попытки "извратиться и пролезть" через глобальные переменные не увенчались успехом.

В общем я просто пожаловаться и предупредить. А может всё-таки кто знает способ...
GDL документация стр.315 (там много чего запретили).

*

Оффлайн Valery_R

  • *****
  • 1001
  • Репутация: +283/-0
  • Пол: Мужской
GDL грабли 20 версии
« Ответ #1 : Апреля 05, 2017, 13:04:18 »
... может всё-таки кто знает способ...
Не пробовал перенести все условия с глобальными переменными по отдельности в 2D- и 3D-скрипты (возможно эти условия будут дублироваться) ... ?

*

Оффлайн RomanX

  • **
  • 31
  • Репутация: +1/-0
GDL грабли 20 версии
« Ответ #2 : Апреля 05, 2017, 13:12:32 »
Если честно - фантазия закончилась.
Просто можете попробовать:
1) В окне параметров создайте произвольную переменную.
2) А теперь попробуйте любым скриптом засунуть туда текущий масштаб.

Скрипт параметров не имеет доступа к масштабу.
Остальные скрипты имеют доступ к масштабу, но не имеют доступ к переменным (имеется ввиду на запись)
Думал что глобальные переменные живут "глобально", но это не так. Нафига тогда они?

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
GDL грабли 20 версии
« Ответ #3 : Апреля 05, 2017, 13:21:47 »
Да, тоже мучаюсь с GLOB_SCALE. Пока не знаю как обойти.
Есть одна зацепка в стандартной библиотеке. Библиотечный элемент нормально масштабируется при смена масштаба. Но слишком все наварочено, пока не могу разобраться.
Может у вас получится?
БЭ : Многоэлементная Выносная Надпись 20

*

Оффлайн RomanX

  • **
  • 31
  • Репутация: +1/-0
GDL грабли 20 версии
« Ответ #4 : Апреля 05, 2017, 13:27:53 »
С выносками мало работаю. Что-то не могу найти. Можете прицепить?

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
GDL грабли 20 версии
« Ответ #5 : Апреля 05, 2017, 13:35:35 »
С выносками мало работаю. Что-то не могу найти. Можете прицепить?
это не выноска, а библиотечный элемент (стульчик), папка 1.7--- Символы графические

*

Оффлайн RomanX

  • **
  • 31
  • Репутация: +1/-0
GDL грабли 20 версии
« Ответ #6 : Апреля 05, 2017, 13:44:19 »
Всё - нашёл :).
Работает. Я пробовал данный подход, но наверное косячил где-то.
Интересные строки в скрипте параметров (цитирую как есть):
textBoxLengthPaper_M = textBoxLengthPaper / 1000
parameters textBoxLengthPaper_M = textBoxLengthPaper_M


textBoxLengthPaper_M сначало меняют, а потом при помощи parameters переписывают??? Зачем не пойму...
Т.е. можно менять параметр "временно" и потом записывать его "основательно" типа: parameters  A=A ?

*

Оффлайн nideKer

  • *****
  • 2603
  • Репутация: +121/-2
  • Пол: Мужской
  • freeRide 4ever
GDL грабли 20 версии
« Ответ #7 : Апреля 05, 2017, 14:14:47 »
Осталось только узнать - как вы масштаб модифицируете. :)
По идее если делали по примеру Валеры, то все должно работать - http://forum.cadstudio.ru/index.php?topic=11529.msg14070#msg14070 (последний пример в первом обсуждении)
По крайней мере в наших объектах ничего не слетело.

А! Видимо понял в чем дело,
Я делал преобразования всегда так:
Master script:
gScaleFix = 1000 / GLOB_SCALE ! правка by ndK
gScale = GLOB_SCALE * 0.001

Parameters script:
IF GLOB_MODPAR_NAME = "L"      THEN  PARAMETERS Lfix = L * gScaleFix !спасибо Валере AKA Walery W
IF GLOB_MODPAR_NAME = "Lfix" THEN  PARAMETERS L = Lfix * gScale

Т.е. преобразования с  GLOB_SCALE я делал в основном скрипте. Возможно вам это поможет

*

Оффлайн RomanX

  • **
  • 31
  • Репутация: +1/-0
GDL грабли 20 версии
« Ответ #8 : Апреля 05, 2017, 17:10:01 »
Всё всем спасибо!
Помогло!
GLOB_MODPAR_NAME - раньше не пользовался, потому шёл другим (корявым) путём.

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
GDL грабли 20 версии
« Ответ #9 : Апреля 11, 2017, 16:09:33 »
Господа, так и не поборол этот масштаб.
Не могу написать элементарный скрипт прямой линии, так что бы при смене глобального масштаба срабатывало, в то же время нормально редактируемые точки работали.
Можете написать такой скрипт. Вот пишите что все сработало, это у вас оба условия сработали?

*

Оффлайн nideKer

  • *****
  • 2603
  • Репутация: +121/-2
  • Пол: Мужской
  • freeRide 4ever
GDL грабли 20 версии
« Ответ #10 : Апреля 11, 2017, 18:54:12 »
Vachik посмотри по ссылке выше, что я давал, на Валеры пример №3 - попробуй на его примере написать - должно поучиться.

Sent from my ONEPLUS A3000 using Tapatalk


*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
GDL грабли 20 версии
« Ответ #11 : Апреля 11, 2017, 20:04:05 »
Vachik посмотри по ссылке выше, что я давал, на Валеры пример №3 - попробуй на его примере написать - должно поучиться.
В том то и дело, что в 20-ке при смене масштаба пространства модели, горячие точки глючат. То что Валера делал, тоже глючит. Посмотри как себя ведет редактор круга в приведенном примере, убедишься

*

Оффлайн lsr

  • *****
  • 1267
  • Репутация: +246/-6
  • Пол: Мужской
  • http://sl-gdl.com
GDL грабли 20 версии
« Ответ #12 : Апреля 12, 2017, 07:42:05 »
Обновил ArchiCAD до версии 20 (5025) и получил от своих элементов по полной!___
________ Для этого использовался скрипт параметров и переменная GLOB_SCALE. _______
Если в предыдущей сборке всё работало, либо откатится назад (опять же смотря насколько важные изменения в этом build_e 5025), либо ждать следующий build.
Да, тоже мучаюсь с GLOB_SCALE. Пока не знаю как обойти._________
Различные GLOB_ы запрещено применять в скрипте параметров и мастер скрипте (основном).
Об этом предупреждалось в 19_ой версии, что с выходом 20_ки работать как следует не будет. В тч и GLOB_SCALE. Любое упоминание GLOB_SCALE при проверки скрипта - результат >>> сабж об ошибке. Это следует принять как данность, вряд ли GS отменит,  С выходом оболочки испахабили кровли и менять ничего не собираются.

*

Оффлайн ValeriyP

  • архитектор
  • ****
  • 498
  • Репутация: +64/-1
  • Пол: Мужской
  • ArchiCad Coral Draw Artlantis
GDL грабли 20 версии
« Ответ #13 : Апреля 12, 2017, 08:19:45 »
 В общем, есть  выход, но выглядит совершенно не по взрослому. Как то даже говорить не удобно. Разбить скрипты по стилям и устанавливать масштаб в ручную.
Сто процентов глючить не будет- но это какое то детство.
 В общем Graphisoft,  как всегда на высоте- я уже полностью уверен что это  умышленные диверсии против независимых разрабов. То поменяли коды для проёмов,  то источники света, теперь отменили глобальные. Не понимаю зачем- ну придумали новые, как бы для улучшения- но нахер при этом отменять старые, масса кодов существует параллельно и нормально уживаются. Сколько библов при этом гробится их как то не волнует.  

*

Оффлайн nideKer

  • *****
  • 2603
  • Репутация: +121/-2
  • Пол: Мужской
  • freeRide 4ever
GDL грабли 20 версии
« Ответ #14 : Апреля 12, 2017, 10:30:35 »
То что Валера делал, тоже глючит. Посмотри как себя ведет редактор круга в приведенном примере, убедишься

Таки да - я понял о чем речь :(

 

Похожие темы

  Тема / Автор