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

*

Perlovka_Nat

GDL в разных версиях ArchiCAD
« : Сентября 29, 2010, 21:43:23 »
В общем имеется программка на GDL, написанная в ArchiCAD 6.5. Это бибилиотченый элемент многоволновой оболочки(купола). Версия устарела и появилась необходиомсть перевести все это на  GDL ArchiCAD 12 или более новой версии.Как это делать незнаю, не получается. Думаю может есть какие-то серьезные изменения от 6.5 до 12.Почитать бы тех.документацию к языку. Не могу найти. Или посоветуйте как можно сделать. И еще пишите простыми словами, я в этом новичек многого понять не смогу сразу.Спасибо заранее.
« Последнее редактирование: Сентября 29, 2010, 23:23:19 от Perlovka_Nat »

*

Оффлайн crazyASD

  • Самый главный
  • *****
  • 8508
  • Репутация: +514/-25
  • Пол: Мужской
  • iCrazy
Re: GDL в разных версиях ArchiCAD
« Ответ #1 : Сентября 29, 2010, 23:28:10 »
Во-первых для начала сходите на официальный сайт: http://www.archicad.ru/support/gdl/developer-zone.html
Во- вторых попробуйте пересохранить библиотечный элемент в ArchiCAD 9.

*

Оффлайн ALAKK

  • *****
  • 625
  • Репутация: +55/-7
  • Пол: Мужской
  • Он спорил с модером...
Re: GDL в разных версиях ArchiCAD
« Ответ #2 : Октября 11, 2010, 14:56:57 »
Не готов что-нибудь сказать про объекты АС6.5, но библиотеку от АС8.1  АС12 читает напрямую и без проблем.

Попробуй сделать так:
Из АС12 подгрузи через менеджер нужный тебе объект и открой его скрипт.
В любом незначащем месте (в конце любой строки) вставь пробел и нажми "Сохранить". Это сохранится уже в 12 версии и не внесет изменений в скрипт.
Не сумеешь сам - шли в почту. Только куполов в новых Арчиках полно и без старья

*

Perlovka_Nat

Re: GDL в разных версиях ArchiCAD
« Ответ #3 : Ноября 11, 2010, 23:37:33 »
Спасибо, за советы. Но ничего не получается. Выдается ошибка, которую не понимаю, как править. Пишет, что системная ошибка. Я так понимаю, что это  особенности языка




В 6.5 такой ошибки не возникает. Поэтому, не понимаю, как ее исправлять
« Последнее редактирование: Ноября 20, 2010, 13:54:51 от Valery W »

*

Оффлайн Int

  • *****
  • 3783
  • Репутация: +375/-5
  • Пол: Мужской
Re: GDL в разных версиях ArchiCAD
« Ответ #4 : Ноября 11, 2010, 23:41:11 »
Теперь видно, что там внутри скрипта в строке 144 выполняется такое неудобное деление на ноль, только и всего :)
Можно теперь искать эту строку и смотреть что там происходит со значениями переменных.

*

Perlovka_Nat

Re: GDL в разных версиях ArchiCAD
« Ответ #5 : Ноября 15, 2010, 00:11:53 »
Понятно, что проблемы с делением. Как исправить?В 6.5 версии такой проблемы не возникает.
Посмотрите, скажите, может синтаксис изменился и поэтому не правильно. А то я не вижу совсем ошибки


Операторы подпрограммы итерации 2007
(определение длин рёбер №№ 2,3,...,ir)

2007:
 dim b1[5000],h[5000],d[5000],al[300],al1[300],rad[300],x[5000],y[5000],z[5000]
a1=sur
a2=cur
a3=dx
a4=dy
a5=dz
a6=u
    a6=0
    ro=sqr((sqr(a2**2-a6**2)-a5)**2+(a6-a4)**2+a3**2)
    a6=-a2
    rm05=sqr((sqr(a2**2-a6**2)-a5)**2+(a6-a4)**2+a3**2)
    c=a4**2*a2**2
    c1=a5**2+a4**2
    armin=sqr(c/c1)// строка ошибки
    if a4<0 goto 55
    goto 6
