|
|
|
|
|
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..
|
Просмотров: 994326
|
Пользователь сказал cпасибо:
|
|
19.12.2017, 21:06
|
#1401
|
Пользователь
Регистрация: 02.04.2014
Сообщений: 36
Сказал(а) спасибо: 6
Поблагодарили 5 раз(а) в 5 сообщениях
Вес репутации: 0
|
просто подскажите хотя бы, работают ли скрипты с библиотеками?
можно ли через скрипт открывать чертежи из библиотеки?
|
|
|
19.01.2018, 00:56
|
#1402
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
|
Обьясните как работает NewNumber
примерно такой код
L = Gsize.NewNumber('Ширина', 800);
A = Gsize.NewNumber('Высота', 800);
P = Gsize.NewNumber('Глубина', 280);
Schange = Gsize.NewButton('Построить..');
Schange.OnClick = function() {
здесь строим модель
}
если после ввода своих значений в каждом поле не нажмёшь ENTER , то будет брать значения по умолчанию
Как сделать так, чтобы работало без нажатия ENTER в каждом поле
их может быть 20-30 и если забыть нажать ENTER ? то скрипт сработает не корректно???
|
|
|
19.01.2018, 08:18
|
#1403
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от wizardpnz
Как сделать так, чтобы работало без нажатия ENTER в каждом поле
их может быть 20-30 и если забыть нажать ENTER ? то скрипт сработает не корректно???
|
Увы, но так не получится. в свойствах модели так же. А компоненты одни и те же. Это сама реализация в программе такая . Вместо ENTER можно перейти на другое поле с помощью клавиш стрелок.
Цитата:
Сообщение от wizardpnz
если после ввода своих значений в каждом поле не нажмёшь ENTER , то будет брать значения по умолчанию
|
Не совсем. Значение не берется не "по умолчанию", а то, которое было до редактирования.
|
|
|
Пользователь сказал cпасибо:
|
|
21.01.2018, 14:59
|
#1404
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
|
Как установить параметрическую фурнитуру? Вместо например еврик.f3d
Последний раз редактировалось wizardpnz; 21.01.2018 в 20:11.
|
|
|
22.01.2018, 09:16
|
#1405
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от wizardpnz
Как установить параметрическую фурнитуру? Вместо например еврик.f3d
|
Полностью программно вроде никак. Только через свойства (функция NewFurniture()) или через динамическую панель (функция NewFurnitureInput()). Только пользователь скрипта должен будет выбрать параметрическую фурнитуру. Установку фурнитуры можно повесить на обработчик изменения поля выбора фурнитуры.
|
|
|
Пользователь сказал cпасибо:
|
|
25.01.2018, 22:58
|
#1406
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
|
Как работать с Excel из Базис скриптов
не смог подключить определённый лист
не смог обратиться к ячейке
получилось только открыть Excel, создать книгу и переименовать первый лист
try{
Ex = NewCOMObject('Excel.Application')
Ex.Application.Visible = true;
var Book = Ex.Workbooks.Add;
var WorkSh = Book.ActiveSheet;
WorkSh.Name = "Спецификация";
WorkSh.Activate;
} catch (e) {alert("error")}
Action.Continue()
это работает в Б10 var Book = Ex.Workbooks.Add;
а это var Book = Ex.Workbooks.Add(); Б9
вот это работает в Б9
try{
Ex = NewCOMObject('Excel.Application')
Ex.Application.Visible = true;
var Book = Ex.Workbooks.Add();
var WorkSh = Book.ActiveSheet;
WorkSh.Name = "Спецификация";
//WorkSh.Activate;
WorkSh.Range("A1:C10").Font.Size = 15
WorkSh.Range("A1:C10").Font.Bold = true;
WorkSh.Range("A1:C10").Interior.ColorIndex = 27;
WorkSh.Range("A1:C10").Borders.LineStyle =1;
WorkSh.Range("A1:C10").Borders.Weight = -4138;
WorkSh.Range("A1:C10").Value2 = "1122"
} catch (e) {alert("error")}
Action.Continue()
В Б10 нет
Последний раз редактировалось wizardpnz; 26.01.2018 в 09:08.
|
|
|
28.01.2018, 13:44
|
#1407
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от wizardpnz
это работает в Б10 var Book = Ex.Workbooks.Add;
а это var Book = Ex.Workbooks.Add(); Б9
|
Думаю, это связано с разными js движками в 9 и 10 версиях. Свойство Add у Ex.Workbooks - это функция и в бм 9 это свойство возвращает функцию, которую потом можно вызвать, а в бм 10 возвращает результат функции. Такое, похоже, только с функцией без параметров, потому что Range возвращает функцию, но она не хочет работать. И вообще, у БМ с COM-объектами беда, поэтому для 10-й версии, думаю, лучше использовать сторонние npm модули.
|
|
|
Пользователь сказал cпасибо:
|
|
08.02.2018, 22:26
|
#1408
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
|
ActiveMaterial.Make("ЛДВП", 3) задаём материал
можно ли по аналогии также задать кромку?
сделал через загрузку настроек, вначале устанавливаем материалы и фурнитуру по умолчанию которые не буду меняться
записываем значения в XML и делаем этим полям visible=false
Последний раз редактировалось wizardpnz; 08.02.2018 в 23:28.
|
|
|
09.02.2018, 10:20
|
#1409
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
|
Как изменить размеры габаритного параллелепипеда
|
|
|
09.02.2018, 10:48
|
#1410
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от wizardpnz
Как изменить размеры габаритного параллелепипеда
|
PHP код:
for (var i = 0; i < Model.Count; i++){
var obj = Model.Objects[i];
if (obj instanceof TModelLimits){
Undo.Changing(obj);
//y
obj.Height = 1000
//x
obj.Width = 800;
//z
obj.Depth = 300;
obj.Build();
}
}
|
|
|
Пользователь сказал cпасибо:
|
|
|
|
|
Нижняя навигация
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 02:45. Часовой пояс GMT +3.
|