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

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

*

Оффлайн Kuvbur

  • ^_^
  • ****
  • 368
  • Репутация: +69/-0
  • Пол: Мужской
Первые шаги в GDL
« Ответ #390 : Августа 29, 2018, 23:50:43 »

Test

Ну, задача состоит из двух подзадач.
1. Самое сложное - найти точки пересечения(стыка) дуг. Я этого не делал:) - просто забил координаты. По хорошему - нужно бы это алгоритмом прописать.
2. Разбить дуги на участки, т.к. TUBE почему-то дуги через статусы не умеет. Тут-то как раз BasicGeometricCalc и нужен. Это стандартный для 21-й версии макрос - просто пересохранил его для 20-ки, т.к. много объектов приходится писать под 20-ю версию.  Если подключена стандартная библиотека 21-й версии, то можно BasicGeometricCalc_20 заменить на BasicGeometricCalc.  Описание его возможностей тут
С его же помощью можно и пересечения найти. Но сложнее - он только пересечение окружностей и дуг может найти.

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #391 : Августа 29, 2018, 23:59:08 »
Понятно.
Но простыня длинная получается. Легче написать вручную, через sin и cos.

*

Оффлайн Kuvbur

  • ^_^
  • ****
  • 368
  • Репутация: +69/-0
  • Пол: Мужской
Первые шаги в GDL
« Ответ #392 : Августа 30, 2018, 00:02:11 »
Ну, это да. Хотя если задача встречается часто - имхо удобнее код в макрос выносить. Заранее привыкать в внедрению Питона :laugh:

*

Оффлайн Ivanov_Valeriy

  • ***
  • 129
  • Репутация: +3/-6
Первые шаги в GDL
« Ответ #393 : Сентября 01, 2018, 17:53:59 »
Никак не пойму в чем проблема. Рассчитать направляющую?

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #394 : Сентября 01, 2018, 18:06:21 »
Никак не пойму в чем проблема. Рассчитать направляющую?
Да, рассчитать направляющую, в которой несколько дуг разного радиуса, с помощью Буфера Параметров (PUT)

Чтобы не было в пути, этих строк  с sin/cos
rsduisBolDugi = 0.21077851692485/cos(36.44533275077)
rsduisBolDugiGol = 0.07152612522576/cos(51.52231324765)
for i = 0 to 72.89066550154 step 3
put 0.436 + rsduisBolDugi*sin(-36.44533275077 + i), -0.1470182958514 + rsduisBolDugi*cos(-36.44533275077 + i), 0, 0
next i
tube      10, 22 + nsp/4, 1 + 2 + 16 + 32, 
   0, 0, 0, 
   0.035, 0, 0, 
   0.035, 0.0015, 1, 
   0.035, 0.0165,    900, 
   0, 180,   4002, 
   0.035, 0.033, 2, 
   0.005, 0.033, 1, 
   0.005, 0.028,    900, 
   0, 90,   4001, 
   0, 0, 0,
   
   - 1, 0, 0, 0,
   0, 0, 0, 0,
   0.0848, 0,      0, 0,
   0.0848 + 0.331721862793*sin(5), 0.331721862793 - 0.331721862793*cos(5), 0, 0, 
   0.0848 + 0.331721862793*sin(10), 0.331721862793 - 0.331721862793*cos(10), 0, 0, 
   0.0848 + 0.331721862793*sin(15), 0.331721862793 - 0.331721862793*cos(15), 0, 0,
   0.0848 + 0.331721862793*sin(20), 0.331721862793 - 0.331721862793*cos(20), 0, 0,
   0.0848 + 0.331721862793*sin(25), 0.331721862793 - 0.331721862793*cos(25), 0, 0, 
   0.0848 + 0.331721862793*sin(30), 0.331721862793 - 0.331721862793*cos(30), 0, 0, 
   0.0848 + 0.331721862793*sin(35), 0.331721862793 - 0.331721862793*cos(35), 0, 0, 
   0.0848 + 0.331721862793*sin(36.11965293892), 0.331721862793 - 0.331721862793*cos(36.11965293892), 0, 0,
   get(nsp),
   0.7871976655781 - 0.331721862793*sin(36.11965293892), 0.331721862793 - 0.331721862793*cos(36.11965293892), 0, 0,
   0.7871976655781 - 0.331721862793*sin(35), 0.331721862793 - 0.331721862793*cos(35), 0, 0,
   0.7871976655781 - 0.331721862793*sin(30), 0.331721862793 - 0.331721862793*cos(30), 0, 0,
   0.7871976655781 - 0.331721862793*sin(25), 0.331721862793 - 0.331721862793*cos(25), 0, 0,
   0.7871976655781 - 0.331721862793*sin(20), 0.331721862793 - 0.331721862793*cos(20), 0, 0, 
   0.7871976655781 - 0.331721862793*sin(15), 0.331721862793 - 0.331721862793*cos(15), 0, 0,
   0.7871976655781 - 0.331721862793*sin(10), 0.331721862793 - 0.331721862793*cos(10), 0, 0,
   0.7871976655781 - 0.331721862793*sin(5), 0.331721862793 - 0.331721862793*cos(5), 0, 0,
   0.7871976655781, 0, 0, 0,
   b -  0.12, 0, 0, 0,
   b + 1, 0, 0, 0

