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

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

*

Оффлайн SIMFF

  • *****
  • 2299
  • Репутация: +194/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #315 : Октября 09, 2017, 14:53:16 »

Test

Что то не так делаешь, все работает и в 3 степени и в 7....
У меня вот такая запись:
Строковые параметры X, XX, XXX - Линейная величина
Parameters X = 0.2 ( результат X = 200.0 )
Parameters XX = X^2 ( результат XX = 40.0 )
Parameters XXX = X^3 ( результат XXX = 8.0 )

Но если использовать строковые параметры X, XX, XXX - Действительное число, то результат ПРАВИЛЬНЫЙ
Parameters X =  2 ( результат X = 2.0 )
Parameters XX = X^2 ( результат XX = 4.0 )
Parameters XXX = X^3 ( результат XXX = 8.0 )

Делаю заключение: что запись X^2 (X^3) верна только для использования для строкового параметра  Действительное число
Символ "^" находится на клавише "6" верхний регистр английский.
Тут все ОК! Спасибо.

*

Оффлайн Vachik

  • *****
  • 4759
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #316 : Октября 09, 2017, 15:20:31 »
Цитировать
У меня вот такая запись:
Parameters X   = 0.2 ( результат X = 200 )
Parameters XX = X^2 ( результат XX = 40 )
Parameters XXX = X^3 ( результат XXX = 8 )
Строковые параметры X, XX, XXX - Линейная величина
Да, действительно хрень какая та, при Х < 1. Но...
Если Х >1, то все нормально. В самом стеке он все равно считает правильно, а в параметрах всегда показывает правильно если выбрать ДЕЙСТВИТЕЛЬНОЕ ЧИСЛО.

PS
Ты уже сам разобрался, пока я разбирался :)

*

Оффлайн Arsh

  • Век живи, ...
  • *****
  • 2838
  • Репутация: +242/-24
  • Пол: Мужской
  • Столько не живут...
Первые шаги в GDL
« Ответ #317 : Октября 09, 2017, 15:40:18 »
Цитировать
X^2
"^" - это возведение в степень
Можно заменить на " ** "

*

Оффлайн SIMFF

  • *****
  • 2299
  • Репутация: +194/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #318 : Октября 09, 2017, 15:46:12 »
Можно заменить на " ** "
Тоже вариант, но тоже, действительно только для параметра Действительное число

*

Оффлайн SIMFF

  • *****
  • 2299
  • Репутация: +194/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #319 : Октября 12, 2017, 21:08:26 »
Есть вот такая двумерная фигура - эллипс, описанный командой POLY2_
POLY2_    5,   1+2+4,
      -A/2,    B/2,   1,
       A/2,    B/2,   1,
       A/2,   -B/2,   1001,
      -A/2,   -B/2,   1,
      -A/2,    B/2,   1001
Но ни как не могу описать штриховку по команде POLY2_b (с пером штриховки и фоном) для этой фигуры. Помогите.

*

Оффлайн Vachik

  • *****
  • 4759
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #320 : Октября 12, 2017, 22:02:13 »
Цитировать
Но ни как не могу описать штриховку по команде POLY2_b (с пером штриховки и фоном) для этой фигуры. Помогите.
fill asss
POLY2_B    5, 1+2+4,   fill_b2, fill_b1,
      -A/2,    B/2,   1,
       A/2,    B/2,   1,
       A/2,   -B/2,   1001,
      -A/2,   -B/2,   1,
      -A/2,    B/2,   1001

*

Оффлайн SIMFF

  • *****
  • 2299
  • Репутация: +194/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #321 : Ноября 09, 2017, 12:26:44 »
Возникла необходимость определения длины АВТОтекста.
Использую функцию STW (string_expression).
Например :   Автотекст - Название проекта.
Код строки названия проекта - <PROJECTNAME>  -  13 знаков,  длина 
В параметре строки автотекста "Название проекта" вписана информация  - ПРОЕКТ ЗАГОРОДНОГО ДОМА  -  23 знака 
Записываю строку функции:  
L_TXT = STW ('<PROJECTNAME>')
В результате получаю длину в мм, тождественную тексту <PROJECTNAME> (длине кода автотекста), а хотелось бы что бы определялась длина текста соответствующая длине текста внесенного в строку параметра автотекста, то есть длине текста = ПРОЕКТ ЗАГОРОДНОГО ДОМА.
Как обойти, как "обмануть" это недоразумение? Кто то решал эту проблему?

*

Оффлайн lsr

  • *****
  • 1268
  • Репутация: +247/-6
  • Пол: Мужской
  • http://sl-gdl.com
