Обмениваемся , задаем вопросы, отвечаем... Все, что касается скриптов в БМ 11 в этой теме.
Новшества Базис Мебельщик версии 11:
..... 6. Работоспособность скриптов, созданных в более ранних версиях, не гарантируется в версии БАЗИС 11.
.....
52. Разработана панель инструментов для скриптов, на которую можно вывести, например, часто используемые скрипты, со своими иконками, хинтами и т.д.
53. Добавлена возможность автозапуска выбранного скрипта на любое из двух событий – Загрузка модели, и/или Сохранение модели.
.....
Новшества Базис Мебельщик версии 2021:
16. Отладчик скриптов.
VISUAL CODE
Код:
Примеры скриптов из видео
Вес панелей.js
Выделить панели без облицовки.js
Панель по 3 точкам.js
Прифуговка кромки.js
Любые вопросы по любому системному и мебельному софту, любые конвертации, настройки и т.д.>сюда< (кроме озвученных в мануалах, инструкциях и темах форума) ...
Последний раз редактировалось AlexBolton; 09.01.2024 в 11:56..
Хочу скриптом создавать пазы (фрезеровку на фасаде). Подскажите возможно ли одним и тем же профилем фрезы создавать пазы разной глубины?
Нашел лишь команду Cut.Contour.Move(0, Dver.Thickness);
Но при замене 0 на другое число сдвигается траектория в сторону а не вглубь.
Хочу скриптом создавать пазы (фрезеровку на фасаде). Подскажите возможно ли одним и тем же профилем фрезы создавать пазы разной глубины?
Нашел лишь команду Cut.Contour.Move(0, Dver.Thickness);
Но при замене 0 на другое число сдвигается траектория в сторону а не вглубь.
Move имеет 2 параметра - смещение по Х и смещение по У. Вам, скорее всего, нужно писать Cut.Contour.Move(0, Dver.Thickness - dy);? где dy - смещение по У, а знак минус я предположил потому, что смещение уже в плюс по толщине объекта Dver.
нужно прописать условие в базис смета, подскажите знающие люди.
Вам следует начать с корректной постановки задачи.
из написанного Вами очень маловероятно что кто то сможет сделать скрипт.
четко в терминах БМ расписываем какие элементы в каком порядке нужно проверить по имени, как вводится имя (или оно зашито в скрипте) и что нужно делать если имя нашлось.
Спасибо, дома ключа нет, завтра с утра на работе попробую.
Добавлено через 4 минуты
Цитата:
Сообщение от Letos
Меня немного смутила фраза "в названии модели". Учитывая, что весь код относится к панели, я решил, что имелась в виду панель. Для панели проверка имени на наличие ключевого слова будет выглядеть так:
Код HTML:
[PHP]
var keyword = 'КУБИК';
if (Panel.Name.indexOf(keyword) >= 0){
// Сюда приходит, если имя панели содержит ключевую фразу
}[/PHP]
Добавлено через 12 минут
Цитата:
Сообщение от IStiv
Вам следует начать с корректной постановки задачи.
из написанного Вами очень маловероятно что кто то сможет сделать скрипт.
четко в терминах БМ расписываем какие элементы в каком порядке нужно проверить по имени, как вводится имя (или оно зашито в скрипте) и что нужно делать если имя нашлось.
Значит я имел в виду помочь составить условие, остальное я сам вставлю. Я код читать в принципе немножко умею, а что писать не знаю. Мои знания это CTRL+C, CTRL+V + плюс вставка своих параметров. Я синтаксиса не понимаю, с этими скобками вечно путаюсь, а когда есть конкретный пример то все гораздо проще.
Последний раз редактировалось mihey2011; 14.01.2020 в 20:31.
А не подскажите как будет выглядеть условие на текстовое пользовательское свойство к панели?
PHP код:
var name = 'Имя польз. св-ва';
var value = 'Значение польз. св-ва';
if (panel.UserProperty[name] == value){
//Здесь код обработки, что значение пользовательского свойства <name> соответствует <value>
}
var name = 'Имя польз. св-ва'; var value = 'Значение польз. св-ва'; if (panel.UserProperty[name] == value){ //Здесь код обработки, что значение пользовательского свойства <name> соответствует <value> }
Спасибо большое, но что-то не работает
Последний раз редактировалось mihey2011; 15.01.2020 в 16:48.
сперва хорошо бы, проверить а есть ли вообще такое пользовательское свойство.
Скрытый текст
PHP код:
var name = 'Имя польз. св-ва'; var value = 'Значение польз. св-ва'; if(panel.UserProperty[name] != undefined){ if (panel.UserProperty[name] == value){ //Здесь код обработки, что значение пользовательского свойства <name> соответствует <value> } } else{ alert("такого свойства нет в панели" + panel.Name ); }
[свернуть]
====
эм. fs.statSync(); не работает.
в чем м.б. проблема? @Letos
PHP код:
var fs = require('fs'); var pth = "какой то путь"; var state= fs.statSync(pth); var x ="это не выполниться";
эм. fs.statSync(); не работает.
в чем м.б. проблема? @Letos
PHP код:
var fs = require('fs');
var pth = "какой то путь";
var state= fs.statSync(pth);
var x ="это не выполниться";
У себя проверил на существующем файле - нормально. Оно может выдавать ошибку ENOENT: no such file or directory, если файла не существует.
Лучше будет сделать так:
PHP код:
var fs = require('fs');
var pth = "какой то путь";
var state = null;
if (fs.existsSync(pth))
state = fs.statSync(pth);
var x ="это не выполниться";
Если и в таком случае не заработает - пришлите, что за ошибку выдаёт в логе.