|
|
|
|
|
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..
|
Просмотров: 994419
|
Пользователь сказал cпасибо:
|
|
01.12.2016, 11:11
|
#1271
|
Новичок
Регистрация: 27.11.2016
Сообщений: 1
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
|
Здравствуйте!
Можно ли через скрипт узнать, является ли панель вертикальной\горизонтальной\фронтальной?
Пока хочу попробовать читать поле "Габариты" и в зависимости от того, по какой оси панель тоньше всего считать ориентацию панели. Как можно получить значение этого поля?
|
|
|
01.12.2016, 11:33
|
#1272
|
Местный
Регистрация: 30.11.2011
Сообщений: 283
Сказал(а) спасибо: 275
Поблагодарили 803 раз(а) в 179 сообщениях
Вес репутации: 358
|
|
|
|
Пользователь сказал cпасибо:
|
|
01.12.2016, 19:07
|
#1273
|
Местный
Регистрация: 04.10.2013
Сообщений: 210
Сказал(а) спасибо: 239
Поблагодарили 34 раз(а) в 23 сообщениях
Вес репутации: 157
|
Добрый вечер,
можно ли организовать скриптом, как командой Найти и Заменить
в 2д чертеже, только не по одной записи а сразу список на список? Хорошо чтобы списки могли загружаться из текстового файла.
Базис 9
|
|
|
04.12.2016, 18:40
|
#1274
|
Пользователь
Регистрация: 09.02.2014
Сообщений: 58
Сказал(а) спасибо: 16
Поблагодарили 1 раз в 1 сообщении
Вес репутации: 0
|
Добрый вечер. Может кто знает как выбрать ребро и алертом вывести его длину?
Ребро панели под наклоном
|
|
|
05.12.2016, 14:28
|
#1275
|
Местный
Регистрация: 30.11.2011
Сообщений: 283
Сказал(а) спасибо: 275
Поблагодарили 803 раз(а) в 179 сообщениях
Вес репутации: 358
|
Легко:
PHP код:
alert(GetEdge("Укажите ребро", NewVector()).Length);
Последний раз редактировалось Briz; 05.12.2016 в 15:30.
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
13.12.2016, 16:13
|
#1276
|
Пользователь
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 109
|
Доброго времени.
несколько вопросов от начинающего пользователя Базис-скриптов:
1.У Object3 есть свойство ArtPos(артикул). Обращаюсь к нему из скрипта - возвращает пустую строку. Ранее вроде проблема обсуждалась promebelclub.ru/forum/showpost.php?p=369938&postcount=1001.Есть ли решение?
2. Объясните пожалуйста что работает "под капотом" Базис скриптов? какой интерпретатор JS?
3.Возможно ли из Базис скриптов парсить/разбирать XML? (создание ActiveX объектов из скрипта я так понял не работает, ранее этой технологией пользовался для работы с XML).
|
|
|
17.12.2016, 13:10
|
#1277
|
Пользователь
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 109
|
еще вопрос. можно ли распарсить . bln? - нужно названия "листов". я так понимаю формат файла не полностью закрыт, т.к. открыв в блокноте .bln я вижу некоторые теги(UTF-8) кодировка.
|
|
|
27.12.2016, 11:28
|
#1278
|
VIP
Регистрация: 03.09.2008
Сообщений: 174
Сказал(а) спасибо: 34
Поблагодарили 794 раз(а) в 113 сообщениях
Вес репутации: 367
|
Цитата:
Сообщение от IStiv
1.У Object3 есть свойство ArtPos(артикул). Обращаюсь к нему из скрипта - возвращает пустую строку. ... Есть ли решение?
|
Необходимо предварительно расставить позиции.
...из скрипта
Код HTML:
Action.Control.Owner.Owner.dpModelTree.Controls[1].ItemArrangeNew.Click();
или
Action.Control.Owner.Owner.dpModelTree.Controls[1].ItemArrangeNew.PostClick();
[свернуть]
Цитата:
Сообщение от IStiv
3.Возможно ли из Базис скриптов парсить/разбирать XML? (создание ActiveX объектов из скрипта я так понял не работает, ....
|
возможно, и ActiveX работает
Код HTML:
var Application = Action.Control.Owner.Owner.Owner,
ExeName = Application.ExeName,
Caption = Application.MainForm.Caption,
FSO = NewCOMObject('Scripting.FileSystemObject'),
RootFolder = FSO.GetParentFolderName(ExeName),
Shell = NewCOMObject('WScript.Shell'),
SettingsFile = new String(),
ProfileFolder = new String(),
AutosaveFolder = new String();
if (Caption.match(/Базис-Мебельщик 9/)) {
if (Caption.match(/Демо-версия/)) {
ProfileFolder = '\\Bazis9 DEMO';
} else {
ProfileFolder = '\\Bazis9';
};
};
if (Caption.match(/Базис-Мебельщик 8/)) {
if (Caption.match(/Демо-версия/)) {
ProfileFolder = '\\Bazis8 DEMO';
} else {
ProfileFolder = '\\Bazis8';
};
};
if (system.fileExists(Shell.ExpandEnvironmentStrings('%AppData%') +
ProfileFolder + '\\Settings.xml')) {
SettingsFile = Shell.ExpandEnvironmentStrings('%AppData%') +
ProfileFolder + '\\Settings.xml';
};
if (system.fileExists(RootFolder + '\\Settings\\Settings.xml')) {
SettingsFile = RootFolder + '\\Settings\\Settings.xml';
};
system.log('Файл настроек: ' + SettingsFile);
alert('Файл настроек: ' + SettingsFile);
try {
XMLDOM = NewCOMObject('Microsoft.XMLDOM');
XMLDOM.async = 'false';
XMLDOM.load(SettingsFile);
AutosaveFolder = XMLDOM.selectSingleNode('Settings/Paths/PathTEMP').text;
system.log('Папка временных файлов: ' + AutosaveFolder);
alert('Папка временных файлов: ' + AutosaveFolder);
} catch (Error) {
alert(Error.message);
Action.Cancel();
};
[свернуть]
Цитата:
Сообщение от IStiv
2. Объясните пожалуйста что работает "под капотом" Базис скриптов? какой интерпретатор JS?
|
Этот вопрос к уважаемым разработчикам.
Цитата:
Сообщение от zulu
...сделал для себя вывод, что скрипты все же больше для программистов, а не для простых технологов.
..когда скриптами заниматься, если основной работы выше крыши!?...
|
К вашему вниманию, простой технолог и личный опыт использования замечательного инструмента технолога - скрипта
Последний раз редактировалось Igor_482; 28.12.2016 в 10:24.
|
|
|
3 пользователя(ей) сказали cпасибо:
|
|
28.12.2016, 10:13
|
#1279
|
Новичок
Регистрация: 14.02.2014
Сообщений: 7
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
|
добрый день, пытаюсь сделать скрипт расстановки крепежа, но проблема в том что GabMax считает размер от переда кромки до ЛСК. Подскажите как сделать так, что бы брался именно размер(глубина) полки без привязки к ЛСК
Скрытый текст
Polka = GetPanel("Укажите горизонтальную панель")
Bok1 = GetPanel("Укажите 1-ую вертикальную панель")
Bok2 = GetPanel("Укажите 2-ую вертикальную панель")
x = (Math.floor((Polka.GabMax.z - 74 - 64) / 32))*32 +37
Evrik = OpenFurniture('Евровинт 7х50 для 18.f3d')
Evrik.Mount(Polka, Bok1, 0, 0, Polka.GabMax.z - x)
Evrik.Mount(Polka, Bok2, 0, 0, Polka.GabMax.z - x)
Evrik.Mount(Polka, Bok1, 0, 0, Polka.GabMax.z - 37)
Evrik.Mount(Polka, Bok2, 0, 0, Polka.GabMax.z - 37)
Evrik1 = OpenFurniture('Шкант 8х30.f3d')
Evrik1.Mount(Polka, Bok1, 0, 0, Polka.GabMax.z - x - 32)
Evrik1.Mount(Polka, Bok2, 0, 0, Polka.GabMax.z - x - 32)
Evrik1.Mount(Polka, Bok1, 18, 18, Polka.GabMax.z - 37 - 32)
Evrik1.Mount(Polka, Bok2, 0, 0, Polka.GabMax.z - 37 - 32)
[свернуть]
|
|
|
28.12.2016, 13:15
|
#1280
|
Пользователь
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 109
|
Цитата:
Сообщение от Igor_482
Необходимо предварительно расставить позиции.
|
да потом разобрался , но ArtPos возвращает позицию , а не Артикул - как описано в документации.
вероятно это недоработка API.
за пример с xml - спасибо.
|
|
|
|
|
|
Нижняя навигация
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 05:37. Часовой пояс GMT +3.
|