Первые шаги в GDL
« Ответ #322 : Ноября 09, 2017, 12:44:55 »
Никак.
Длину содержимого строки считать невозможно. Только саму команду.
Кроме того, если вы читали руководство, то могли прочесть, что автотексты не являются частью GDL.Таким образом ждите 121_ой версии ArchiCAD - может введут.

*

Оффлайн Vachik

  • *****
  • 4759
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #323 : Ноября 09, 2017, 12:58:15 »
SIMFF за количество знаков отвечает команда STRLEN.
А STW это длина выражения в мм.
А по сути твоего вопроса, наверное так: задаем переменую, и только потом определяем длину в мм или штуках
parameters proj = <PROJECTNAME>
L_TXT = STW ('proj')

*

Оффлайн SIMFF

  • *****
  • 2299
  • Репутация: +194/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #324 : Ноября 09, 2017, 13:22:54 »
Vachik, Про разницу в функциях STRLEN и STW, я знаю.
И я говорю именно о длине текста, которая определяется функцией STW
По сути вопроса:
Попробовал ваше предложение. В строку параметра proj выводиться значение <PROJECTNAME>, а не  ПРОЕКТ ЗАГОРОДНОГО ДОМА,
и соответственно функция STW определят длину текста кода автотекста (<PROJECTNAME>), а не его содержания (ПРОЕКТ ЗАГОРОДНОГО ДОМА).
Уважаемый lsr, к моему сожалению, прав, в данное время, это не решаемая ситуация. Но спасибо и вам, отрицательный результат, это тоже результат.

*

Оффлайн Tsepov

  • ***
  • 224
  • Репутация: +24/-0
  • Пол: Мужской
  • LABPP
Первые шаги в GDL
« Ответ #325 : Ноября 15, 2017, 18:35:51 »
Плейлист на YouTube о некоторых приемах при создании параметрических GDL объектов. Возможно кому покажется полезным.

Если понравится, ставьте лайки и подписывайтесь.

*

Оффлайн mr.Mikhail

  • ***
  • 200
  • Репутация: +8/-0
  • Пол: Мужской
  • tg @MikiEremiki
Первые шаги в GDL
« Ответ #326 : Ноября 28, 2017, 17:01:07 »
Подскажите пожалуйста.
В элементах RoofMaker'а есть переменная pen3D. Захотел сделать такую же переменную к стандартной стойке ArchiCAD, но тщетно. 
Я нашел в скрипте 3d: pen pen3D. В общем то каких то у поминаний о пера в 3д я не увидел. но тупо создание такого же параметра и добавление такой же строки в скрипт, к результату не привело. 
Может кто-то разъяснит в чем особенность.

*

Оффлайн SIMFF

  • *****
  • 2299
  • Репутация: +194/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #327 : Ноября 28, 2017, 17:06:31 »
..... добавление такой же строки в скрипт, к результату не привело.

Опишите как вы это сделали. И убрали ли из 3D скрипта предыдущий параметр пера?

*

Оффлайн mr.Mikhail

  • ***
  • 200
  • Репутация: +8/-0
  • Пол: Мужской
  • tg @MikiEremiki
Первые шаги в GDL
« Ответ #328 : Ноября 28, 2017, 17:22:01 »
Опишите как вы это сделали. И убрали ли из 3D скрипта предыдущий параметр пера?
Вот просто добавил аналогичную переменную и добавил строку в 3д скрипт.

В общем то и все.

Что подразумевается под предыдущим параметром пера?

Цель вообще какая, когда две стойки стоят рядом,  если покрытия одинаковые, то поверхность становится единой и не понятно где какая доска.

Серые элементы RM, зеленые обычная стойка, там их две. Элементы RM не для всех задач подходят, но контуры мне понравились

*

Оффлайн lsr

  • *****
  • 1268
  • Репутация: +247/-6
  • Пол: Мужской
  • http://sl-gdl.com
Первые шаги в GDL
« Ответ #329 : Ноября 28, 2017, 18:41:45 »
Во первых прочитайте правила форума и добавьте подпись про свою версию AC, конфиг компа, чтоб не гадать newn всем на кофейной гуще и не вызывать экстрасенсов, Либо пишите в самом вопросе про какую версию вы спрашиваете, судя по скрину про 20_ку. Пример для стойки из 21_ой.
Там контур в 3D и в 2D одинаковый. размещение ключевого слова PEN в самом начале скрипта на линии 1 вам никак не поможет, тк по линии 41 есть перо, которое отменит ваше перо на линии_1.
В общем создаёте новый параметр с любым доступным именем, в 41_ой строке  3D скрипта стираете gs_cont_pen и пишете свой параметр..


 

Похожие темы

  Тема / Автор