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

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

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #435 : Января 31, 2019, 17:55:14 »

Test

Vachik,В общем это не помогло. Переделал все как было шагом назад. А не помогло, так как я понял что я сделал не так))) Я вставил штриховку в 2 символ, а это не надо было делать. :D Это даже не штриховка перекрывала а перо контура (на скрине). В итоге все получилось, как надо! Большое спасибо Вам! Было бы не плохо сделать текст по вертикале еще как на скрине. Если не обременяю, то не могли бы подсказать?
Для поворота нужно менять ЯКОРЬ текста. Он у тебя сейчас =8. Сделай её переменой.  И поставь в зависимость от параметра iAncor (я произвольно так обозначил). А iAncor выведи в параметры как меню выбора "Горизонтальный", "Вертикальный". Как то так.
.....

DEFINE STYLE fe1 fs, 10/a_*fsz, Ancor, fee
STYLE fe1
if iAncor "Горизонтальный" then
Ancor = 8
TEXT2 0, a*0.225568449731/0.3, txt
endif
if iAncor "Вертикальный" then
Ancor = 4
rot2 -90
TEXT2 0, a*0.225568449731/0.3, txt
del
endif

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #436 : Января 31, 2019, 18:07:18 »
Забыл поставить знак =
.....

DEFINE STYLE fe1 fs, 10/a_*fsz, Ancor, fee
STYLE fe1
if iAncor = "Горизонтальный" then
Ancor = 8
TEXT2 0, a*0.225568449731/0.3, txt
endif
if iAncor = "Вертикальный" then
Ancor = 4
rot2 -90
TEXT2 0, a*0.225568449731/0.3, txt
del
endif

*

Оффлайн KofiY

  • **
  • 33
  • Репутация: +1/-0
Первые шаги в GDL
« Ответ #437 : Января 31, 2019, 18:35:04 »
Забыл поставить знак =
.....

DEFINE STYLE fe1 fs, 10/a_*fsz, Ancor, fee
STYLE fe1
if iAncor = "Горизонтальный" then
Ancor = 8
TEXT2 0, a*0.225568449731/0.3, txt
endif
if iAncor = "Вертикальный" then
Ancor = 4
rot2 -90
TEXT2 0, a*0.225568449731/0.3, txt
del
endif
В 2d скрипте поставил код. В параметре вывел строку, как ее настроить? (на скрине)

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #438 : Января 31, 2019, 19:26:44 »
В 2d скрипте поставил код. В параметре вывел строку, как ее настроить? (на скрине)
А как ты настроил параметр fe? Также настрой и iAncor, через Скрипт Параметров

*

Оффлайн KofiY

  • **
  • 33
  • Репутация: +1/-0
Первые шаги в GDL
« Ответ #439 : Января 31, 2019, 20:02:57 »
А как ты настроил параметр fe? Также настрой и iAncor, через Скрипт Параметров
Если бы я его настраивал, а так я только пробую этим заниматься. Я изменяю готовое по своему., как Вы могли уже догадаться.
В скрипте параметров у меня так:
values "FM_Type" `Объекты по умолчанию`, `Ист.света по умолчанию`, `Люди`, `Лифты`, `Безопасность и эвакуация`, `Лестницы`, `Рабочее пространство`,
               `Электрические устройства`, `Распределительные щиты`, `Измеряемые места`, `Источники света`, `Механическое оборудование`,
               `Санитария`, `Замки`, `Встроенные гардеробы`, `Мебель`, `Потолки`, `Полы`, `Объекты снаружи`,
               `Компьютеры`, `Мониторы`, `Программное обеспечение`, `Телефоны`, `Контейнеры`, `Другой`
if gs_cont_pen=0 then
   gs_cont_pen=2
   parameters gs_cont_pen=2
Endif
!!! ===== Fontnames list =====
VALUES "fe" `Обычный`,`Жирный`,`Курсив`,`Подчеркнутый`
dim fontNames[]
n = request("FONTNAMES_LIST", "", fontNames)
values "fs" fontNames, custom
parameters fsz = abs(fsz)
values "fsz" range (0,]
if tpen=0 then
   tpen=2
   parameters tpen=2
