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

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

*

Оффлайн Kuvbur

  • ^_^
  • ****
  • 368
  • Репутация: +69/-0
  • Пол: Мужской
Re: Первые шаги в GDL
« Ответ #165 : Сентября 06, 2015, 12:56:55 »

Test

HOTSPOT2  -1,        pos_y,  unID,  pos_x,  3        :  unID=unID+1  ! pos_y - вы считайте лишней, ее быть не должно. (Некоторое сомнение.) Если убрать pos_y, то будет ошибка, так как отсутствует координата
Вместо  pos_y просто 0

*

Оффлайн Int

  • *****
  • 3812
  • Репутация: +378/-5
  • Пол: Мужской
Re: Первые шаги в GDL
« Ответ #166 : Сентября 06, 2015, 13:53:10 »
Как понимать эту комбинацию - 4+256? Что означает 4? 
Из мануала: 4: редактирование углового типа, базисная узловая точка. То есть опять совмещение линейного изменения и поворота? Или что то другое?


Ну да, поворот. Этот пример взял из скрипта объекта "Колено" стандартной библиотеки.

*

Оффлайн SIMFF

  • *****
  • 2299
  • Репутация: +194/-4
  • Пол: Мужской
Re: Первые шаги в GDL
« Ответ #167 : Сентября 06, 2015, 15:26:10 »
Int
Интересная комбинация. Спасибо. Вот это очень интересно
Ну да, поворот. Этот пример взял из скрипта объекта "Колено" стандартной библиотеки.

Подведем промежуточный итог:
С кодами флажков вреде бы прояснилось.
Правильная (классическая) запись продольного изменения размера, по предложению daimoon,  должна выглядеть так:
[/size][size=14pt]HOTSPOT2  0,          0,          unID,   Pos_X,  1+256 : unID=unID+1 ! Базисные координаты
HOTSPOT2  Pos_X,   Pos_Y,  unID,   Pos_X,  2          : unID=unID+1 ! Координаты редактирования
HOTSPOT2 -1,          0,          unID,   Pos_X,  3         : unID=unID+1 ! Координаты редактирования[/size]

Продолжим:
1. Я убрал (закомментировал) строку 3, и команда работает. Вопрос: Нужна ли строка три, и какую функцию она тогда выполет?
2. Изменил флажок 1+256, на 1+128 - получил изменение продольного размера только в правой  точке (A, 0). Изменение происходит по оси Х, как в направлении +Х, так и в направлении -Х
3. Сделать тоже самое (одну точку) на Левом конце (0, 0) у меня НЕ получилось.
Написал так:
HOTSPOT2  0,          0,          unID,   Pos_X,  1+128 : unID=unID+1 ! Базисные координаты
HOTSPOT2  0,          Pos_Y,  unID,   Pos_X,  2          : unID=unID+1 ! Координаты редактирования
HOTSPOT2 -1,          0,          unID,   Pos_X,  3         : unID=unID+1 ! Координаты редактирования
В чем я неправ?
« Последнее редактирование: Сентября 07, 2015, 01:00:50 от SIMFF »

*

Оффлайн lsr

  • *****
  • 1268
  • Репутация: +247/-6
  • Пол: Мужской
  • http://sl-gdl.com
Re: Первые шаги в GDL
« Ответ #168 : Сентября 07, 2015, 09:11:50 »
Полное впечатление что вы руководство не открывали.
1 - это не комбинация, как вы выразились, а точка тип 4 с флагом 256 Всего типов точек 7 или - 1,2,3,4,5,6,7.
Для точки тип 6 в дополнение применяется 512 - для изменения напр. угла.
Угол в нормальном отоботсчитывается от оси Х против часовой стрелки.

Продолжим про продолжим

1 Это не строка 3, а точка тип 3 (ссылочная)- определяет направление вектора перемещения, в вашем случае вектор совпадает с направлением самой линии или что там за фигура., Поэтому проблем с отключкой нет. И строго говоря если бы этот вектор не был нужен GS не применял бы вообще точку тип 3. Так что лучше не мудрите. И старайтесь применять терминологию как в руководстве а не свою. Иначе трудно понять.
Вектор может быть и поперек и под углом, в зависимости от задачи.

3. ваш пункт
Вы совместили базовую точку (от которой происходит отсчет)=0 с редатируемой=перемещаемой, назначив ей значение также=0 - и какой результат вы хотите получить при этом?
Для таких случаев (как вы сказали слева) сначала применяются команды MUL, ADD, ROT как удобнее.
А затем назначается перемещаемая точка в начале/средине в общем в любом требуемом месте.

Вы либо читайте руководство по внимательней, либо слепо копируйте подходящий фрагмент кода и тогда не будет проблем.
PS Базовая точка 1 может находиться где угодно -для интереса назначте ей значение Poz_x/2 или полностью  Poz_x.

