Обмениваемся , задаем вопросы, отвечаем... Все, что касается скриптов в БМ 11 в этой теме.
Новшества Базис Мебельщик версии 11:
..... 6. Работоспособность скриптов, созданных в более ранних версиях, не гарантируется в версии БАЗИС 11.
.....
52. Разработана панель инструментов для скриптов, на которую можно вывести, например, часто используемые скрипты, со своими иконками, хинтами и т.д.
53. Добавлена возможность автозапуска выбранного скрипта на любое из двух событий – Загрузка модели, и/или Сохранение модели.
.....
Новшества Базис Мебельщик версии 2021:
16. Отладчик скриптов.
Новшества Базис Мебельщик версии 2024:
5.«Использовать новый движок скриптов (в бета-тесте)» - Node.js v20.2.0
VISUAL CODE
Код:
Примеры скриптов из видео
Вес панелей.js
Выделить панели без облицовки.js
Панель по 3 точкам.js
Прифуговка кромки.js
Любые вопросы по любому системному и мебельному софту, любые конвертации, настройки и т.д.>сюда< (кроме озвученных в мануалах, инструкциях и темах форума) ...
Последний раз редактировалось AlexBolton; 02.05.2024 в 11:30..
О, какая щедрость, какое великодушие, какая снисходительность!
Выложить зашифрованный скрипт, чтобы никто не видел, что там написано!
Только во-первых, никто не просил скрипт!
Во-вторых, судя коментариям вначале - твой скрипт определяет панели по отверстиям (если определяет). А это мной уже обсуждалось с Артемом Валерьевичем. Это не проблема. Это десяток строчек кода, а не надувание щек и пускание пузырей...
О, какая щедрость, какое великодушие, какая снисходительность!
Выложить зашифрованный скрипт, чтобы никто не видел, что там написано!
Только во-первых, никто не просил скрипт!
Во-вторых, судя коментариям вначале - твой скрипт определяет панели по отверстиям (если определяет). А это мной уже обсуждалось с Артемом Валерьевичем. Это не проблема. Это десяток строчек кода, а не надувание щек и пускание пузырей...
Я могу, если вы мне больше хамить не будите.. Выложить сюда Блок схему алгоритма. Это умным людям даст возможность написать свой аналог. (Словесный понос оставьте при себе. И да, обратитесь к Артему Валерьевичу. Пусть он вам поможет. Я думаю ему не жалко 10 строк кода вам написать. Плюс это вам даст возможность показать какой вы большой молодец и какой я мудак.)
Сам скрипт не дам. Потому что считаю неправильным отдавать то, на что ты затрачивал свое время. А время - это деньги. Из этой ветки уже многие опытные форумчане свалили.. Потому что все что они выкладывали- ничего им не давало кроме лайков.. А сидеть и обслуживать интересы всяких там жерв ЕГЭ- не самое приятная вещь..
Я могу, если вы мне больше хамить не будите.. Выложить сюда Блок схему алгоритма. Это умным людям даст возможность написать свой аналог. (Словесный понос оставьте при себе. И да, обратитесь к Артему Валерьевичу. Пусть он вам поможет. Я думаю ему не жалко 10 строк кода вам написать. Плюс это вам даст возможность показать какой вы большой молодец и какой я мудак.)
Сам скрипт не дам. Потому что считаю неправильным отдавать то, на что ты затрачивал свое время. А время - это деньги. Из этой ветки уже многие опытные форумчане свалили.. Потому что все что они выкладывали- ничего им не давало кроме лайков.. А сидеть и обслуживать интересы всяких там жерв ЕГЭ- не самое приятная вещь..
Вы ничего не можете. А ваше попытки вымолить деньги несуразны. Вот вам скрипт, который написан за 10 секунд! Да-да именно за 10 секунд! Скрипт написан не мной - я так быстро не пишу. И он не работает в Базисе. Но! Это тот самый алгоритм, которым вы так кичитесь. И в умелых руках при определенных условиях он будет работать в Базисе.
PHP код:
// Выбираем все фурнитуры конфирмат в проекте
let krnConfirmatConnectors = API.getObjectsByType('connector', {type: 'krn_confirmat'});
// Для каждой фурнитуры конфирмата
krnConfirmatConnectors.forEach((connector) => {
// Получаем все панели, соединенные с этой фурнитурой
let connectedPanels = connector.getConnectedObjects('panel');
// Добавляем панели в массив, если их там еще нет
connectedPanels.forEach((panel) => {
if (!panelsWithKrnConfirmat.includes(panel)) {
panelsWithKrnConfirmat.push(panel);
}
});
});
// Выводим список панелей, соединенных конфирматом
console.log('Панели, соединенные крнфирматом:', panelsWithKrnConfirmat);
Вы ничего не можете. А ваше попытки вымолить деньги несуразны.
Const, умаляю Вас, будьте ко мне добрее... Ну заплатите же мне... Ну пожалуйста..Ну пожалуйста.. а то совсем кушать нечего...
Цитата:
Сообщение от const
Вот вам скрипт, который написан за 10 секунд! Да-да именно за 10 секунд!
Точно за 10 секунд? Мммм... я проверю..
Const, хватит истерить! Будьте мужчиной...
Цитата:
Сообщение от const
Скрипт написан не мной - я так быстро не пишу.
анекдот бородатый вспомнил:
Приходит девушка устраиваться на работу секретаршей.
Шеф спрашивает: С какой скоростью вы можете печатать на машинке?
Девушка: Ну... 1000-1200 знаков в минуту.
Шеф: Разве можно с такой скоростью печатать?
Девушка: Печатать-то можно, но такая херня получается!
Цитата:
Сообщение от const
Скрипт написан не мной - я так быстро не пишу.
Вас там много что ли? Я так понимаю, что вы там все эффективные менеджеры. Шустрые такие ребята. Код строчите и выводы логические делаете со скоростью нейросетей...
Цитата:
Сообщение от const
И он не работает в Базисе.
Вот это поворот!!
Цитата:
Сообщение от const
Но! Это тот самый алгоритм, которым вы так кичитесь. И в умелых руках при определенных условиях он будет работать в Базисе.
Да, да.. Не забудьте только крестик снять, либо трусы надеть
надо прекращать это безумие...Кроче Const, не благодари..
PHP код:
// код написан "забесплатно" и персонально для пользователя CONST
// была попытка сжать код до "бесплатных" 10 строк , но он выглядит совсем плохо и не читабельно
// поэтому в качестве бонуса дарю остальные строки этого шедевра
// код по сути абсолютное говно по ряду причин:
// 1) работает строго с лексическими масками наименований состоящими из 2 отверстий
// 2) не факт что будет работать с друими типами фурнитуры
// PS поскольку текущий код - говно, то последующая его вставка породит новый говнокод
var obj=Model.Selected;StartEditing(Model);
if (Object.prototype.toString.call(obj) == '[object TFastener]'){
var fast=obj; var panels =fast.FindFastenedObjects();
if((panels.length==0)||(panels.length>2)){ alert('нет сопряжения..'); Action.Finish()}
if ((fast.Name.toUpperCase().match('ВРОВИН'))||(fast.Name.toUpperCase().match('ОНФИРМА'))){
var hole = fast.Holes[0];
if(Coline_vec(fast.NToGlobal(hole.Direction), panels[0].NToGlobal(AxisZ);)){var vkladpanel= panels[0];var nakladpanel= panels[1];
}else{var nakladpanel= panels[1];var vkladpanel= panels[0];}}}
Model.UnSelectAll();
vkladpanel.Selected=true;
alert ('выделена Вкладная панель: '+ vkladpanel.Name );
Model.UnSelectAll();
nakladpanel.Selected=true;
alert ('выделена Накладная панель: '+ nakladpanel.Name );
Model.UnSelectAll();
fast.Selected=true;
Action.Finish();
function Coline_vec(v1, v2){var kk = 0.1;let A = [v1.x, v1.y, v1.z]; let B = [v2.x, v2.y, v2.z]; let cross_P = []; crossProduct(A, B, cross_P);
if (Math.abs(cross_P[0]) < kk && Math.abs(cross_P[1]) < kk && Math.abs(cross_P[2]) < kk) {return true} else {return false}}
function crossProduct(vect_A, vect_B, cross_P) {
cross_P[0] = vect_A[1] * vect_B[2] - vect_A[2] * vect_B[1];
cross_P[1] = vect_A[2] * vect_B[0] - vect_A[0] * vect_B[2];
cross_P[2] = vect_A[0] * vect_B[1] - vect_A[1] * vect_B[0];}
Добавлено через 21 минуту
Цитата:
Сообщение от const
Браво! Но польза все же есть.
Добавлено через 4 минуты
И не забывайте - мы только в начале пути.
Я же так и думал... Const это поколение "тик тока".. (Слепая вера ИИ и отсутсвие собственного И. ) Они часто смотрят и верят всяким там блогерам.. аля Конор и я все проверил.. Все время норовят скачать что то готовое и верят в то, что это бесплатно делает ИИ, котрый скоро за нас за всех будет пахать как чёрт..
Чувак, зачем ты к нам, к инженерам пришел..? Ты пойми- ну не твое это.. Тут физика, алгебра и геометрия..Это требует специальных знаний. Писать код на JS - это 5 процентов успеха.. Остальное это надо шарить в векторах и т.п. Для этого люди учатся. Сдают экзамены.. Тебе неплохо подойдет программирование сайтов про помощи фреймворков.. Ту там да.. Все понятно. Допустим какой нибудь спецэффект не сработает - это не очень страшно.. В целом сайт работать будет худо бедно.. А вот с инженерией такая х...я не канает..
Кстати этот код ярчайшее подтверждение полезности ии.
Все красиво, с комментариями - пользы ноль)
Добавлю немного - Базис - система локальная, поэтому и ответ ИИ был, можно так сказать, общим.
Но есть более глобальные системы. Я задал ему 2 задачи в Three JS. И он написал сто процентов верный работающий код (проверил). Причем с коментариями, какие внешние данные нужно добавить.
И при этом он еще и обучается.
Не решил, а повторил за человеком. Или несколькими человеками, скомпилировав несколько кусков кода в один)
Для человека не желающего погружаться в тему возможно хорошая подмога. Языков программирования и технологий сейчас капец как дофига, вникать в каждую жизни не хватит. Но на интеллект не катит.