55:
   armin=-armin

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +633/-14
  • Пол: Мужской
Re: GDL в разных версиях ArchiCAD
« Ответ #6 : Ноября 15, 2010, 08:25:30 »
А где задано значение с1?
Если нигде, то ото равно нулю.

*

Perlovka_Nat

Re: GDL в разных версиях ArchiCAD
« Ответ #7 : Ноября 15, 2010, 22:59:31 »
А с1 рассчитывается строчкой выше.
Я по всякому уже править пыталась, ошибок только больше. Думала, что проблема в синтаксисе, но в руководстве по GDL ничего путного найти не могу :'(
« Последнее редактирование: Ноября 16, 2010, 07:49:53 от Valery W »

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +633/-14
  • Пол: Мужской
Re: GDL в разных версиях ArchiCAD
« Ответ #8 : Ноября 16, 2010, 07:55:29 »
А с1 рассчитывается строчкой выше.
Не по глазам было.
Тогда копаем дальше.
Вероятно значения a4=dy и a5=dz равны нулю.

Цитировать
Я по всякому уже править пыталась, ошибок только больше. Думала, что проблема в синтаксисе, но в руководстве по GDL ничего путного найти не могу
Мы можем продолжать копать и дальше, а вернее гадать на кофейной гуще, еще страниц десять.
А можем нормально все это решить, если Вы переборите что-то в себе, что мешает Вам выложить этот библиотечный элемент.

*

Оффлайн lsr

  • *****
  • 1235
  • Репутация: +242/-6
  • Пол: Мужской
  • http://sl-gdl.com
Re: GDL в разных версиях ArchiCAD
« Ответ #9 : Ноября 16, 2010, 07:58:50 »
Так у вас ошибка может сидеть и в A2, A4, A5

*

Perlovka_Nat

Re: GDL в разных версиях ArchiCAD
« Ответ #10 : Ноября 16, 2010, 09:27:31 »
Вот файлик
Кому интересно можно запустить сначала в 6.5 (могу дать ArchiCAD), посмотреть, что должно быть.
Странно, я думала, что если в одной версии работает, то и в другой должно. Ну по крайнейней мере считать должно одинаково...


От модератора: Файл прикрепил к посту.
« Последнее редактирование: Ноября 20, 2010, 17:40:40 от Valery W »

*

Оффлайн ALAKK

  • *****
  • 625
  • Репутация: +55/-7
  • Пол: Мужской
  • Он спорил с модером...
Re: GDL в разных версиях ArchiCAD
« Ответ #11 : Ноября 16, 2010, 16:21:28 »
В таких случаях я пользуюсь дебуггером. Чего и Вам желаю. В ArchiCAD он, правда, слабенький, но все же есть...
Что касается разницы в версиях языка, то она есть. И значительная. Тут вопрос именно в этом, т.к. по дебуггеру получается, что значения этих переменных переводятся в другой (не читаемый) регистр. Я так понял. Странно вроде... Нет системных переменных с подобными именами, ничего вроде как им не мешает жить... Гм...

Как-то поборем, если будет время.


« Последнее редактирование: Ноября 20, 2010, 14:06:39 от Valery W »

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +633/-14
  • Пол: Мужской
Re: GDL в разных версиях ArchiCAD
« Ответ #12 : Ноября 16, 2010, 19:46:55 »
Там все переписывать надо.

То же самое можно построить, только по одной волне и далее тиражировать, с помощью объекта Tentmaker.
http://cadstudio.ru/forum/index.php/topic,17842.0.html

П.С. ArchiCAD 12 указывает только на одну ошибку. Откройте объект в АС13, и он покажет все остальные.

*

Оффлайн ALAKK

  • *****
  • 625
  • Репутация: +55/-7
  • Пол: Мужской
  • Он спорил с модером...
Re: GDL в разных версиях ArchiCAD
« Ответ #13 : Ноября 16, 2010, 20:02:30 »
П.С. ArchiCAD 12 указывает только на одну ошибку. Откройте объект в АС13, и он покажет все остальные.