*

Оффлайн ValeriyP

  • архитектор
  • ****
  • 498
  • Репутация: +64/-1
  • Пол: Мужской
  • ArchiCad Coral Draw Artlantis
Re: Первые шаги в GDL
« Ответ #169 : Сентября 07, 2015, 10:11:35 »
Я не представляю- как можно научить человека водить автомобиль- если он не знает ( поэтому называет их по своему ) органы управления. 
И потом, нельзя научится водить автомобиль, делая это по выходным. Толку разбираться в нюансах торможения, если рулить,  как следует не умеешь.
 Восхищаюсь теми, кто до сих пор участвует в обсуждении. 

*

Оффлайн lsr

  • *****
  • 1268
  • Репутация: +247/-6
  • Пол: Мужской
  • http://sl-gdl.com
Re: Первые шаги в GDL
« Ответ #170 : Сентября 07, 2015, 12:33:15 »
Проблема еще и в том, что руководство по GDL - это букварь. Смог сообразить что если сложить (М+А)*2 получиться Мама (что я буду делать), то становишся испанским летчиком. А не смог так и будешь видеть отдельные буквы не понимая как они в слова складывапются. Крайне редко прямые примеры что представлены в руководстве применяются на практике, надо дыню ломать что с чем скрестить и на что умножить_разделить и в какой последовательности, да еще так чтоб скрипт был скорострельным, а не примитивным как аркебуза_пищаль, иначе вкусного, сочного арбуза не получиться, а получиться гарбуз (тыква). Если делать из апельсина апельсин и не стремиться математически красиво выразить что у тебя скопилось в подкорке - не будет никаких результатов для дальнейшего развития как программиста.

*

Оффлайн SIMFF

  • *****
  • 2299
  • Репутация: +194/-4
  • Пол: Мужской
Re: Первые шаги в GDL
« Ответ #171 : Сентября 07, 2015, 13:31:52 »
ValeriyP
Вы вероятно автомобиль водили еще в состоянии эмбриона, в таком же возрасте и GDL программированием начали заниматься.
Я не представляю- как можно научить человека водить автомобиль- если он не знает ( поэтому называет их по своему ) органы управления.
Ради любопытства вопрос:
GDL программированием вы профессионально занимаетесь, это ваша основной вид деятельности?


Добавлено: Сентября 07, 2015, 13:33:30
lsr, спасибо. Ваши советы и подсказки всегда очень ценны .
Уточните про Направление Вектора.

Если я верно Вас понял, мы про эту строку говорим (и пусть бросит в меня камень тот, кто скажет, что это не строка):
HOTSPOT2 -1,          0,          unID,   Pos_X,  3         : unID=unID+1 ! Координаты редактирования

Можно ли, и как это делать если можно, изменять направление вектора.
Если изменить значение  -1 на 1, то ... даже сложно описать, вообщем элемент ведет себя не предсказуемо.. Если заменить на 0, то поведение изменение линейного размера такое же, как и при значении -1
« Последнее редактирование: Сентября 08, 2015, 02:33:16 от SIMFF »

*

Оффлайн ValeriyP

  • архитектор
  • ****
  • 498
  • Репутация: +64/-1
  • Пол: Мужской
  • ArchiCad Coral Draw Artlantis
Re: Первые шаги в GDL
« Ответ #172 : Сентября 07, 2015, 14:54:53 »
Вы вероятно автомобиль водили еще в состоянии эмбриона, в таком же возрасте и GDL программированием начали заниматься.
Не в состоянии эмбриона- о вождении автомобиля я даже и не думал. Водить автомобиль я начал уже в довольно зрелом подростковом возрасте-когда уже знал- что такая круглая фигня, в форме баранки, в кабине- это руль. И так же знал как называются все прочие фигни и ручки на которые следует нажимать и дёргать. Поэтому не задавал товарищам которые уже умели водить вопросов такого типа- залез в гараже в батину машину кручу такую фигню круглую в кабине, смотрю такая - самая большая фигня что на земле стоит- то же поворачивается. И вот кручу я её кручу, а она вдруг раз и дальше не крутится- что делать.
 Программировать начал уже совсем в зрелом возрасте после школы- в заведении куда я определился была информатика. Изучали бейс, базовый язык того времени ( преподавал бывший военный программист )

Ради любопытства вопрос:
GDL программированием вы профессионально занавеситесь, это ваша основной вид деятельности?
GDL программированием занавешусь с года этак 2002.  Вот мои занавески того периода
https://www.youtube.com/watch?v=80R3FyblbPs&feature=youtu.be
Другие мои занавески в соседней теме.
Также много занавесок - на различных BIM серверах буржуйской принадлежности.