Endif
Dot_in_mm = 25.4 / 72
!!! Synhronized mm and point in marker width
if GLOB_MODPAR_NAME = "fsz" then
   parameters fsz_point = fsz / Dot_in_mm
   fsz_point = fsz / Dot_in_mm
endif
if GLOB_MODPAR_NAME = "fsz_point" then
   parameters fsz = fsz_point * Dot_in_mm
   fsz = fsz_point * Dot_in_mm
endif

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #440 : Января 31, 2019, 20:23:04 »
Если бы я его настраивал, а так я только пробую этим заниматься. Я изменяю готовое по своему., как Вы могли уже догадаться.
В скрипте параметров у меня так:
Добавь строку
VALUES "iAncor" `Горизонтальный`, `Вертикальный`

*

Оффлайн KofiY

  • **
  • 33
  • Репутация: +1/-0
Первые шаги в GDL
« Ответ #441 : Января 31, 2019, 21:03:59 »
Добавь строку
VALUES "iAncor" `Горизонтальный`, `Вертикальный`
В скрипте параметров добавил эту строчку:
values "FM_Type" `Объекты по умолчанию`, `Ист.света по умолчанию`, `Люди`, `Лифты`, `Безопасность и эвакуация`, `Лестницы`, `Рабочее пространство`,
               `Электрические устройства`, `Распределительные щиты`, `Измеряемые места`, `Источники света`, `Механическое оборудование`,
               `Санитария`, `Замки`, `Встроенные гардеробы`, `Мебель`, `Потолки`, `Полы`, `Объекты снаружи`,
               `Компьютеры`, `Мониторы`, `Программное обеспечение`, `Телефоны`, `Контейнеры`, `Другой`
if gs_cont_pen=0 then
   gs_cont_pen=2
   parameters gs_cont_pen=2
Endif
!!! ===== Fontnames list =====
VALUES "fe" `Обычный`,`Жирный`,`Курсив`,`Подчеркнутый`
VALUES "iAncor" `Горизонтальный`, `Вертикальный`
dim fontNames[]
n = request("FONTNAMES_LIST", "", fontNames)
values "fs" fontNames, custom
parameters fsz = abs(fsz)
values "fsz" range (0,]
if tpen=0 then
   tpen=2
   parameters tpen=2
Endif
Dot_in_mm = 25.4 / 72
!!! Synhronized mm and point in marker width
if GLOB_MODPAR_NAME = "fsz" then
   parameters fsz_point = fsz / Dot_in_mm
   fsz_point = fsz / Dot_in_mm
endif
if GLOB_MODPAR_NAME = "fsz_point" then
   parameters fsz = fsz_point * Dot_in_mm
   fsz = fsz_point * Dot_in_mm
endif

В Параметрах добавил строчку iAncor, та что скриншоте. Правильно ли я ее по расположению и настройкам поставил?
И в 2d скрипте такое
!! 8.304_70.gsm
PEN gs_cont_pen
FRAGMENT2 1,2
fill gs_fill_type
POLY2_B{2} 5, 2, gs_fill_pen,     gs_back_pen,
0,0,0,
-0.15, 0,1,
0, 0, 900,
0, -180,4001,
0.15,0,1,
-0.15, 0,1
IF fe=`Обычный` THEN fee=0
IF fe=`Жирный` THEN fee=1
IF fe=`Курсив` THEN fee=2
IF fe=`Подчеркнутый` THEN fee=4
PEN tpen
DEFINE STYLE fe1 fs, 10/a_*fsz, Ancor, fee
STYLE fe1
if iAncor = "Горизонтальный" then
Ancor = 8
TEXT2 0, a*0.225568449731/0.3, txt
endif
if iAncor = "Вертикальный" then
Ancor = 4
rot2 -90
TEXT2 0, a*0.225568449731/0.3, txt
del
endif
В итоге при проверка скрипта ругается на что-то

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #442 : Января 31, 2019, 21:23:35 »
В Параметрах добавил строчку iAncor, та что скриншоте. ....
У тебя же, в Параметрах, iAncor был АВС, зачем сделал угол? Верни обратно

*

Оффлайн KofiY

  • **
  • 33
  • Репутация: +1/-0
