Обмениваемся , задаем вопросы, отвечаем... Все, что касается скриптов в БМ 11 в этой теме.
Новшества Базис Мебельщик версии 11:
..... 6. Работоспособность скриптов, созданных в более ранних версиях, не гарантируется в версии БАЗИС 11.
.....
52. Разработана панель инструментов для скриптов, на которую можно вывести, например, часто используемые скрипты, со своими иконками, хинтами и т.д.
53. Добавлена возможность автозапуска выбранного скрипта на любое из двух событий – Загрузка модели, и/или Сохранение модели.
.....
Новшества Базис Мебельщик версии 2021:
16. Отладчик скриптов.
VISUAL CODE
Код:
Примеры скриптов из видео
Вес панелей.js
Выделить панели без облицовки.js
Панель по 3 точкам.js
Прифуговка кромки.js
Любые вопросы по любому системному и мебельному софту, любые конвертации, настройки и т.д.>сюда< (кроме озвученных в мануалах, инструкциях и темах форума) ...
Последний раз редактировалось AlexBolton; 09.01.2024 в 11:56..
Letos спасибо, применил и в БМ11 работает без проблем, а вот в БМ10 тоже работает, но когда закрываешь базис вылетает сообщение что произошла ошибка: Access violation at address 48BAFFF3. Read of address 48BAFFF3. Кстати некоторые новые скрипты работают подобно, после их выскакивает подобная ошибка. Наверное что то надо подправить в скрипте.
Letos спасибо, применил и в БМ11 работает без проблем, а вот в БМ10 тоже работает, но когда закрываешь базис вылетает сообщение что произошла ошибка: Access violation at address 48BAFFF3. Read of address 48BAFFF3. Кстати некоторые новые скрипты работают подобно, после их выскакивает подобная ошибка. Наверное что то надо подправить в скрипте.
А можете приложить пример скрипта, после которого аксесс вылетает? Чем меньше скрипт, тем лучше.
А можете приложить пример скрипта, после которого аксесс вылетает? Чем меньше скрипт, тем лучше.
Один и тот же скрипт в 11ом БМ работает без ошибок,а в 10ой версии появляются ошибки после закрытия окна БМ. Взять хотя бы скрипт подсчета веса панелей и отступ до паза в спец-ю.
Скрытый текст
var weight = 0;
Model.forEachPanel(function (panel){
if ((panel.AsPanel) /* && (panel.Selected)*/) {
V = (panel.GSize.x) *
(panel.GSize.y) *
(panel.GSize.z) / 1000 / 1000;
den = 0;
if (panel.MaterialName.indexOf("ДСП") >=0)
{
den = 0.694;
} else
{
if (panel.MaterialName.indexOf("ДВП") >=0)
{
den = 0.7;
}
else
if (panel.MaterialName.indexOf("МДФ") >=0)
{
den = 0.79;
}
}
weight = weight + V * den;
}
})
alert('Примерный вес панелей: ' + weight.toFixed(3) + ' кг');
[свернуть]
и второй
Скрытый текст
Model.forEachPanel(function (obj){
var A = obj.Cuts[0];
var Cnt = A.Contour;
var otst = Math.min(Cnt.Min.x, Cnt.Max.x);
if (A.Sign.indexOf(', ')>0){
A.Sign = A.Sign.substring(0,A.Sign.indexOf(', '));
}
A.Sign = A.Sign + ', от края ' + otst + ' мм';
})
Model.forEachPanel(function (obj){
var A = obj.Cuts[0];
var Cnt = A.Contour;
var otst = Math.min(Cnt.Min.x, Cnt.Max.x);
if (A.Sign.indexOf(', ')>0){
A.Sign = A.Sign.substring(0,A.Sign.indexOf(', '));
}
A.Sign = A.Sign + ', от края ' + otst + ' мм';
})
[свернуть]
Посмотрел этот скрипт - у меня не выходило ошибок (БМ10 демо 10.6.2.25692 от 25.01.2019). Может быть, у меня не было нужной конструкции, на которой срабатывало бы. Из возможных причин возникновения ошибки я увидел только одну - доступ к первому пазу без проверки, есть ли пазы вообще. Попробуйте такой вариант - будет вылетать?
Код
PHP код:
Model.forEachPanel(function (obj) { if (obj.Cuts.Count > 0){ var A = obj.Cuts[0]; var Cnt = A.Contour; var otst = Math.min(Cnt.Min.x, Cnt.Max.x); if (A.Sign.indexOf(', ') > 0) { A.Sign = A.Sign.substring(0, A.Sign.indexOf(', ')); } A.Sign = A.Sign + ', от края ' + otst + ' мм'; } })
[свернуть]
UPD:
Первый скрипт посмотрел - визуально ничего нет такого, что могло бы вызвать ошибку. Подозреваю, это какая-то внутренняя ошибка самого БМ.
Последний раз редактировалось Letos; 29.04.2020 в 15:31.
Причина: UPD
1.В качестве бреда, может быть такое, например, я ставил БМ11 последним и допустим вместе с ним ставиться в систему что то для работы скриптов, и вот это что то отличается версией от того что шло для скриптов с версией БМ10 и поэтому в 10ке выскакивают ошибки при запуске скриптов?
2.Ошибки появляются на бм10 всегда и , насколько помню, на другом компьютере тоже.
3.Насчет этой строчки if (obj.Cuts.Count > 0).
Я заметил что без какой то строчки отступ пишется только на одной панели. Методом научного тыка и с помощью хелпа из комплекта базиса дописал такую строчку: for (var i = 0; i < panel.Cuts.Count; i++) {
var A = panel.Cuts[i];
не знаю что это значит, но работает)
4.А как у вас в скрипте все так красиво цветом выделяется, прямь как то понятнее выглядит?
а в 10ой версии появляются ошибки после закрытия окна БМ
Проверил на 10.6.2.25670 - никаких ошибок.
Здесь вопрос к системе - при закрытии окна БМ в памяти что-то не выгружается (по-простому: БМ закрывается, а кто-то его ещё хочет ) и приводит к Access violation (как обычно для начала проверить все ли рекомендации выполнены в плане доступов, антивирусов и т.д). Ещё бывает такое при участии в процессе объектов находящихся в сетевом доступе (на облаках и т.д - любой затык в сетевом трафике приводит к разного рода сбоям - обращения к несуществующему или разрушеному.)
Цитата:
Сообщение от andronf
все так красиво цветом выделяется
В расширенном редактировании сообщения - в php код оберните выделенное.
Любые вопросы по любому системному и мебельному софту, любые конвертации, настройки и т.д.>сюда< (кроме озвученных в мануалах, инструкциях и темах форума) ...
при закрытии окна БМ в памяти что-то не выгружается (по-простому: БМ закрывается, а что-то его ещё хочет ) и приводит к Access violation
В БМ10 версии 10.4 после выхода из программы появлялось окно с ошибкой и оставался в Диспетчере задач висеть процесс Bazis10.exe, нагружая при этом процессор... После обновления до 10.6.2 окно с ошибками не перестало появляться, но процес Bazis10.exe закрывается вместе с выходом из программы... Перепробовал разные варианты поиска причины. Перебирал "по косточкам" Settings.xml , ActionData.xml, так как при их удалении из папки Settings на некоторое время ошибка переставала появляться, но после нескольких запусков разных скриптов снова стала вылетать... Рекомендации БЦ все применил, перепроверял - все соответствует. На Базис-Онлайн такая же ситуация. Только Демо версии не вызывают ошибки.
__________________ Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. . (Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
Здесь вопрос к системе - при закрытии окна БМ в памяти что-то не выгружается
Или все таки вопрос к БМ. Скрипты разные версии БМ берут из одного места, ну да-облачного. Мебельщики стоят рядышком бок обок (правда 11ый установлен на новой винде,а 10 уже была) и имеют одинаковые рекомендации. Но вот 11 не ошибается а 10ый постоянно.