Я в десятке смотрел.

Переписывать? Кому это надо? Есть масса других вариантов построения. Начиная от тупых тел вращения до чудес параметризации в ГДЛ

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +633/-14
  • Пол: Мужской
Re: GDL в разных версиях ArchiCAD
« Ответ #14 : Ноября 17, 2010, 09:17:11 »
...Есть масса других вариантов построения. Начиная от тупых тел вращения до чудес параметризации в ГДЛ

Этот объект и есть "чудо параметризации в ГДЛ" :)
И это многоволновая оболочка. Такие вещи только объектами пока делаются.
Кстати, объект, в отличии от Tentmaker, ценен тем, что он полнотелый (строится из примитивов SLAB). А это значит, что им можно подрезать стены с помощью SEO.

*

Perlovka_Nat

GDL в разных версиях ArchiCAD
« Ответ #15 : Ноября 17, 2010, 23:00:32 »
Да, штука интересная. Но только никто не хочет возиться с ArchiCAD 6.5 :(
А перевести в новую версию оказалось совсем не легко :(

Это оболочка малого пролета, у меня и большого пролета есть, была мысль усовершенсвовать ее, после того как перекину в новую версию. Заново писать нет сил, да и не так хорошо я в этом разбираюсь

*

Оффлайн ALAKK

  • *****
  • 625
  • Репутация: +55/-7
  • Пол: Мужской
  • Он спорил с модером...
Re: GDL в разных версиях ArchiCAD
« Ответ #16 : Ноября 17, 2010, 23:48:53 »
Для информации могу добавить, что АС7 видит объект и работает с ним. А вот АС 8.1 уже глючит с той же ошибкой. Так что...

*

Perlovka_Nat

Re: GDL в разных версиях ArchiCAD
« Ответ #17 : Ноября 18, 2010, 09:38:45 »
Мне вот просто сказали , что в 8 версии были большие изменения, поэторму возможна так все и происходит. Возможно это и объясняет, что в 7 работает, а в 8.1 уже нет.

*

Оффлайн ALAKK

  • *****
  • 625
  • Репутация: +55/-7
  • Пол: Мужской
  • Он спорил с модером...
Re: GDL в разных версиях ArchiCAD
« Ответ #18 : Ноября 18, 2010, 21:00:58 »
На кошке обсуждают подобную проблему. Дали ссылку на конвертер файлов из АС7 в АС10. Пойдет и АС6.5, мне кажется. Пробуй скачать, установить и сконвертить.

http://www.graphisoft.com/support/archicad/downloads/Fileconverter.html

*

Оффлайн dimfox

  • ***
  • 153
  • Репутация: +2/-0
  • Пол: Мужской
  • Дмитрий Дмитриев
Re: GDL в разных версиях ArchiCAD
« Ответ #19 : Ноября 18, 2010, 22:00:00 »

*

Perlovka_Nat

Re: GDL в разных версиях ArchiCAD
« Ответ #20 : Ноября 18, 2010, 22:20:41 »
О спасибо, сейчас скачаю. Насчет ключа, посмотрим, что нибудь сделаем. Скажу позже о результатах

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +633/-14
  • Пол: Мужской
Re: GDL в разных версиях ArchiCAD
« Ответ #21 : Ноября 20, 2010, 17:51:38 »
Да, штука интересная. Но только никто не хочет возиться с ArchiCAD 6.5 :(
А перевести в новую версию оказалось совсем не легко :(

Это оболочка малого пролета, у меня и большого пролета есть, была мысль усовершенсвовать ее, после того как перекину в новую версию. Заново писать нет сил, да и не так хорошо я в этом разбираюсь

Во-первых, объект GDL-версии 17, т.е. последний раз его редактировали в АС7.
Во-вторых, он толком не работает и в родной версии. Так написан, что изменение любого параметра приводит к ошибкам, при которых объект не может быть построен. Perlovka_Nat, это Вы его делали, или просто приложили к нему руки? Если второе, то хотелось бы видеть оригинал. Зачем Вы стерли название? Опять какие-то тайны?
В третьих. Пока накопал то, что в скрипте u=a6, а далее a6=u. Это значит, что и a6 и u равны нулю.



*

Perlovka_Nat

Re: GDL в разных версиях ArchiCAD
« Ответ #22 : Ноября 20, 2010, 18:00:50 »
Во-первых, объект GDL-версии 17, т.е. последний раз его редактировали в АС7.Во-вторых, он толком не работает и в родной версии. Так написан, что изменение любого параметра приводит к ошибкам, при которых объект не может быть построен. Perlovka_Nat, это Вы его делали, или просто приложили к нему руки? Если второе, то хотелось бы видеть оригинал. Зачем Вы стерли название? Опять какие-то тайны?В третьих. Пока накопал то, что в скрипте u=a6, а далее a6=u. Это значит, что и a6 и u равны нулю.
Отвечаю по порядку:
Изначально скрипт был написан не мной. Это и есть оригинал, который мне достался от разработчика. Свои файлы не выкладываю, они там еще больше мудренные.
Ошибки там действительно есть, честно, думала их поправить уже в новой версии.
Архикадом начала заниматься совсем не давно, поэтому многого не понимаю.
За замеченные ошибки, благодарю.
Тайн нет, названия не скрывала, просто оно на русском было.Поэтому когда заливала архив, название стерлось(если вы про это имеете в виду)

*

Perlovka_Nat

Re: GDL в разных версиях ArchiCAD
« Ответ #23 : Ноября 20, 2010, 18:09:54 »
Сразу хочу предупредить, чтобы не кидали в меня камни за использование чужой работы.
Разработчик сам мне передал свои работы на доработку, я этот скрипт не откуда не скачивала. Этот разработчик простой архитектор, который писал библиотечные элементы еще очень давно(отсюда ошибки, наверное), человек давно на пенсии поэтому подсказать мне толком ничего не может(из-за возраста возможно). Работы его очень интересны, но только никто не хочет их использовать,т.к. в новом ArchiCADе их просто не открыть. Попросили меня, как начинающего программиста. Только вот в gdl  я ничего не понимаю. Написала несколько своих библ. элементов, основываясь на его работе, опять же  версии 6.5, какие-то детали понятны. Но искать ошибки не имея толком никакой документации сложно, вот и пришла сюда. Вот.Все рассказала. :rolleyes:

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +633/-14
  • Пол: Мужской
Re: GDL в разных версиях ArchiCAD
« Ответ #24 : Ноября 20, 2010, 18:18:37 »
Как это нет?!
Папка "Документация", файл "Справочное руководство GDL.pdf". С 2008 года на русском языке (правда с ошибками перевода).
Мы все учились по нему.
Вот еще топик "Литература по созданию библиотечных элементов"

*

Оффлайн ALAKK

  • *****
  • 625
  • Репутация: +55/-7
  • Пол: Мужской
  • Он спорил с модером...
Re: GDL в разных версиях ArchiCAD
« Ответ #25 : Ноября 21, 2010, 05:31:10 »
Рекомендую не трогать арифметику автора. Далее теоремы Пифагора написатель не пошел - не хочу его никак обидеть. Потому и объем большой.
С массивами автор работает достаточно грамотно, только адресация хромает. Это поправимо. Также надо исправить типы массивов и метод их объявления. Надо ли? Но это уже более поздние соображения.
Если начать что-то менять, то надо просто переписать весь объект. Это на мой вкус и цвет

Perlovka_Nat: "Только вот в gdl  я ничего не понимаю. "

Вот тут мне сложно что-то сказать. Для программиста такое признание...

*

Perlovka_Nat

Re: GDL в разных версиях ArchiCAD
« Ответ #26 : Ноября 22, 2010, 00:33:46 »
Вот тут мне сложно что-то сказать. Для программиста такое признание...
Программирую я не на всех языках. Не видела программиста, знающего все языки от и до. Да и нет таких, собственно. С gdl недавно.

А если по теме. За подсказки спасибо, ушла думать

 

Похожие темы

  Тема / Автор