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

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

*

Оффлайн alina512

  • *
  • 10
  • Репутация: +0/-0
Первые шаги в GDL
« Ответ #465 : Сентября 04, 2019, 10:37:07 »

Test

  • и можно еще вопрос? Где нужно было ее прописать?
Если вы пытаетесь внеси k в параметры - то уберите определение переменной (k=0.8 ) из кода
[/quote]

*

Оффлайн Сергей_Serj

  • *
  • 7
  • Репутация: +0/-0
Первые шаги в GDL
« Ответ #466 : Мая 25, 2020, 12:50:53 »
Здравствуйте форумчане. Нужна помощь. Делаю планировку квартиры, для будущего ремонта. Щас на этапе мебели, хочу нарисовать шкаф-купе с раздвижными дверьми с помощью GDL. Загвоздка в том что открывание дверей в лево и в право с помощью hotstop-ов углового типа получилось сделать, а вот с hotstop-тами линейного типа, что бы они были раздвижными, как например в библиотечном объекте ArchiCAD (раздвижная дверь) не получается. Выходит то что у меня дверь не передвигается, а увеличивается ширина. Как это можно реализовать?

*

Оффлайн Vachik

  • *****
  • 4759
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #467 : Мая 25, 2020, 14:15:42 »
Здравствуйте форумчане. Нужна помощь. Делаю планировку квартиры, для будущего ремонта. Щас на этапе мебели, хочу нарисовать шкаф-купе с раздвижными дверьми с помощью GDL. Загвоздка в том что открывание дверей в лево и в право с помощью hotstop-ов углового типа получилось сделать, а вот с hotstop-тами линейного типа, что бы они были раздвижными, как например в библиотечном объекте ArchiCAD (раздвижная дверь) не получается. Выходит то что у меня дверь не передвигается, а увеличивается ширина. Как это можно реализовать?
Покажите скрипт.

*

Оффлайн ValeriyP

  • архитектор
  • ****
  • 498
  • Репутация: +64/-1
  • Пол: Мужской
  • ArchiCad Coral Draw Artlantis
Первые шаги в GDL
« Ответ #468 : Мая 25, 2020, 17:14:11 »
Покажите скрипт.

Даже не помню - где такое делал. Но могу подсказать сам процесс. Все блоки элементов нужно делать отдельно. Коробка+ 2 ве двери. с привязкой к нулевой координате. И потом монтировать в один. Раздвигание дверей получаем за счёт смены привязки. 

*

Оффлайн Сергей_Serj

  • *
  • 7
  • Репутация: +0/-0
Первые шаги в GDL
« Ответ #469 : Мая 25, 2020, 20:19:20 »
Покажите скрипт.

MATERIAL t
!==== дверька левая ====
ADDX 0.002
ADDZ 0.002
BLOCK width_door_left, tickness, height-0.004
!==== дверька правая ====
ADDX width_door_left+0.002
BLOCK width_door_right, tickness, height-0.004
DEL 3
!==== низ====
ADDY tickness
BLOCK width, depth, tickness
!==== верх====
ADDZ height-0.01
BLOCK width, depth, tickness
DEL 2
!==== левая боковина ====
ADDY tickness
ADDZ tickness
BLOCK tickness, depth-0.01, height-0.02
!==== правая боковина ====
ADDX width-0.01
BLOCK tickness, depth-0.01, height-0.02
DEL 3
!==== перегородка ====
ADDX width/2
ADDY tickness
ADDZ tickness
BLOCK tickness, depth-0.01, height-0.02
DEL 3
!==== задняя стенка ====
ADDY depth
ADDZ tickness
BLOCK width, tickness, height-0.02
DEL 2
!==== поворот двери ====
unId=0
unId=unId+1
HOTSPOT 0, -0.005, 0, unId, width_door_left, 1
unId=unId+1
HOTSPOT width_door_left, -0.005, 0, unId, width_door_left, 2
unId=unId+1
HOTSPOT -1, -0.005, 0, unId, width_door_left, 3+128

*

Оффлайн Сергей_Serj

  • *
  • 7
  • Репутация: +0/-0
Первые шаги в GDL
« Ответ #470 : Мая 25, 2020, 21:07:55 »
Даже не помню - где такое делал. Но могу подсказать сам процесс. Все блоки элементов нужно делать отдельно. Коробка+ 2 ве двери. с привязкой к нулевой координате. И потом монтировать в один. Раздвигание дверей получаем за счёт смены привязки.

Если можно, более конкретней или если есть, показать пример скрипта, так как я не продвинутый пользователь архикада и программу использую чисто в личных целях, сделать свой проект для ремонта)))

*

Оффлайн ValeriyP

  • архитектор
  • ****
  • 498
  • Репутация: +64/-1
  • Пол: Мужской
  • ArchiCad Coral Draw Artlantis
