|
|
|
|
|
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..
|
Просмотров: 994154
|
Пользователь сказал cпасибо:
|
|
27.01.2014, 12:16
|
#121
|
Местный
Регистрация: 16.11.2011
Адрес: Москва / Пенза
Сообщений: 1,135
Сказал(а) спасибо: 307
Поблагодарили 1,257 раз(а) в 524 сообщениях
Вес репутации: 516
|
Цитата:
Сообщение от Алексан
Я с Дмитрием полностью согласен. Техподдержка по скриптам просто смысла не имеет. Держать програмиста, что бы он на каждый "бзик" пользователя писал проги? Или каждого учил програмировать и помогал освоить ООП. Нонсенс.
Представте Майкрософт мне по заказу пишет макрос для Excel, или по запросу объясняет как работает тот или иной оператор в visual basic
|
Вообще-то имелась ввиду ТП по работе команд скриптов (и ошибках в них), а не написанию новых скриптов под пользователей. И по ошибкам, недочетам в справке.
Например, если вы вдруг захотите использовать панели, построенные пользователем и каким-либо образом будете сравнивать координаты максимальных размеров, то можете столкнуться с ситуацией, когда две построенных последовательно стандартных вертикальных панели с одинаковыми свойствами будут выдавать разные значения. Потому что на самом деле одна будет длинной 2500,000000001, а вторая 2500. А все потому, что Базис строит не с той точностью, какой округляет представление для пользователя. Причем, это даже не когда пользователь вводит какие-то значения или ошибется и занесет 4-5 знаков, вместо установленных в настройках 3 (гм, кто-нибудь из мебельщиков больше 0,5 мм точность вообще в расчет берет? ну мне просто интересно).
А скрипты же - это не пользователь, им выдаются все цифирки, сколько их сам базис видит.
Это где-то указано? Нет. Даже рекомендаций нет никаких.
А по факту - практически любые параметры с модели перед какими-то проверками и сравнениями, выходит, нужно насильно округлять до необходимого числа знаков после запятой. Во избежание, так сказать.
Или, зайдите в справку и откройте раздел Trajectory, почитайте заголовок этой странички и содержание. Потом посмотрите на его свойство MaterialName, это только у меня они одинковые? Дальше запомните пример из этого раздела и зайдите в раздел Extrusion - собственно главная табличка для сравнения, как должно было быть и в упомянутом выше разделе, но посмотрите еще и пример... опа, мы видим пример из пункта Trajectory, только на 3 строчки длиннее и без всякого упоминания Extrusion... А ведь именно с Extrusion по сути непонятка возникла в случае дверей? И способ "включения погонности" как бы в справке я лично и близко не нашел. А форумы читает меньшинство... Хотя понятнее было бы, если б можно было бы явно включать данное свойство командой (но "ТП по скриптам - нет", так что им писать бессмысленно по этому поводу)
Мелочи, но когда вдруг о данную мелочь спотыкаешься - неприятно.
А закрывать глаза можно на что угодно.
Ну или заявить, что это не баг, это фича. И фиг с ним, что недокументированная, у Базиса все фичи такие..
Если уж некоторые другие разработчики мне написали, что проще и быстрее иногда некоторые моменты костылем обойти, чем с Базисом договориться, то уж нам-то что остается... Костылить и помогать друг другу самим...
__________________
Нахожусь в режиме поиска интересных задач, связанных с Базисом. Москва, 2015.
|
|
|
27.01.2014, 13:41
|
#122
|
Пользователь
Регистрация: 18.05.2010
Сообщений: 85
Сказал(а) спасибо: 51
Поблагодарили 74 раз(а) в 29 сообщениях
Вес репутации: 193
|
Цитата:
Сообщение от Am0ralist
Вообще-то имелась ввиду ТП по работе команд скриптов (и ошибках в них), а не написанию новых скриптов под пользователей. И по ошибкам, недочетам в справке.
|
А вот с этим спорить не буду. Примеры на то они и примеры, что должны быть правильными, и очень подробно закоментированны. Спорить о правильности тоже ни с кем не буду, этот критерий у всех будет разный. Одному нужно, чтобы он просто исполнялся, другому чтобы на левой передней палочке была кромка 0,45 , а на задней 2,0. Наоборот будет неправильно . Третьему нужно, чтобы скрипт совершил ошибку, и ткнул его носом - вот так делать не надо!
И по поводу погонности могу добавить, что действительно трудно из посылок, что есть обязательное свойство материала толщина, длинна и необязательное ширина определить, что она-то и являтся признаком погонности.
|
|
|
28.01.2014, 00:31
|
#123
|
VIP
Регистрация: 05.05.2008
Адрес: Коломна
Сообщений: 10,452
Сказал(а) спасибо: 14,824
Поблагодарили 20,865 раз(а) в 5,387 сообщениях
Вес репутации: 5413
|
Цитата:
Сообщение от Am0ralist
Вообще-то имелась ввиду ТП по работе команд скриптов (и ошибках в них), а не написанию новых скриптов под пользователей.
|
Так проблем нет: если Вы что-то хотите от скриптов, или даже вообще от "Базис-Центра", повторюсь - info@bazissoft.ru. Адрес открытый, официальный, не секретный.
Шрайбен.
|
|
|
28.01.2014, 09:21
|
#124
|
VIP
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 357
|
Уважаемые гуру, есть просьба.
Хочу сделать скрипт простановки крепежа на указанные полки. И именно с указанием полок затык . Помогите, плиз....
Задумка такая - указывая, где ставить крепеж, устанавливать сразу конфирмат и шкант, эксцентрики и шкант...с определенным шагом от базы. Перед установкой, как вариант, можно удалить существующий крепеж на полке...
|
|
|
28.01.2014, 10:00
|
#125
|
VIP
Регистрация: 15.11.2008
Адрес: г.Москва
Сообщений: 498
Сказал(а) спасибо: 3,218
Поблагодарили 1,353 раз(а) в 312 сообщениях
Вес репутации: 507
|
Цитата:
Сообщение от Ozimko
Уважаемые гуру, есть просьба.
Хочу сделать скрипт простановки крепежа на указанные полки. И именно с указанием полок затык . Помогите, плиз....
Задумка такая - указывая, где ставить крепеж, устанавливать сразу конфирмат и шкант, эксцентрики и шкант...с определенным шагом от базы. Перед установкой, как вариант, можно удалить существующий крепеж на полке...
|
Можно начать с простого кода, а дальше уже думайте и усложняйте как Вам надо.
Скрытый текст
Polka = GetPanel("Укажите горизонтальную панель")
Bok1 = GetPanel("Укажите 1-ую вертикальную панель")
Bok2 = GetPanel("Укажите 2-ую вертикальную панель")
Evrik = OpenFurniture('Евровинт.f3d')
Evrik.Mount(Polka, Bok1, 0, 0, 64)
Evrik.Mount(Polka, Bok2, 0, 0, 64)
Evrik.Mount(Polka, Bok1, 0, 0, Polka.GabMax.z - 32)
Evrik.Mount(Polka, Bok2, 0, 0, Polka.GabMax.z - 32) [свернуть]
Только в папку со скриптом нужно положит Евровинт.f3d (тип произвольная фурнитура).
__________________
Обходя разложенные грабли - ты теряешь драгоценный ОПЫТ!
|
|
|
28.01.2014, 11:57
|
#126
|
VIP
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 357
|
А вот и не все так просто.....Итог вашего скрипта:
|
|
|
28.01.2014, 12:04
|
#127
|
VIP
Регистрация: 15.11.2008
Адрес: г.Москва
Сообщений: 498
Сказал(а) спасибо: 3,218
Поблагодарили 1,353 раз(а) в 312 сообщениях
Вес репутации: 507
|
Цитата:
Сообщение от Ozimko
А вот и не все так просто.....Итог вашего скрипта:
|
Сделано то для евровинтов, а не для крепежа устанавливаемого по типу уголок.
А для крепежа по типу уголок нужно редактировать координату Х - первый 0. Поставьте для Бока1 16, а для Бока2 17 и посмотрите будет ли так как Вам надо.
__________________
Обходя разложенные грабли - ты теряешь драгоценный ОПЫТ!
|
|
|
28.01.2014, 12:16
|
#128
|
VIP
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 357
|
Замена 1 ноля на 16, второго на 17 не дала НИЧЕГО.... Ни при евровинте, ни при уголке.
|
|
|
28.01.2014, 12:24
|
#129
|
VIP
Регистрация: 15.11.2008
Адрес: г.Москва
Сообщений: 498
Сказал(а) спасибо: 3,218
Поблагодарили 1,353 раз(а) в 312 сообщениях
Вес репутации: 507
|
Цитата:
Сообщение от Ozimko
Замена 1 ноля на 16, второго на 17 не дала НИЧЕГО.... Ни при евровинте, ни при уголке.
|
Второй 0 трогать не надо. Я же писал для Бока1 и Бока2 первый 0.
Скрытый текст
Polka = GetPanel("Укажите горизонтальную панель")
Bok1 = GetPanel("Укажите 1-ую вертикальную панель")
Bok2 = GetPanel("Укажите 2-ую вертикальную панель")
Evrik = OpenFurniture('Полкодержатель.f3d')
Evrik.Mount(Polka, Bok1, 16, 0, 64)
Evrik.Mount(Polka, Bok2, 17, 0, 64)
Evrik.Mount(Polka, Bok1, 16, 0, Polka.GabMax.z - 32)
Evrik.Mount(Polka, Bok2, 17, 0, Polka.GabMax.z - 32) [свернуть]
__________________
Обходя разложенные грабли - ты теряешь драгоценный ОПЫТ!
|
|
|
28.01.2014, 12:29
|
#130
|
VIP
Регистрация: 11.07.2008
Сообщений: 1,019
Сказал(а) спасибо: 261
Поблагодарили 314 раз(а) в 143 сообщениях
Вес репутации: 357
|
Я так и сделал, извините за корявый русский.... Результата нет - все то же самое
|
|
|
|
|
|
Нижняя навигация
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 20:37. Часовой пояс GMT +3.
|