Вы меня простите, я не хочу Вас обидеть. И только приветствую все Ваши начинания, совершенно не парясь о том, что возможно помогаю своему будущему конкуренту ( не так велик для этого круг писателей на GDL ). Но я считаю - раз Вы здесь уже задаёте вопросы, то потрудитесь для начала задавать их на понятном языке.

*

Оффлайн regySER

  • ***
  • 236
  • Репутация: +19/-0
Re: Первые шаги в GDL
« Ответ #173 : Сентября 10, 2015, 11:17:15 »
Какой командой правильно задать (получить) отметку уровня проема (дверного или оконного) для выносной надписи?


*

Оффлайн Int

  • *****
  • 3812
  • Репутация: +378/-5
  • Пол: Мужской
Re: Первые шаги в GDL
« Ответ #174 : Сентября 10, 2015, 12:26:18 »
Есть такая переменная:
 
WIDO_SILL_HEIGHT - номинальная высота подоконника/порога оконного/дверного проема.

Вызывается как-то через REQUEST, уточнят более знающие)

*

Оффлайн Kuvbur

  • ^_^
  • ****
  • 368
  • Репутация: +69/-0
  • Пол: Мужской
Re: Первые шаги в GDL
« Ответ #175 : Сентября 10, 2015, 13:14:28 »
REQUEST не нужен. Можно вот так. Я это, правда, в родительское семейство своих окон добавлял, а не в выносную.
   aaz = SYMB_POS_Y + WALL_POSITION[3]
   if az = nul then az = "0.000" else az = str("%.3m", abs(aaz))
   if aaz < 0 then znak1 = "-"
   if aaz > 0 then znak1 = "+"
   if aaz = 0 then znak1 = ""
   parameters otm_niz = znak1+az
Если SYMB_POS_Y и WALL_POSITION[3] выносной надписью извлечь не получится, то попробуйте через Assoclp_parvalue
Имена параметров подставьте свои
           nd1 = request("Assoclp_parvalue", param_name_t, namindd1, typed1, flagd1, dim1d1, dim2d1, param_val)
      if VARTYPE(param_val) = 1 then
         txt_vin = str("%.0",param_val)
      else
         txt_vin = param_val
      endif
Вообще, лучше создайте свои окна на основе существующих (просто сохраните их как новый библ элемент через меню сохранить как), и в них добавить вызов подпрограммы "параметры окна". В который и добавьте код вычисления отметки. А выносной просто вытаскивайте готовый текст с помощью Assoclp_parvalue. Новые параметры не нужно добавлять в каждый тип окна - добавляйте в родительский шаблон.

*

Оффлайн regySER

  • ***
  • 236
  • Репутация: +19/-0
Re: Первые шаги в GDL
« Ответ #176 : Сентября 10, 2015, 18:21:34 »
В первом варианте:
 (см. рис. 01)
Если убираю проблемную строку
(см. рис. 02)
Имена параметров подставьте свои
Во втором варианте не понятно какие именно параметры нужно подставлять

*

Оффлайн Kuvbur

  • ^_^
  • ****
  • 368
  • Репутация: +69/-0
  • Пол: Мужской
Re: Первые шаги в GDL
« Ответ #177 : Сентября 10, 2015, 20:24:33 »
Оба окна являются предупреждениями и их можно игнорировать. В параметр otm_niz попадает отметка?
Попробуйте в своём объекте, в основной вкладке, написать text2 0,0,SYMB_POS_Y + WALL_POSITION[3] и покажите скриншот результата.

*

Оффлайн regySER

  • ***
  • 236
  • Репутация: +19/-0
Re: Первые шаги в GDL
« Ответ #178 : Сентября 11, 2015, 10:58:30 »
В параметр otm_niz попадает отметка?
Как это можно проверить? Эту строку я просто скопировал, как и все остальные (приведенные выше)
В параметр otm_niz попадает отме
Попробуйте в своём объекте, в основной вкладке, написать text2 0,0,SYMB_POS_Y + WALL_POSITION[3] и покажите скриншот результата.
Вот результат:

*

Оффлайн Kuvbur

  • ^_^
  • ****
  • 368
  • Репутация: +69/-0
  • Пол: Мужской
Re: Первые шаги в GDL
« Ответ #179 : Сентября 11, 2015, 16:41:10 »
Отметка, видимо не видит параметр SYMB_POS_Z.
Попробуйте через WIDO_SILL_HEIGHT+WALL_POSITION[3] найти. Так работает, проверил, см. рисунок 1.
Либо всё же добавьте этот параметр в окно, тогда сможете нормальную ведомость отверстий давать.

 

Похожие темы

  Тема / Автор