Обмениваемся , задаем вопросы, отвечаем... Все, что касается скриптов в БМ 11 в этой теме.
Новшества Базис Мебельщик версии 11:
..... 6. Работоспособность скриптов, созданных в более ранних версиях, не гарантируется в версии БАЗИС 11.
.....
52. Разработана панель инструментов для скриптов, на которую можно вывести, например, часто используемые скрипты, со своими иконками, хинтами и т.д.
53. Добавлена возможность автозапуска выбранного скрипта на любое из двух событий – Загрузка модели, и/или Сохранение модели.
.....
Новшества Базис Мебельщик версии 2021:
16. Отладчик скриптов.
VISUAL CODE
Код:
Примеры скриптов из видео
Вес панелей.js
Выделить панели без облицовки.js
Панель по 3 точкам.js
Прифуговка кромки.js
Любые вопросы по любому системному и мебельному софту, любые конвертации, настройки и т.д.>сюда< (кроме озвученных в мануалах, инструкциях и темах форума) ...
Последний раз редактировалось AlexBolton; 09.01.2024 в 11:56..
сперва хорошо бы, проверить а есть ли вообще такое пользовательское свойство.
PHP код:
var name = 'Имя польз. св-ва'; var value = 'Значение польз. св-ва'; if(panel.UserProperty[name] != undefined){ if (panel.UserProperty[name] == value){ //Здесь код обработки, что значение пользовательского свойства <name> соответствует <value> } } else{ alert("такого свойства нет в панели" + panel.Name ); }
Я не знаю, может я что-то не то делаю, но не работает. Пользовательские свойства есть на панели, все настроено, но не видит операцию
доброго всем времени суток, есть такая задача, запустить скрипт который выдаст окно в котором перечислены все пазы с модели, можно выпадающим списком, и при выделении одного из пазов чтоб выделились те панели которые имеют этот паз. подскажите с чего начать и где ковырять. Спасибо!
доброго всем времени суток, есть такая задача, запустить скрипт который выдаст окно в котором перечислены все пазы с модели, можно выпадающим списком, и при выделении одного из пазов чтоб выделились те панели которые имеют этот паз. подскажите с чего начать и где ковырять. Спасибо!
У панели есть св-во Cuts - список пазов. Можно создавать набор массивов с пазами (по сути массив, состоящий из массивов, в каждом из которых пазы с одинаковым именем). набор завязать с элементами окна (кнопками, например) - на каждый элемент - свой массив из набора. При обработке пользовательского выбора (нажатия на кнопку, например) идти по всем элементам выбранного массива и выделять панели (у паза есть св-во Panel для доступа к панели, на которую установлен паз).
Вот теперь, понял в чем дело, мы о разных вещах говорим, мне надо условие прописать в смете, а это скрипт написан для мебельщика
По идее разницы нету. Основное здесь - условие проверки пользовательского свойства:
PHP код:
var name = 'Имя польз. св-ва';
var value = 'Значение польз. св-ва';
if (panel.UserProperty[name] != undefined) {
if (panel.UserProperty[name] == value) {
//Здесь код обработки, что значение пользовательского свойства <name> соответствует <value>
}
else{
//Свойство есть, но не соответствует значению <value>
}
}
else {
//свойства нет у объекта
}
Где name - Имя пользовательского свойства, которое нужно найти, value - Значение, которому должно соответствовать значение пользовательского свойства, panel - объект, у которого проверяется пользовательское свойство.
З.Ы. Возможно (хоть и вряд ли), что в смете отсутствует свойство UserProperty у объекта. Если всегда условие приходит на ветку "свойства нет у объекта" при корректном имени свойства, есть основания это полагать. Но я со сметой не сдружился, поэтому конкретного ничего сказать не могу.
спасибо, вроде понятно, но что нужно писать чтобы скрипт выводил окошко со значениями, это я пока не знаю как реализовать
для БМ10 примерно так. в 11 сходу не заработало, не разбирался почему.
в штатном редакторе БМ есть конструктор форм, форму можно сделать там потом посмотреть код.
По идее разницы нету. Основное здесь - условие проверки пользовательского свойства:
PHP код:
var name = 'Имя польз. св-ва';
var value = 'Значение польз. св-ва';
if (panel.UserProperty[name] != undefined) {
if (panel.UserProperty[name] == value) {
//Здесь код обработки, что значение пользовательского свойства <name> соответствует <value>
}
else{
//Свойство есть, но не соответствует значению <value>
}
}
else {
//свойства нет у объекта
}
Где name - Имя пользовательского свойства, которое нужно найти, value - Значение, которому должно соответствовать значение пользовательского свойства, panel - объект, у которого проверяется пользовательское свойство.
З.Ы. Возможно (хоть и вряд ли), что в смете отсутствует свойство UserProperty у объекта. Если всегда условие приходит на ветку "свойства нет у объекта" при корректном имени свойства, есть основания это полагать. Но я со сметой не сдружился, поэтому конкретного ничего сказать не могу.
Спасибо за помощь буду пробовать, может я где-то туплю.
Подскажите еще пожалуйста условие нужно прописать:
Если ширина детали больше 100 мм, то, //мой код подсчета