Форум ArchiCAD и BIM по-русски - CADstudio.ru
ARCHICAD => Библиотеки. Библиотечные элементы. GDL => GDL-программирование => Тема начата: Jazzi от Августа 10, 2007, 15:30:31
-
??? Перешла на МАС. Загрузила проект,который делался на РС и получила проблему - двери и окна из стандартной библиотеки 8 версии не видны. Ругается на ошибку в скрипте. Проверяю скрипт и вижу вот что:
IF gs_detlevel_2d=Scale Sensitive AND A_>U_ OR gs_detlevel_2d=Simple THEN
if gs_window_trim <> Off then
osl=gs_trim_thk*(ln<>Left Side and ln<>Both Sides)
osr=gs_trim_thk*(ln<>Right Side and ln<>Both Sides)
endif
!endif
if gs_window_trim <> Off then gs_trim_thko=gs_trim_thk else gs_trim_thko=0
===!CORNER OSize
parameters ac_left_oversize=(wido_left_jamb*lich)+osl
rover_1=max(wido_right_jamb,wido_left_jamb)*lich
rover_2=max((wido_sill+gs_frame_thk)*tan(90-ac_corner_angle/2)+0.05,abs((wall_thickness-wido_sill)/tan(ac_corner_angle-180)-(ac_con_wall_thk-wido_sill)/sin(ac_corner_angle-180)))+0.05
if ac_cw_function and ac_corner_window then
parameters ac_right_oversize=(0.19+rover_1+rover_2)*not(ac_corner_angle=0)+gs_trim_thko!+2*ac_cw_debug
parameters gs_shutter_pos=Left Side
lock "gs_shutter_pos"
parameters gs_cavity_side=Left
lock "gs_cavity_side"
Заменился символ, который на РС виден как буква г с закорючкой на дельту(треугольник).Требует выражение числового типа. И так во всех окнах и дверях. Замена их на новые - два дня работы, доделывать на РС нет возможности. В языке я не разбираюсь.
Может кто знает, что надо подставить, чтоб исправить скрипт?
Заранее спасибо.
-
Попробуйте, выделив весь текст скрипта вставить в текстовый редактор и там сменить шрифт на другой.
-
Судя по приведенным фрагментам, я делаю вывод о том, что свалился символ одинарных кавычек.
Требуется с помощью поиска и замены заменить символ треугольной формы на стандартные двойные кавычки в вашей раскладке. Во всех скриптах объекта.
Пробуйте так
ЗЫ Потом уж прочитал, что не знаете ГДЛ. Более подробно:
Раз уж добрались до скрипта - на этом не останавливаюсь.
Тыкаете мышом в окне 2Д скрипта.
Меню/Редактор/Найти и заменить
В окошке в строке, где найти, вставляете ваш символ (предварительно copy его, а здесь paste)
Жмете на заменить все. И так во всех окнах скрипта. Перед закрытием нажмите на "Проверить скрипт" (в верхней строке каждого окна). Если будут ошибки, вам сообщат. Повторить эту операцию в том окне, где возникает ошибка
-
Заменила на кавычки, во время проверки пишет : "использование типов real" может привести к проблемам, связанным с точностью представления чисел". И так в нескольких строках.....
-
Хотел сразу добавить про real, да забыл. Не обращайте внимания.
Если при сохранении не выдает ошибок компиляции, смело запускайте
-
ОГРОМНОЕ СПАСИБО - ВСЕ ПОЛУЧИЛОСЬ!
-
:-\ыОбнаружилась еще одна штука в этлм кусочке:
call "trimmyboy" parameters a=a,b=b,gs_detlevel_2d=gs_detlevel_2d,ln=ln,
ac_cw_function=ac_cw_function,ac_corner_window=ac_corner_window,
ac_corner_angle=ac_corner_angle,gs_frame_thk=gs_frame_thk,
gs_wcont_line=gs_wcont_line,gs_wcont_line_out=gs_wcont_line_out,
gs_wcont_line_in=gs_wcont_line_in,gs_opline_type=gs_opline_type,
ac_right_oversize=ac_right_oversize,gs_trim_in_mat=gs_trim_in_mat,
gs_trim_out_mat=gs_trim_out_mat,gs_window_trim=gs_window_trim,
gs_trim_thk=gs_trim_thk,gs_tw_left_in=gs_tw_left_in,
gs_tw_right_in=gs_tw_right_in,gs_tw_top_in=gs_tw_top_in,
gs_tw_bottom_in=gs_tw_bottom_in,gs_tw_left_out=gs_tw_left_out,
gs_tw_right_out=gs_tw_right_out,gs_tw_top_out=gs_tw_top_out,
gs_tw_bottom_out=gs_tw_bottom_out,gs_trim_offs=gs_trim_offs,
ac_con_wall_thk=ac_con_wall_thk,ac_diff_con_wall_thk=ac_diff_con_wall_thk, gs_frame_wall=gs_frame_wall
Пишет (Судя по всему в первой строке в слове "trimmyboy" ) нужно выражение числового типа, хотя в писишной версии стоят кавычки и все остальное один в один. Это в 3д скрипте.
-
Вот если сначала был вопрос по-существу с образцом скрипта и ошибки, то сейчас только эмоции.
trimmyboy это имя подпрограммы. Где сообщение компилятора?
-
Вот что он пишет :
Неправильный символ <> в исходном GDL-тексте
в строке 1044 в скрипте 3D файла trimmyboy.gsm.
Необходимо выражение числового типа
в строке 1044 в скрипте 3D файла trimmyboy.gsm.
Не могу скомпилировать макрос `;trimmyboy`;
в строке 100 в скрипте 3D файла W Pivot Hung.gsm.
Кусочек к которому он адресован я высылала,
Везде замена на кавычки сработала все запустилось корме 3д скрипта библиотеки окон
-
Милая девушка.
Обратите внимание на то, что я писал сменить этот поганый символ во "всех окнах скрипта". Ну что ж тут сложного? Есть 2Д и 3Д скрипт - так поменяйте и там. Есть еще и скрипт параметров и основной - слева на панельке есть наименования, а рядом с ними (правее) - символы типа "окошечко". Так вот правым кликом по этому окошку и появится скрипт. Исправляйте все и везде, радость моя.
ЗЫ. Кстати. Сообразил позднее.
Раз это у вас окно, то, скорее всего, основной скрипт вызывает макросы. Надо все проделать и со всеми макросами. Вам очень повезет, если при вызове макросов вы не увидите ругани с экрана.
ЗЗЫ Макросы - это своего рода подпрограммы. Для инфы. Плз
-
Да в том то и дело, что я уже не до такой степени тупая - заменила везде.
А он упорно пишет мне эту фигню, которую я высылала выше. Между прочим в этом кусочке,который он выделил все нормально, а он пишет обратное...
-
Ищите глобальным поиском по диску файл про этого мальчишку и исправляйте также и там.
-
Жаль, что из МАС-сообщества никто не откликнулся.
Мои предположения. Возможно, это связано с файлом XReadCfg.txt который отвечает за конвертацию шрифтов с PC на MAC и обратно. Находится в папке "Расширения ArchiCAD (Add-Ons)".
Могу дать только информацию как открывать макросы без поиска в проводнике.
Выделите в тексте скрипта название макроса и выполните команду "Открыть библиотечный элемент" (см. скриншот). Откроется новое окно этого макроса.