|
|
|
|
|
13.01.2014, 13:22
|
|
БАЗИС 9 - Скрипты
Igor_482
VIP
Регистрация: 03.09.2008
Сообщений: 174
Сказал(а) спасибо: 34
Поблагодарили 795 раз(а) в 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..
|
Просмотров: 1005285
|
Пользователь сказал cпасибо:
|
|
09.09.2014, 22:37
|
#441
|
Местный
Регистрация: 07.09.2014
Сообщений: 187
Сказал(а) спасибо: 182
Поблагодарили 211 раз(а) в 69 сообщениях
Вес репутации: 178
|
Совместил скрипт корпуса шкафа и двери-купе.
И теперь при выборе "Количество дверей = 4" - строка "Две центральные спереди" отображается, но она не активна.
Посмотрите опытным взглядом, что необходимо подправить.
Скрипт
//группа двери-купе
DvCup = Prop.NewBool('Двери-купе');
DvCup.Value = true
DvCup.OnChange = function()
{
DvCup.ChildrenEnabled = DvCup.Value
}
VidProf = DvCup.NewCombo('Тип профиля ручки', 'Профиль С\nПрофиль Н');
KolDv = DvCup.NewCombo('Количество дверей', '2\n3\n4\n5');
KolDv.OnChange = function ()
{
KolDv.ChildrenEnabled = KolDv.Value;
}
Centr4 = KolDv.NewBool('Две центральные спереди');
if (KolDv.ItemIndex == 2)
Centr4.Visible = true
else
Centr4.Visible = false
KolRaz = DvCup.NewCombo('Количество секций', '1\n2\n3\n4\n5\n6\n7')
ColorProf = DvCup.NewCombo('Цвет профиля', 'Золото матовое\nСеребро\nБлестящая бронза\nШампань матовая\nШампань блестящая\nВенге\nВишня\nДуб дымчатый\nОрех итальянский\nОрех французский\nВенге темный')
Btn = Prop.NewButton('Установить');
Btn.OnClick = function()
{
Make3(); //Вызываем функцию построения всех панелей
SetCamera(p3dPerspective);
Action.Finish();
}
//Обработка любого изменения значений свойств
Prop.OnChange = function()
{
if (FasH.Value > Hd.Value) alert('Предупреждение! Фаска больше чем высота дна.')
if (FasSh.Value > OtCokZ.Value) alert('Предупреждение! Фаска больше чем отступ цоколя.')
if (KolDv.ItemIndex == 2)
Centr4.Visible = true
else
Centr4.Visible = false
Make3(); //Вызываем функцию построения всех панелей
if (WidthDver < 600) alert('Предупреждение! Ширина двери менее 600мм.')
}
} [свернуть]
И ещё вопросик. Как вытащить значения NewBool ('Двери-купе'), то положение в котором он сейчас находится? Это для того, что бы при снятом флажке группы "Двери-купе", скрыть видимость дверей на корпусе, дабы они не мешались расстановке внутреннего наполнения.
|
|
|
09.09.2014, 23:26
|
#442
|
Местный
Регистрация: 30.11.2011
Сообщений: 283
Сказал(а) спасибо: 275
Поблагодарили 804 раз(а) в 179 сообщениях
Вес репутации: 359
|
Цитата:
И теперь при выборе "Количество дверей = 4" - строка "Две центральные спереди" отображается, но она не активна.
Посмотрите опытным взглядом, что необходимо подправить.
|
удалите строки:
KolDv.OnChange = function ()
{
KolDv.ChildrenEnabled = KolDv.Value;
}
Цитата:
И ещё вопросик. Как вытащить значения NewBool ('Двери-купе'), то положение в котором он сейчас находится? Это для того, что бы при снятом флажке группы "Двери-купе", скрыть видимость дверей на корпусе, дабы они не мешались расстановке внутреннего наполнения.
|
if (DvCup.Value) ...
|
|
|
10.09.2014, 01:02
|
#443
|
Местный
Регистрация: 07.09.2014
Сообщений: 187
Сказал(а) спасибо: 182
Поблагодарили 211 раз(а) в 69 сообщениях
Вес репутации: 178
|
Цитата:
удалите строки:
KolDv.OnChange = function ()
{
KolDv.ChildrenEnabled = KolDv.Value;
}
|
При удалении строк всё осталось без изменений.
Вышел из ситуации другим способом - перевёл строку из дочерней "Количество дверей" в дочернюю "Двери-купе".
Добавлено через 19 минут
Да, именно с этим параметром долго возился. Оказывается, что при снятии и установки флажка никаких визуальных изменений не происходит, а происходят они только после перемещения курсора в область построения.... с чем бы это связано
|
|
|
10.09.2014, 23:26
|
#444
|
Новичок
Регистрация: 22.07.2013
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
|
Может я повторюсь, но прошу подсказать где есть обучалово поскриптам БМ8? Если есть поподробнее.
|
|
|
11.09.2014, 10:23
|
#445
|
Местный
Регистрация: 16.11.2011
Адрес: Москва / Пенза
Сообщений: 1,135
Сказал(а) спасибо: 307
Поблагодарили 1,257 раз(а) в 524 сообщениях
Вес репутации: 517
|
Цитата:
Сообщение от Эмиль Гоше
Может я повторюсь, но прошу подсказать где есть обучалово поскриптам БМ8? Если есть поподробнее.
|
эта тема на форуме, материалы на сайте Базис-центра и видео с их оф.канала на ютубе.
Ну и любой учебник по Javascript.
__________________
Нахожусь в режиме поиска интересных задач, связанных с Базисом. Москва, 2015.
|
|
|
11.09.2014, 14:25
|
#446
|
Местный
Регистрация: 07.09.2014
Сообщений: 187
Сказал(а) спасибо: 182
Поблагодарили 211 раз(а) в 69 сообщениях
Вес репутации: 178
|
Цитата:
Сообщение от Эмиль Гоше
Может я повторюсь, но прошу подсказать где есть обучалово поскриптам БМ8? Если есть поподробнее.
|
В данной теме как-то уже выкладывали http://into.rusfolder.net/files/41705639
|
|
|
11.09.2014, 16:45
|
#447
|
Пользователь
Регистрация: 11.11.2012
Адрес: Тула
Сообщений: 87
Сказал(а) спасибо: 48
Поблагодарили 46 раз(а) в 22 сообщениях
Вес репутации: 158
|
Народ , наверняка кто-то сваял скрипт, устанавливающий выдвижные ящики. Как это делается???
|
|
|
11.09.2014, 16:56
|
#448
|
Местный
Регистрация: 30.11.2011
Сообщений: 283
Сказал(а) спасибо: 275
Поблагодарили 804 раз(а) в 179 сообщениях
Вес репутации: 359
|
простой пример ящика:
B = BeginBlock("Ящик");
Th = ActiveMaterial.Thickness;
AddHorizPanel(Th, 0, 200 - Th, 400, 0).Name = 'Дно';
AddVertPanel(0, 0, 400, 30, 0).Name = 'Боковина левая';
AddVertPanel(0, 0, 400, 30, 200 - Th).Name = 'Боковина правая';
AddFrontPanel(0, 0, 200, 50, 400).Name = 'Фасад';
EndBlock();
B.AnimType = AnimationType.Box;
|
|
|
11.09.2014, 17:09
|
#449
|
Пользователь
Регистрация: 11.11.2012
Адрес: Тула
Сообщений: 87
Сказал(а) спасибо: 48
Поблагодарили 46 раз(а) в 22 сообщениях
Вес репутации: 158
|
Цитата:
Сообщение от Briz
простой пример ящика:
B = BeginBlock("Ящик");
Th = ActiveMaterial.Thickness;
AddHorizPanel(Th, 0, 200 - Th, 400, 0).Name = 'Дно';
AddVertPanel(0, 0, 400, 30, 0).Name = 'Боковина левая';
AddVertPanel(0, 0, 400, 30, 200 - Th).Name = 'Боковина правая';
AddFrontPanel(0, 0, 200, 50, 400).Name = 'Фасад';
EndBlock();
B.AnimType = AnimationType.Box;
|
Ну это видимо совсем вкратце. А направляющие, чтоб смета видела? Крепеж, ручка. А если несколько ящиков? Но все равно спасибо!
|
|
|
13.09.2014, 05:11
|
#450
|
Местный
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 454
Сказал(а) спасибо: 243
Поблагодарили 1,098 раз(а) в 210 сообщениях
Вес репутации: 387
|
Подскажите, пожалуйста, гдеб пару функций контуров взять:
- Масштабирование
- Эквидистанта.
В недокументированных функциях контура есть загадочная функция Transform().
В которую я предпологаю надо дать "матрицу трансформирования"(google).
Видимо разные матрицы трансформирования обеспечивают масштабирование и эквидистанцирование.
Пожалуйста, подскажите где рыть?
Добавлено через 2 минуты
Цитата:
Сообщение от anb
Возможно ли написать скрипт позволяющий при выделении панелей указывать на выносных линиях размеры этих панелей?
|
Возможно.
Надо просмотреть свойства объекта "Размерная надпись 3д".
и если таки нужна именно выноска, то реализовать линиями.
такому не опытному как я работы на пару полных дней.
|
|
|
|
|
|
Нижняя навигация
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 16:08. Часовой пояс GMT +3.
|