Первые шаги в GDL
« Ответ #471 : Мая 25, 2020, 21:54:21 »
Если можно, более конкретней или если есть, показать пример скрипта, так как я не продвинутый пользователь архикада и программу использую чисто в личных целях, сделать свой проект для ремонта)))

Более конкретно- ок "года полтора" уроков  - для непродвинутого пользователя. .......
Я извиняюсь- тема как то криво собрана- я думал у Vachik вопросы.
И если честно- мне как то в голову не идёт ( бегло глянул скрипт )- зачем делать то примитивную дверь- тупо из блока. В библиотеке есть же нормальных раздвижных дверей нормально.
==== дверька левая ====
ADDX 0.002
ADDZ 0.002
BLOCK width_door_left, tickness, height-0.004
как понимаю- эта часть глухая ( не двигается )
!==== дверька правая ====
ADDX width_door_left+0.002 - добавить переменную ( "параметр открывания" )- и блок начнёт двигаться.
BLOCK width_door_right, tickness, height-0.004
DEL 3

*

Оффлайн Сергей_Serj

  • *
  • 7
  • Репутация: +0/-0
Первые шаги в GDL
« Ответ #472 : Мая 25, 2020, 22:22:34 »
Более конкретно- ок "года полтора" уроков  - для непродвинутого пользователя. .......
Я извиняюсь- тема как то криво собрана- я думал у Vachik вопросы.
И если честно- мне как то в голову не идёт ( бегло глянул скрипт )- зачем делать то дверь- тупо из блока. В библиотеке есть же нормальных дверей нормально.

==== дверька левая ====
ADDX 0.002
ADDZ 0.002
BLOCK width_door_left, tickness, height-0.004
как понимаю- эта часть глухая ( не двигается )
!==== дверька правая ====
ADDX width_door_left+0.002 - добавить переменную ( "параметр открывания" )- и блок начнёт двигаться.
BLOCK width_door_right, tickness, height-0.004
DEL 3

дверь из блока так как пока эксперементирую с раздвиганием дверей, ну и что бы из библиотеки вставить в свой создаваемый объект, этого еще не пробовал делать и не знаю как

и я все равно не могу понять, добавить переменную "параметр открывания", какой параметр в ней указывать? и если этот параметр добавить в преобразование координат, дверька же просто сместится, или я не правильно понимаю.

*

Оффлайн ValeriyP

  • архитектор
  • ****
  • 498
  • Репутация: +64/-1
  • Пол: Мужской
  • ArchiCad Coral Draw Artlantis
Первые шаги в GDL
« Ответ #473 : Мая 25, 2020, 22:28:50 »
дверь из блока так как пока эксперементирую с раздвиганием дверей, ну и что бы из библиотеки вставить в свой создаваемый объект, этого еще не пробовал делать и не знаю как

Да построй корпус- хоть из перекрытий,  где у тебя двери поставь стену - настрой раздвижную дверь из библиотеки- да поставь в эту стенку..

*

Оффлайн Сергей_Serj

  • *
  • 7
  • Репутация: +0/-0
Первые шаги в GDL
« Ответ #474 : Мая 25, 2020, 22:34:18 »
Да построй корпус- хоть из перекрытий,  где у тебя двери поставь стену - настрой раздвижную дверь из библиотеки- да поставь в эту стенку..

понял) как я не додумался) спасибо)
но а все же, хотелось бы все таки понять, как сделать передвижение данного блока(двери)

*

Оффлайн ufo

  • ****
  • 398
  • Репутация: +85/-0
  • Пол: Мужской
Первые шаги в GDL
« Ответ #475 : Мая 26, 2020, 08:05:42 »
Сергей_Serj
ИМХО у Вас в скрипте изменяется параметр длины блока а надо изменять его начало координат
Создайте новый параметр poz_door_left и хотспотом отредактируйте его значение потом примение это к преобразованию координат (ADDX -если дверь вдоль оси X или ADDY если дверь вдоль оси Y), разберитесь с количеством преобразований стека DEL если что то пишу чисто с экрана токчто не проверял. 
.....
MATERIAL t
!==== дверька левая ====
ADDX 0.002 + poz_door_left
ADDZ 0.002
BLOCK width_door_left, tickness, height-0.004
........
unId=0
unId=unId+1
HOTSPOT 0, -0.005, 0, poz_door_left, 1
unId=unId+1
HOTSPOT width_door_left, -0.005, 0, unId, poz_door_left, 2
unId=unId+1
HOTSPOT -1, -0.005, 0, unId, poz_door_left, 3+128

*

Оффлайн ValeriyP

  • архитектор
  • ****
  • 498
  • Репутация: +64/-1
  • Пол: Мужской
  • ArchiCad Coral Draw Artlantis
Первые шаги в GDL
« Ответ #476 : Мая 26, 2020, 08:27:41 »
понял) как я не додумался) спасибо)
но а все же, хотелось бы все таки понять, как сделать передвижение данного блока(двери)

