|
|
|
|
|
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..
|
Просмотров: 985483
|
Пользователь сказал cпасибо:
|
|
28.01.2014, 13:53
|
#131
|
Местный
Регистрация: 30.11.2011
Сообщений: 283
Сказал(а) спасибо: 275
Поблагодарили 803 раз(а) в 179 сообщениях
Вес репутации: 358
|
Цитата:
Сообщение от Ozimko
Я так и сделал, извините за корявый русский.... Результата нет - все то же самое
|
а так?
Скрытый текст
Evrik = OpenFurniture('Полкодержатель.f3d')
Bok1 = GetPanel("Укажите 1-ую вертикальную панель");
Bok2 = GetPanel("Укажите 2-ую вертикальную панель");
x1 = Bok1.GabMax.x + 1;
x2 = Bok2.GabMin.x - 1;
while (true) {
Polka = GetPanel("Укажите горизонтальную панель");
Py = Polka.GabMin.y - 1;
z1 = Polka.GabMin.z;
z2 = Polka.GabMax.z;
Evrik.Mount(Polka, Bok1, x1, Py, z1 + 64)
Evrik.Mount(Polka, Bok2, x2, Py, z1 + 64)
Evrik.Mount(Polka, Bok1, x1, Py, z2 - 32)
Evrik.Mount(Polka, Bok2, x2, Py, z2 - 32)
Action.Commit();
} [свернуть]
|
|
|
28.01.2014, 14:06
|
#132
|
Местный
Регистрация: 28.07.2008
Адрес: Краснодарский край, г. Сочи
Сообщений: 350
Сказал(а) спасибо: 1,107
Поблагодарили 554 раз(а) в 178 сообщениях
Вес репутации: 337
|
А как интересно прописать строки,чтобы была возможность задавать в сплававшем окне определённое смешение для крепежа, от передней и от задней части полки? Не могу сообразить
|
|
|
28.01.2014, 14:08
|
#133
|
VIP
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 356
|
Так все ок! Спасибо.
|
|
|
28.01.2014, 14:15
|
#134
|
VIP
Регистрация: 15.11.2008
Адрес: г.Москва
Сообщений: 498
Сказал(а) спасибо: 3,218
Поблагодарили 1,353 раз(а) в 312 сообщениях
Вес репутации: 507
|
__________________
Обходя разложенные грабли - ты теряешь драгоценный ОПЫТ!
|
|
|
28.01.2014, 15:38
|
#135
|
VIP
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 356
|
Зацените - то же, но крепеж от зада с шагом 32:
Скрытый текст
Evrik = OpenFurniture('полкодержатель арт.ЕА24+242_L_CGR+ доп отв +-32.f3d')
Bok1 = GetPanel("Укажите 1-ую вертикальную панель");
Bok2 = GetPanel("Укажите 2-ую вертикальную панель");
x1 = Bok1.GabMax.x + 1;
x2 = Bok2.GabMin.x - 1;
while (true) {
Polka = GetPanel("Укажите горизонтальную панель");
Py = Polka.GabMin.y - 1;
z1 = Polka.GabMin.z;
z2 = Polka.GabMax.z;
shag = 32;
Zpol = z2-z1-35;
ZPolder = Zpol % 32;
Evrik.Mount(Polka, Bok1, x1, Py, z1 + 64)
Evrik.Mount(Polka, Bok2, x2, Py, z1 + 64)
Evrik.Mount(Polka, Bok1, x1, Py, (Zpol - ZPolder))
Evrik.Mount(Polka, Bok2, x2, Py, (Zpol - ZPolder))
Action.Commit();
} [свернуть]
Гуру - научите....
Задача - хочу установить горизонтальную панель между двух вертикальных, а позицию y указывать на лицевом виде (или виде сбоку....) чтобы сама панель двигалась и фиксировалась кликом мыши.
И еще. Господа разработчики! Такое чувство, что скрипты могут увеличить производительность ОЧЕНЬ существенно.... Есть неудобство - непосредственно сам выбор исполняемого скрипта. Горячие клавиши - супер! А если бы еще и панель инструментов..... Цены бы не было!
|
|
|
29.01.2014, 10:11
|
#136
|
Местный
Регистрация: 30.11.2011
Сообщений: 283
Сказал(а) спасибо: 275
Поблагодарили 803 раз(а) в 179 сообщениях
Вес репутации: 358
|
Цитата:
Задача - хочу установить горизонтальную панель между двух вертикальных, а позицию y указывать на лицевом виде (или виде сбоку....) чтобы сама панель двигалась и фиксировалась кликом мыши.
|
Скрытый текст
Bok1 = GetPanel("Укажите 1-ую вертикальную панель");
Bok2 = GetPanel("Укажите 2-ую вертикальную панель");
x1 = Bok1.GabMax.x + 2;
x2 = Bok2.GabMin.x - 2;
z1 = Bok1.GabMin.z + 1;
z2 = Bok1.GabMax.z - 20;
Panel = AddHorizPanel(x1, z1, x2, z2, Action.Pos3.y);
Action.ShowPoints = true;
Action.OnMove = function() { Panel.PositionY = Action.Pos3.y };
Action.OnClick = function() { Action.Finish() };
Action.Continue(); [свернуть]
|
|
|
29.01.2014, 10:56
|
#137
|
VIP
Регистрация: 15.11.2008
Адрес: г.Москва
Сообщений: 498
Сказал(а) спасибо: 3,218
Поблагодарили 1,353 раз(а) в 312 сообщениях
Вес репутации: 507
|
Цитата:
Задача - хочу установить горизонтальную панель между двух вертикальных, а позицию y указывать на лицевом виде (или виде сбоку....) чтобы сама панель двигалась и фиксировалась кликом мыши.
|
Вот вариант уже с крепежом...
Скрытый текст
Bok1 = GetPanel("Укажите 1-ую вертикальную панель");
Bok2 = GetPanel("Укажите 2-ую вертикальную панель");
x1 = Bok1.GabMax.x + 2;
x2 = Bok2.GabMin.x - 2;
z1 = Bok1.GabMin.z + 1;
z2 = Bok1.GabMax.z - 20;
Evrik = OpenFurniture('Полкодержатель.f3d')
function MoveOdj()
{
DeleteNewObjects()
Polka = AddHorizPanel(x1, z1, x2, z2, Action.Pos3.y);
zp1 = Polka.GabMin.z;
zp2 = Polka.GabMax.z;
Polka.PositionY = Action.Pos3.y
Evrik.Mount(Polka, Bok1, x1, Action.Pos3.y, zp1 + 64)
Evrik.Mount(Polka, Bok2, x2, Action.Pos3.y, zp1 + 64)
Evrik.Mount(Polka, Bok1, x1, Action.Pos3.y, zp2 - 32)
Evrik.Mount(Polka, Bok2, x2, Action.Pos3.y, zp2 - 32)
}
Action.ShowPoints = true;
Action.OnMove = function() {MoveOdj()};
Action.OnClick = function() {Action.Finish()};
Action.Continue(); [свернуть]
не забудьте в папку со скриптом положить полкодержатель.f3d.
__________________
Обходя разложенные грабли - ты теряешь драгоценный ОПЫТ!
|
|
|
29.01.2014, 11:07
|
#138
|
VIP
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 356
|
Куча положительных эмоций!!!!! Огромное спасибо, пилим дальше.....Чувствую, скоро только скриптами и буду пользоваться в базисе.....
Доработал под себя....
Скрытый текст
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 1 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
|
[свернуть]
вопрос - как сделать. чтобы цикл не закончился - хочу еще пару таких же полок на другой высоте....
|
|
|
Пользователь сказал cпасибо:
|
|
29.01.2014, 13:26
|
#139
|
Местный
Регистрация: 30.11.2011
Сообщений: 283
Сказал(а) спасибо: 275
Поблагодарили 803 раз(а) в 179 сообщениях
Вес репутации: 358
|
замените Action.Finish() на Action.Commit()
|
|
|
29.01.2014, 14:35
|
#140
|
VIP
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 356
|
Спасибо, заработало, а то я менял Action.Continue - безрезультатно
Есть просьба - сделайте скрипт установки подпятника - а то нигде не могу найти пример.... он монтируется в нижний торец вертикальной панели, причем нужен поворот его в зависимости от того, какая боковина - левая или правая (речь идет о регулируемой опоре комар). Буду очень благодарен.
|
|
|
|
|
|
Нижняя навигация
|
|
Опции темы |
|
Опции просмотра |
Линейный вид
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 12:02. Часовой пояс GMT +3.
|