Обмениваемся , задаем вопросы, отвечаем... Все, что касается скриптов в БМ 11 в этой теме.
Новшества Базис Мебельщик версии 11:
..... 6. Работоспособность скриптов, созданных в более ранних версиях, не гарантируется в версии БАЗИС 11.
.....
52. Разработана панель инструментов для скриптов, на которую можно вывести, например, часто используемые скрипты, со своими иконками, хинтами и т.д.
53. Добавлена возможность автозапуска выбранного скрипта на любое из двух событий – Загрузка модели, и/или Сохранение модели.
.....
Новшества Базис Мебельщик версии 2021:
16. Отладчик скриптов.
VISUAL CODE
Код:
Примеры скриптов из видео
Вес панелей.js
Выделить панели без облицовки.js
Панель по 3 точкам.js
Прифуговка кромки.js
Любые вопросы по любому системному и мебельному софту, любые конвертации, настройки и т.д.>сюда< (кроме озвученных в мануалах, инструкциях и темах форума) ...
Последний раз редактировалось AlexBolton; 09.01.2024 в 11:56..
Помогите со скриптом для ИРП. Все что видел в ютуб - не устраивает. Мне надо что бы при включенной ИРП скрипт пробежался бы по дереву построения и произвел следующее . У блоков с включенной галочкой "сборочная единица" скрипт должен поставить префикс "СБ_". к обозначению ИРП "01.00.01" . Получится новое обозначение "СБ_01.00.01". Далее копируем это обозначение в графу дерева позиция. То есть позиция и обозначение будет "СБ_01.00.01" и так далее по списку
Где то есть полноценное API для базис скриптов? в мануале есть не всё,
например эту функцию я не нашёл FindConnectedFasteners()
и есть ещё много других которые часто в примерах на этом форуме всплывают.
но подробную информацию о них найти не могу.
Помогите разобраться с формой.
В форме имеются два свойства типа выпадающий список. хочу чтобы значения одного списка зависели от варианта выбора другого. Значения ".ComboItems" перебивается, а вот на форме новые не отображаются. Пробовал подставлять костыли через закрытие-открытие формы и через удаление и вновь создания свойства с новыми значениями. Но либо работает не так как нужно, либо с глюками, либо с вылетом в критическую ошибку. Уже неделю бьюсь, не нашёл не верного решения не подходящего костыля.
Здравствуйте, возможно ли скриптом записать в "Пользовательские свойства" длину криволинейного торца состоящего из нескольких дуг?
День добрый. Да, Возможно.
Пример записи в польз. св-во для выделенной панели
PHP код:
var panel = Model.Selected.AsPanel;
if (panel){
var contour = panel.Contour;
contour.OrderContours(true);
// Индекс начального элемента криволинейного торца.
// Используется как флаг, определяющий, найдено ли начало криволинейного торца.
var start = -1;
var length = 0;
for (var i = 0; i < contour.Count - 1; i++){
if (start < 0){
// Если элемент - дуга, значит начало торца найдено - добавляем
// длину элемента к общей длине
if (contour.Objects[i].IsArc()){
start = i;
length += contour.Objects[i].ObjLength();
}
}
else{
// Если элемент - не дуга, значит конец торца найден - прекращаем цикл
if (!contour.Objects[i].IsArc())
break;
length += contour.Objects[i].ObjLength();
}
}
// Если длина дуги ненулевая, пишем в пользовательское свойство
if (length > 0.001){
Undo.Changing(panel);
panel.UserProperty['Длина криволинейного торца'] = length;
}
}
Чтобы подсвечивались панели которым назначены пользовательские свойства о длине дуг и окружностей вместо этой строки
// obj.Selected = false;
вставьте такую строку
obj.Selected = true;
По поводу этой строки.
Цитата:
Сообщение от Letos
if ((obj instanceof TFurnBlock) || (obj instanceof TLayer3D))
Сборка - это обычно покупное изделие. И там не обязательно знать длины дуг и окружностей.
Полуфабрикат - 50/50.
Так что можно написать вместо
Цитата:
Сообщение от Letos
if ((obj instanceof TFurnBlock) || (obj instanceof TLayer3D))