Так я ж уже писал. Если работаешь просто с блоком- он у тебя уже координатно обнулен по умолчанию. Ставь его в нужное место и меняй координаты привязки. Посмотри что будет при этом получатся. Завяжи теперь смену координат ( добавь переменную )-  на параметре открывания двери. В "параметр скрипт" запиши формулы максимума- минимума значений этого параметра и всё такое.
  Для того чтоб научится пользоваться ГДЛ- нужно сидеть и играться - постоянно что то пробовать- изучать основные принципы. А не пытаться заучить всё- всего очень дохрена- ни какого мозга не хватит- для этого существуют мануалы. 

*

Оффлайн Ivanov_Valeriy

  • ***
  • 129
  • Репутация: +3/-6
Первые шаги в GDL
« Ответ #477 : Мая 26, 2020, 11:56:26 »
........
unId=0
unId=unId+1
HOTSPOT 0, -0.005, 0, poz_door_left, 1
unId=unId+1
HOTSPOT width_door_left, -0.005, 0, unId, poz_door_left, 2
unId=unId+1
HOTSPOT -1, -0.005, 0, unId, poz_door_left, 3+128

мои глаза!!! Это не парню который учится. А тем кто прошел мимо.
конструкция ниже это не равнозначно - unId=1  ?
unId=0
unId=unId+1


Здесь то зачем городить огород в 3д скрипте. Достаточно простых конструкций
HOTSPOT 0,                           0.005, 0,   1,   poz_door_left,  1
HOTSPOT width_door_left,   -0.005, 0,   2,   poz_door_left,  2
HOTSPOT -1,                        -0.005, 0,   3,   poz_door_left,  3+128

ну или так  чтобы глаза не болели

unId=1
HOTSPOT 0,                           0.005, 0,  unId,  poz_door_left,  1          : unId=unId+1
HOTSPOT width_door_left,  -0.005, 0,  unId,   poz_door_left,  2          : unId=unId+1
HOTSPOT -1,                       -0.005, 0,   unId,  poz_door_left,  3+128  : unId=unId+1

по смещению створки все прсто
создаете параметр "Сместится_в_право" латиницей как угодно . Этот же параметр в хотспоты. 
код простой

ADDX Сместится_в_право
    -----------------------
    ОПИСАНИЕ СТВОРКИ
    ----------------------
DEL 1

*

Оффлайн Сергей_Serj

  • *
  • 7
  • Репутация: +0/-0
Первые шаги в GDL
« Ответ #478 : Мая 26, 2020, 21:30:09 »
Сергей_Serj
ИМХО у Вас в скрипте изменяется параметр длины блока а надо изменять его начало координат
Создайте новый параметр poz_door_left и хотспотом отредактируйте его значение потом примение это к преобразованию координат (ADDX -если дверь вдоль оси X или ADDY если дверь вдоль оси Y), разберитесь с количеством преобразований стека DEL если что то пишу чисто с экрана токчто не проверял. 
.....
MATERIAL t
!==== дверька левая ====
ADDX 0.002 + poz_door_left
ADDZ 0.002
BLOCK width_door_left, tickness, height-0.004
........
unId=0
unId=unId+1
HOTSPOT 0, -0.005, 0, poz_door_left, 1
unId=unId+1
HOTSPOT width_door_left, -0.005, 0, unId, poz_door_left, 2
unId=unId+1
HOTSPOT -1, -0.005, 0, unId, poz_door_left, 3+128

Спасибо большое! Теперь разобрался, все получилось))

*

Оффлайн Сергей_Serj

  • *
  • 7
  • Репутация: +0/-0
Первые шаги в GDL
« Ответ #479 : Июня 01, 2020, 22:11:46 »
Сергей_Serj
ИМХО у Вас в скрипте изменяется параметр длины блока а надо изменять его начало координат
Создайте новый параметр poz_door_left и хотспотом отредактируйте его значение потом примение это к преобразованию координат (ADDX -если дверь вдоль оси X или ADDY если дверь вдоль оси Y), разберитесь с количеством преобразований стека DEL если что то пишу чисто с экрана токчто не проверял. 
.....
MATERIAL t
!==== дверька левая ====
ADDX 0.002 + poz_door_left
ADDZ 0.002
BLOCK width_door_left, tickness, height-0.004
........
unId=0
unId=unId+1
HOTSPOT 0, -0.005, 0, poz_door_left, 1
unId=unId+1
HOTSPOT width_door_left, -0.005, 0, unId, poz_door_left, 2
unId=unId+1
HOTSPOT -1, -0.005, 0, unId, poz_door_left, 3+128

Здравствуйте. Хотел бы еще уточнить одну фишку, наверное глупый вопрос будет) Можно ли с помощью редактируемых хотспотов сделать дверь которая при отодвигании еще и слаживалась (как гармошка)?

 

Похожие темы

  Тема / Автор