|
|
|
|
|
13.01.2014, 13:22
|
|
БАЗИС 9 - Скрипты
Igor_482
VIP
Регистрация: 03.09.2008
Сообщений: 174
Сказал(а) спасибо: 34
Поблагодарили 794 раз(а) в 113 сообщениях
13.01.2014, 13:22
Рейтинг:
()
ВНИМАНИЕ! Правила выкладывания скриптов.
1. Если в скрипте нет ссылок на фурнитуру, фрагменты и.т.д то достаточно его упаковать в архив и выложить.
2. Если в скрипте есть ссылки на фурнитуру, фрагменты и т.д. то архив должен содержать папку с самим скриптом и всеми файлами на которые есть ссылки в тексте скрипта.
Т.к. при запуске скрипта на другом компе возникает ошибка о не возможности открыть то или иной файл и скрипт до конца не отрабатывает свой текст. Не соблюдается "чистота проверки" работы скрипта.
__________________________________________________ _______________
Интересует информация по редактору скриптов в БМ8. Существует ли справочная документация и примеры использования скриптов в БМ8. Какие возможности дает данная функция? Владеющим информацией по данному вопросу просьба поделиться ею.
Для работы скриптов от Igor_482 необходим установленный ODBC драйвер FireBird, установленные и зарегистрированные в ОС модули FBDBDialog.dll, MSDATGRD.OCX, MSCOMCTL.OCX и MSSTDFMT.DLL ( сообщение с описанием установки этих модулей в ОС, ссылка на модули и исходник "FBDBDialog.dll") а так же файл "ADODB.ini" с настройками соединения к БД в папке со скриптом.
ADODB.ini
[General]
FDBServ = t001
FBSPort = 14357
FDBFile = D:\DBBM\Библиотека\БД\BMDB09.FDB
FBCFile = C:\Windows\System32\fbclient.dll
----------------------------------------------
Переменные .ini:
FDBServ - имя ПК на котором находится сервер FireBird с используемой БД (если локально, то параметр: localhost или 127.0.0.1);
FBSPort - в настройке не нуждается (по умолчанию: 14357);
FDBFile - локальный путь к БД на сервере FireBird;
FBCFile - путь к файлу "fbclient.dll" (находится в корневой папке программы Базис).
[свернуть]
Последний раз редактировалось systland; 23.09.2016 в 11:52..
|
Просмотров: 997042
|
Пользователь сказал cпасибо:
|
|
20.01.2014, 21:47
|
#61
|
VIP
Регистрация: 24.06.2010
Адрес: Україна, Проскурів
Сообщений: 1,950
Сказал(а) спасибо: 6,603
Поблагодарили 5,053 раз(а) в 1,304 сообщениях
Вес репутации: 1374
|
Спасибо, AlexBolton и zorro за подсказки. Кое с чем разобрался. ПОка что пробую редактировать готовое. До того чтобы что-то сваять самому- еще ой как далеко .
Пока пытаюсь понять следующее(все на примере того же скрипта с параметрической тумбочкой). Соответственно, прошу помощи по таким вопросам:
1.Можно ли задать направление текстуры панелей? Крышки, дна , полки, цоколя.
2.Можно ли задать материал задней стенки, отличный от текущего материала(мне нужно ДВП Белое), но чтобы сохранить возможность замены данного материала для Задней стенки в процессе выполнения скрипта?
3.Можно ли сделать так, чтобы в окне выбора кромки для не видимых изначально было пусто? Чтобы ее можно было выбрать только при необходимости.
Заранее спасибо за помощь.
И еще
Цитата:
Сообщение от zorro
...
Traj.RoundingEx(L1, L2, p2.x - 0.5 * Rad.Value, p2.y + 0.5 * Rad.Value, Rad.Value);
Traj.RoundingEx(L3, L1, p1.x + 0.5 * Rad.Value, p1.y + 0.5 * Rad.Value, Rad.Value);
Traj.RoundingEx(L2, D1, p3.x - 0.5 * Rad.Value, p3.y, Rad.Value);
Traj.RoundingEx(L3, D1, p5.x + 0.5 * Rad.Value, p5.y, Rad.Value);
break;
}
case 1: {....
|
Если можно - расшифровать данный участок. Насколько я смог с ним разобраться( и даже изменил что-то) - задаются сопряжения для траектории фрезы на двери. Но отредактировать для того, чтобы задать сопряжение в этом месте(см. скрин) - не получается. Вернее- получается- абракадабра (обведено прямоугольником в правом верхнем углу)
|
|
|
21.01.2014, 10:07
|
#62
|
VIP
Регистрация: 15.11.2008
Адрес: г.Москва
Сообщений: 498
Сказал(а) спасибо: 3,218
Поблагодарили 1,353 раз(а) в 312 сообщениях
Вес репутации: 507
|
Цитата:
1.Можно ли задать направление текстуры панелей? Крышки, дна , полки, цоколя.
|
Задание текстуры на панелях:
RightPanel.TextureOrientation = ftoVertical;
Dno.TextureOrientation = ftoHorizontal;
Цитата:
2.Можно ли задать материал задней стенки, отличный от текущего материала(мне нужно ДВП Белое), но чтобы сохранить возможность замены данного материала для Задней стенки в процессе выполнения скрипта?
|
2.1 Как вариант. Материал уже в скрипте и менять можно после установки изделия.
ActiveMaterial.Make('ДВП Серая', 4);
Zadst = AddFrontPanel(LeftX - 5, Y1 + 5, RightX + 5, Y2 - 5, Z1); //установка задней стенки
......
SideMat.SetActive();//обязательно вернутся к текущему материалу, если этого не сделать, то все последующие построения буду из ДВП.
2.2 Или же попробовать присвоить значению материала по умолчанию для задней стенки
...Value = ActiveMaterial.Make('ДВП Серая', 4);
и посмотреть появиться ли это материал в свойствах или нет.
Цитата:
3.Можно ли сделать так, чтобы в окне выбора кромки для не видимых изначально было пусто? Чтобы ее можно было выбрать только при необходимости.
|
По поводу кромки и пердыдущего пункта с ДВП есть смысл сделать чтобы параметры введенные в окне свойств (материал, кромки, крепеж, фреза и т.д.) запоминались и при следующем обращение к скрипту будут вываливаться последние запомненные. Если я не ошибаюсь в параметрической тумбе они не запоминаются. А в скрипте Моя первая тумбочка, который лежит в Примеры для обучения/Урок 2, значения в окне свойств запоминаются.
__________________
Обходя разложенные грабли - ты теряешь драгоценный ОПЫТ!
|
|
|
21.01.2014, 13:29
|
#63
|
Пользователь
Регистрация: 11.11.2012
Адрес: Тула
Сообщений: 87
Сказал(а) спасибо: 48
Поблагодарили 46 раз(а) в 22 сообщениях
Вес репутации: 157
|
Цитата:
Сообщение от bolshoy
Знакомился сегодня со скриптами. Переделал второй урок. Убрал крышку, поставил монтажные планки. Ширина планок зависит от глубины. Фурнитура ставится по одной линии по системе 32 с базой от центра.Количество полкодержателей можно менять. Строго не судите , делал для знакомства.
|
Во-первых - спасибо.
Во вторых - при работе скрипта у меня вторая дверь не облицовывается кромкой. Также не облицовывается дно по левой и правой стороне.
В третьих - не затруднит ли Вас сделать заднюю ДВП в паз 3х5х16?
Еще раз спасибо!
|
|
|
21.01.2014, 17:04
|
#64
|
Местный
Регистрация: 18.08.2008
Сообщений: 116
Сказал(а) спасибо: 110
Поблагодарили 105 раз(а) в 27 сообщениях
Вес репутации: 223
|
Прошу помощи. Поставил в примере урок 2 новое свойство типа Да/Нет.
Cok = Korpus.NewBool('Цоколь есть?');
....................
Тут проблема.Как проверить на условие?
If (Cok.Value==True)
...................
{
Cokol = AddFrontPanel(0, 5, Dl.Value , Hd.Value, Gl.Value - 10 - Thick);
//Ставим цоколь
Cokol.Name = 'Цоколь;
Cokol.AddButt(KrNotVidimKorp, 0);
Cokol.AddButt(KrNotVidimKorp, 1);
Cokol.AddButt(KrNotVidimKorp, 2);
Cokol.AddButt(KrNotVidimKorp, 3);
Cokol.Build();
}
Спасибо заранее.
|
|
|
21.01.2014, 19:20
|
#65
|
VIP
Регистрация: 18.01.2008
Сообщений: 1,047
Сказал(а) спасибо: 2,864
Поблагодарили 1,853 раз(а) в 435 сообщениях
Вес репутации: 696
|
Вот работающий код.
Action.Continue(); /* Это вставлено чтобы посмотреть на свойства, */
/* а то они сразу закрываются */
Cok = Action.Properties.NewBool('Цоколь есть?'); //Вместо Korpus вставил Action.Properties
if (Cok.Value==True) // if был с большой буквы
{
Cokol = AddFrontPanel(0, 5, Dl.Value , Hd.Value, Gl.Value - 10 - Thick);
//Ставим цоколь
Cokol.Name = 'Цоколь'; //Здесь небыло закрывающей кавычки
Cokol.AddButt(KrNotVidimKorp, 0);
Cokol.AddButt(KrNotVidimKorp, 1);
Cokol.AddButt(KrNotVidimKorp, 2);
Cokol.AddButt(KrNotVidimKorp, 3);
Cokol.Build();
}
|
|
|
21.01.2014, 19:46
|
#66
|
VIP
Регистрация: 18.01.2008
Сообщений: 1,047
Сказал(а) спасибо: 2,864
Поблагодарили 1,853 раз(а) в 435 сообщениях
Вес репутации: 696
|
Цитата:
Сообщение от FIDEL
1.Можно ли задать направление текстуры панелей? Крышки, дна , полки, цоколя.
|
Дополню ответ уважаемого maxgmv. Сейчас тектуру можно задавать так:
Cokol = AddFrontPanel(0, 0, 500 , 700, 0);
Cokol.TextureOrientation = TextureOrientation.Horizontal;
// или Cokol.TextureOrientation = TextureOrientation.Vertical;
// или Cokol.TextureOrientation = TextureOrientation.None;
Цитата:
Сообщение от FIDEL
Если можно - расшифровать данный участок. Насколько я смог с ним разобраться( и даже изменил что-то) - задаются сопряжения для траектории фрезы на двери.
|
Как строится сопряжение.
Traj.RoundingEx(El1, El2, Xc, Yc, Radius);
El1 - первый элемент
El2 - второй элемент. Это могут быть отрезки, окружности или дуги.
Xc, Yc - координаты точки, ближайшей к требуемой дуге сопряжения
Radius - радиус сопряжения.
Если Xc, Yc будут соответствовать точке Т1 на рисунке, то построится малая дуга сопряжения.
Если будут соответствовать точке Т2 на рисунке, то построится большая дуга сопряжения.
Смотря в каком секторе она лежать будет. Сектор я условно показал.
|
|
|
21.01.2014, 22:26
|
#67
|
Местный
Регистрация: 18.08.2008
Сообщений: 116
Сказал(а) спасибо: 110
Поблагодарили 105 раз(а) в 27 сообщениях
Вес репутации: 223
|
Цитата:
Сообщение от zorro
Дополню ответ уважаемого maxgmv.
Xc, Yc - координаты точки, ближайшей к требуемой дуге сопряжения
|
И как интересно эту точку высчитывать?
Лучше был бы такой подход.По часовой (G2)-Против часовой (G3).
Если честно все новое.
Сутки просидел , а оказывается if с большой буквы написал (примите во внимание !!!).Спасибо ZORRO поправил.
Для сведения Тех.поддержка для скриптов не оказывается.Только для индивидуального изучения. Так то.
Добавлено через 11 минут
Еще вопрос.
Можно ли создать профиль по траектории (без проблем). И далее к нему применить команду (из базиса) обрезать элементы до границы.
Цель. Создать рамочный фасад (так сказать в натуре).
|
|
|
21.01.2014, 23:52
|
#68
|
VIP
Регистрация: 15.11.2008
Адрес: г.Москва
Сообщений: 498
Сказал(а) спасибо: 3,218
Поблагодарили 1,353 раз(а) в 312 сообщениях
Вес репутации: 507
|
Цитата:
Еще вопрос.
Можно ли создать профиль по траектории (без проблем). И далее к нему применить команду (из базиса) обрезать элементы до границы.
Цель. Создать рамочный фасад (так сказать в натуре).
|
Есть примеры тело по траектории лежит в папке со скритпами Дверь рамочная (эта дверь со вставкой фрагмента сечения профиля) - это раз и второй пример с профилями лежит в Профиль/Рамка из профилей, там уже применина обрезка профиля (а в этом примере профиль строится не посредственно в скрипте).
__________________
Обходя разложенные грабли - ты теряешь драгоценный ОПЫТ!
|
|
|
22.01.2014, 22:28
|
#69
|
Пользователь
Регистрация: 18.05.2010
Сообщений: 85
Сказал(а) спасибо: 51
Поблагодарили 74 раз(а) в 29 сообщениях
Вес репутации: 193
|
Закрыли доступ к редактору скриптов. Видимо большинство косяков связано с ошибками, которые он вызывал даже не будучи запущенным. Будут видимо "допиливать". Печалька... Блокнот нам в помощь. Или только у меня редактор скриптов не запускается.
Нет, в блокноте не реально....
|
|
|
22.01.2014, 23:09
|
#70
|
Гость
Регистрация: 13.10.2009
Сообщений: 7,920
Сказал(а) спасибо: 12,152
Поблагодарили 20,945 раз(а) в 5,925 сообщениях
Вес репутации: 0
|
Цитата:
Сообщение от Алексан
Закрыли доступ к редактору скриптов. .
|
|
|
|
|
|
|
Нижняя навигация
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 15:06. Часовой пояс GMT +3.
|