Первые шаги в GDL
« Ответ #443 : Января 31, 2019, 21:45:22 »
У тебя же, в Параметрах, iAncor был АВС, зачем сделал угол? Верни обратно
Подправил. Все равно ругается на что-то, на скрине

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #444 : Января 31, 2019, 22:24:29 »
Подправил. Все равно ругается на что-то, на скрине
Чуть изменил
!! 8.304_70.gsm
PEN gs_cont_pen
FRAGMENT2 1,2
fill gs_fill_type
POLY2_B{2} 5, 2, gs_fill_pen,     gs_back_pen,
0,0,0,
-0.15, 0,1,
0, 0, 900,
0, -180,4001,
0.15,0,1,
-0.15, 0,1
IF fe=`Обычный` THEN fee=0
IF fe=`Жирный` THEN fee=1
IF fe=`Курсив` THEN fee=2
IF fe=`Подчеркнутый` THEN fee=4
if iAncor = "Горизонтальный" then Ancor = 8
if iAncor = "Вертикальный" then Ancor = 4
PEN tpen

DEFINE STYLE fe1 fs, 10/a_*fsz, Ancor, fee
STYLE fe1
if iAncor = "Горизонтальный" then
TEXT2 0, a*0.225568449731/0.3, txt
endif
if iAncor = "Вертикальный" then
add2 0, a*0.225568449731/0.3
rot2 90
TEXT2 0, 0, txt
del 2
endif

*

Оффлайн KofiY

  • **
  • 33
  • Репутация: +1/-0
Первые шаги в GDL
« Ответ #445 : Января 31, 2019, 22:35:29 »
Чуть изменил
!! 8.304_70.gsm
PEN gs_cont_pen
FRAGMENT2 1,2
fill gs_fill_type
POLY2_B{2} 5, 2, gs_fill_pen,     gs_back_pen,
0,0,0,
-0.15, 0,1,
0, 0, 900,
0, -180,4001,
0.15,0,1,
-0.15, 0,1
IF fe=`Обычный` THEN fee=0
IF fe=`Жирный` THEN fee=1
IF fe=`Курсив` THEN fee=2
IF fe=`Подчеркнутый` THEN fee=4
if iAncor = "Горизонтальный" then Ancor = 8
if iAncor = "Вертикальный" then Ancor = 4
PEN tpen

DEFINE STYLE fe1 fs, 10/a_*fsz, Ancor, fee
STYLE fe1
if iAncor = "Горизонтальный" then
TEXT2 0, a*0.225568449731/0.3, txt
endif
if iAncor = "Вертикальный" then
add2 0, a*0.225568449731/0.3
rot2 90
TEXT2 0, 0, txt
del 2
endif
тоже самое, что было выше на скрине: Ссылка на неправильно проиндексированное значение в строке 21

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #446 : Января 31, 2019, 22:43:23 »
Какой версией ArchiCAD пользующийся? Дело в том что глобальная переменная a_ устаревшая, и давно не используется. Поменяй её на GLOB_SCALE

У меня все без ошибок выдает.

*

Оффлайн KofiY

  • **
  • 33
  • Репутация: +1/-0
Первые шаги в GDL
« Ответ #447 : Января 31, 2019, 22:47:09 »
Какой версией ArchiCAD пользующийся? Дело в том что глобальная переменная a_ устаревшая, и давно не используется. Поменяй её на GLOB_SCALE

У меня все без ошибок выдает.
ArchiCAD 12

*

Оффлайн KofiY

  • **
  • 33
  • Репутация: +1/-0
Первые шаги в GDL
« Ответ #448 : Января 31, 2019, 22:51:21 »
... a_ устаревшая, и давно не используется. Поменяй её на GLOB_SCALE

У меня все без ошибок выдает.
Не подкажите где эта переменная "a_", в каких строках? Все пересмотрел, не нахожу что-то

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #449 : Января 31, 2019, 22:55:20 »
тоже самое, что было выше на скрине: Ссылка на неправильно проиндексированное значение в строке 21
так не может быть. Я добавил строки. Должна быть другая строка ошибки.
Не подкажите где эта переменная "a_", в каких строках? Все пересмотрел, не нахожу что-то
Пользуйся поиском ctrl+f
PS
Закрой файл с сохранением и открой заново.

 

Похожие темы

  Тема / Автор