*

Оффлайн Ivanov_Valeriy

  • ***
  • 129
  • Репутация: +3/-6
Первые шаги в GDL
« Ответ #395 : Сентября 01, 2018, 18:39:43 »
Рассчитайте на плане и перетащите в скрипт.  Мне не понятна степень сложности на выходе. Если это статичная направляющая то это совсем просто. Если планируется параметризировать в целом или участками и так далее то это уже не для новичков.. Вот этот момент я не понимаю. Буфер есть буфер. Можно как с ним так и без него строить.     "с помощью Буфера Параметров (PUT)"

*

Оффлайн SIMFF

  • *****
  • 2299
  • Репутация: +194/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #396 : Сентября 01, 2018, 18:55:27 »
BrandashmыgVachik,  Ваши коды для меня просто высший пилотаж.
Приоткройте тайну, где такой сложный код может использоваться. Любопытно очень.

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #397 : Сентября 01, 2018, 19:06:20 »
BrandashmыgVachik,  Ваши коды для меня просто высший пилотаж.
Приоткройте тайну, где такой сложный код может использоваться. Любопытно очень.
Код Brandashmыg например может быть в Ограждениях_Ани, не утверждаю, но вполне может быть.
А мой, в карнизах и всё такое. Ну в принципе где угодно.

*

Оффлайн SIMFF

  • *****
  • 2299
  • Репутация: +194/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #398 : Сентября 01, 2018, 19:26:15 »
......
А мой, в карнизах и всё такое. ....
О карнизах просьба...  но более простых. Извините, что злоупотребляю и не в тему "вашей научной беседы".

*

Оффлайн Richi

  • 3
  • Репутация: +0/-0
Первые шаги в GDL
« Ответ #399 : Сентября 02, 2018, 15:36:33 »
Добрый день.
Прошу помочь с параметрами объекта, а именно:
возможно ли и как это прописать, что бы объект "понимал" на каком этаже находится и в заданном параметре автоматически бы указывал номер или наименование этажа?
ArchiCAD 21

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #400 : Сентября 02, 2018, 17:43:57 »
Richi, в виде запроса REQUEST
Извините, вам запрещён просмотр содержимого спойлеров.
читайте Справочное Руководство GDL, там все написано.

*

Оффлайн SIMFF

  • *****
  • 2299
  • Репутация: +194/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #401 : Сентября 20, 2018, 12:47:47 »
Есть ли в GDL НЕ ПЕЧАТНЫЕ символы, которые можно было бы установить по указанным условиям.
Которые будут видны на плане этажа, а если еще и в 3D окне, то это вообще было бы великолепно, но не печатаются на бумагу или при сохранении PDF или DWG формат.
Такие не печатные символы, как Манипуляторы текста или рисунков, которые включаем/выключаем в Меню - Вид - Параметры вывода на Экран

*

Оффлайн atmk

  • **
  • 60
  • Репутация: +1/-0
Первые шаги в GDL
« Ответ #402 : Сентября 20, 2018, 13:24:00 »
Уважаемы знатоки GDL! В перемычка ext2 в ArchiCAD 22 неправильно отбражаются специальные параметры, а именно количество типов элементов. Помгите исправить! 

*

Оффлайн Vachik

  • *****
  • 4758
  • Репутация: +734/-4
  • Пол: Мужской
Первые шаги в GDL
« Ответ #403 : Сентября 20, 2018, 13:38:01 »
Есть ли в GDL НЕ ПЕЧАТНЫЕ символы, которые можно было бы установить по указанным условиям.
Которые будут видны на плане этажа, а если еще и в 3D окне, то это вообще было бы великолепно, но не печатаются на бумагу или при сохранении PDF или DWG формат.
Такие не печатные символы, как Манипуляторы текста или рисунков, которые включаем/выключаем в Меню - Вид - Параметры вывода на Экран
Ни когда не пробовал, но может помочь. Правда не то что печать, а отображение в Макете.
GLOB_VIEW_TYPE 
• 2 - 2D (План Этажа)
• 3 - 3D
• 4 - Разрез
• 5 - Фасад
• 6 - 3D-документ
• 7 - Деталь
• 8 - Макет
• 9 - Ведомость

*

Оффлайн Kuvbur

  • ^_^
  • ****
  • 368
  • Репутация: +69/-0
  • Пол: Мужской
Первые шаги в GDL
« Ответ #404 : Сентября 20, 2018, 13:43:32 »
Мне кажется, такое можно сделать только через кастомные параметры модельного вида.
Отдельного триггера в ГДЛ на сохранение/печать я не видел

 

Похожие темы

  Тема / Автор