Форум профессиональных мебельщиков PROMEBELclub
 
PROMEBELclub - Форум для мебельщиков: конструкторов, дизайнеров, мастеров, технологов и всех, кто имеет отношение к производству и изготовлению мебели. Программы для конструирования и дизайна мебели. Мебельная литература и обучающие пособия.
 
 

Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели > Система БАЗИС > Базис-мебельщик. Скрипты

Меню

Маркет


Ответ
 
Опции темы Опции просмотра
Старый 14.09.2019, 00:17  
БАЗИС 11-2024 - Скрипты
 
Аватар для AlexBolton
AlexBolton
Модератор
Регистрация: 19.02.2008
Адрес: www
Сообщений: 4,015

Сказал(а) спасибо: 7,302
Поблагодарили 17,029 раз(а) в 3,248 сообщениях
Версия для печати Отправить по электронной почте
AlexBolton AlexBolton вне форума 14.09.2019, 00:17
Рейтинг: ()

Обмениваемся , задаем вопросы, отвечаем... Все, что касается скриптов в БМ 11 в этой теме.

Новшества Базис Мебельщик версии 11:
.....
6. Работоспособность скриптов, созданных в более ранних версиях, не гарантируется в версии БАЗИС 11.
.....
52. Разработана панель инструментов для скриптов, на которую можно вывести, например, часто используемые скрипты, со своими иконками, хинтами и т.д.
53. Добавлена возможность автозапуска выбранного скрипта на любое из двух событий – Загрузка модели, и/или Сохранение модели.
.....

Новшества Базис Мебельщик версии 2021:

16. Отладчик скриптов.

Новшества Базис Мебельщик версии 2024:

5.«Использовать новый движок скриптов (в бета-тесте)» - Node.js v20.2.0





VISUAL CODE

Код:
Примеры скриптов из видео

Вес панелей.js
Выделить панели без облицовки.js
Панель по 3 точкам.js
Прифуговка кромки.js
node.js обновился с 7.0.0 до 8.11.3

Напиши себе Базис или Моя первая тумбочка 2
Комплект - руководство+ файлы+ скрипт

Обратите внимание на полезные ответы в этой теме!

__________________
.
▓▒░ Халявы не бывает ░▒▓

[ Как правильно задавать вопросы на форумах ] | [ Как просто, быстро и правильно опубликовать фото и файлы в сообщении 28.05.2024]

[ USDownloader - удобно и безопасно скачиваем с файлообменников 21.04.2024] | [ Обходим блокировки сайтов, торрентов, месенджеров, ФО - RU - UA]


Любые вопросы по любому системному и мебельному софту, любые конвертации, настройки и т.д. >сюда< (кроме озвученных в мануалах, инструкциях и темах форума) ...

Последний раз редактировалось AlexBolton; 02.05.2024 в 11:30..
Просмотров: 642931
Ответить с цитированием Вверх
14 пользователя(ей) сказали cпасибо:
Старый 16.05.2024, 11:56   #991
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 270
Сказал(а) спасибо: 55
Поблагодарили 241 раз(а) в 174 сообщениях
Вес репутации: 263
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
Стрелка

Цитата:
Сообщение от Ran Dar Посмотреть сообщение
привет. Кто подскажет, как построить код на добавление нумерации блока в имя самого блока?
К примеру, если блок называется ШН500, ему присвоен номер блока 1, то имя блока должно получиться 1_ШН500
PHP код:
//для БМ 11 и новее
Undo.RecursiveChanging(Model)*;
for (var 
i=0;i<Model.Count;++i){
if (
Model.Objects[i] == "[object TFurnBlock]" && Model.Objects[i].ArtPos !== "") {
Model.Objects[i].Name Model.Objects[i].ArtPos "_" Model.Objects[i].Name;
Model.Objects[i].Build();
}}; 
skromvit вне форума   Ответить с цитированием Вверх
Старый 16.05.2024, 23:09   #992
Ran Dar
Новичок
 
Регистрация: 14.11.2016
Сообщений: 16
Сказал(а) спасибо: 10
Поблагодарили 10 раз(а) в 2 сообщениях
Вес репутации: 0
Ran Dar на пути к лучшему
По умолчанию

Цитата:
Сообщение от skromvit Посмотреть сообщение
PHP код:
//для БМ 11 и новее
Undo.RecursiveChanging(Model)*;
for (var 
i=0;i<Model.Count;++i){
if (
Model.Objects[i] == "[object TFurnBlock]" && Model.Objects[i].ArtPos !== "") {
Model.Objects[i].Name Model.Objects[i].ArtPos "_" Model.Objects[i].Name;
Model.Objects[i].Build();
}}; 
СПАСИБИЩЕ)))
Ran Dar вне форума   Ответить с цитированием Вверх
Старый 21.05.2024, 08:06   #993
v22884
Местный
 
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 455
Сказал(а) спасибо: 243
Поблагодарили 1,099 раз(а) в 210 сообщениях
Вес репутации: 389
v22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордится
По умолчанию

Круг в линии. Экстраполяция.

Если надо обрисовать круг линиями снаружи с определённым отклонением(точностью).

Approximate -- похоже, но когда надо скомпоновать(Nesting) не совсем оно.


Скрытый текст



//https://planetcalc.ru/1055/
a = 10//сторона многоугольника
n = 8 // количество сторон
ri = a/(2* Math.tan( Math.PI/n) ) //
//alert("Радиус вписанной окружности = "+ ri);



a = 10//сторона многоугольника
n = 8 // количество сторон
rc = a/(2* Math.sin( Math.PI/n) )
//
//alert("Радиус описанной окружности = "+ rс);
narisovat(a,n,ri,rc)
function narisovat(a,n,ri,rc)
{
c= NewContour()
c.AddCircle(0, 0, ri)
c.AddCircle(0, 0, rc)

test = NewContour()
test.AddLine(-ri, -a*0.5,-ri, a*0.5)

l1 = test.AddLine(0, 0,-ri, a*0.5)
l2 = test.AddLine(0, 0,ri, a*0.5)

var u1 = l1.LineAngle() * 180 / Math.PI

test2 = NewContour()
test2.Add (l1.MakeCopy())
test2.Rotate(0, 0, u1)
p2 = test2[0].Pos2
l3 = test2.AddLine(0, 0,p2.x,p2.y)
var u3 = l3.LineAngle() * 180 / Math.PI






for(var k=0;k<n;k++)
{
l = test[0]
c0 = NewContour()
c0.Add (l.MakeCopy())
c0.Rotate(0, 0, u3*k)

c.Add (c0[0].MakeCopy())

}
testC(c)

}
// теперь наоборот
/*
* есть ri и rc надо a и n
*/

tochnost = 1
d = 1000
ri= d *0.5
rc=ri+tochnost

for(n=3;n<100;n++)
{

/*
1) рисуем считаем наружный многоуольник, его сторону = a.
2) для него считаем наружную окружность, её радиус = rc0.
3) если rc0=<rc тогда это оно, иначе добавляем количество сторон n.
*/

// ri = a/(2* Math.tan( Math.PI/n) )
a = ri * (2* Math.tan( Math.PI/n))
rc0 = a/(2* Math.sin( Math.PI/n) )
if( rc0<=rc )
{break}
}

narisovat(a,n,ri,rc0)





function testC(c00) {
var c0 = AddContour()
// c0.Name = name
var c = c0.Contour
c.AddList(c00.MakeCopy())

return c0
}

[свернуть]


есть тема "Готовые скрипты", нет темы "Заготовки-зарисовки."
Миниатюры
Снимок.JPG  
v22884 вне форума   Ответить с цитированием Вверх
Старый 29.05.2024, 09:36   #994
Фрезеровщик
Новичок
 
Регистрация: 20.02.2023
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
Фрезеровщик пока не определено
По умолчанию

Цитата:
Сообщение от kos100pudov Посмотреть сообщение
во вложенном архиве два скрипта и файл фрагмента отверстия.
скрипт "замена фурнитуры на отверстия в панелях.js" заменяет фурнитуру на самостоятельные отверстия, удаляет все кроме панелей и этих новых отверстий, переносит панели и новые отверстия в верхний уровень модели.

файл "отверстие.f3d" нужен для работы скрипта замены фурнитуры и должен лежать с ним в одной папке.

скрипт "разворачиваем панели со своими отверстиями с учетом пазов.js" разворачивает панели с "ее" фурнитурой во фронтальную проекцию, поворачивает панели текстурой по вертикали или если нет текстуры то длинной стороной по вертикали и разворачивает "к зрителю" той плоскостью на которой больше пазов или если пазов одинаково с обоих сторон, то стороной где больше глухих отверстий.

скрипт "разворачиваем панели со своими отверстиями с учетом пазов.js", желательно запускать после использования скрипта "замена фурнитуры на отверстия в панелях.js", иначе фурнитура соединяющая несколько панелей, будет привязана к какой то одной из них, а на других не будет ничего.

Тип файла: zip "замена фурнитуры на отверстие с поворотом панелей.zip" (4.5 Кб, 83 просмотров)
Приветствую! Скопировал из этого файла участок кода для разворота отверстия в нужном направлении (сам не допёр, как это сделать):
Код:
let angle_x = Math.asin(gl_dir.y / 1);
angle_x = angle_x / Math.PI * 180;
let gep = Math.sqrt(Math.pow(gl_dir.x, 2) + Math.pow(gl_dir.z, 2));
let angle_y = 0;
if (gep){
	angle_y = Math.asin(gl_dir.x / gep) / Math.PI * 180;
} else {
	angle_y = Math.asin(gl_dir.x) / Math.PI * 180;
}
if (gl_dir.z <= 0) {
	angle_y = -angle_y;
}
else {
	angle_y = 180 + angle_y;
}
new_fast.RotateX(angle_x);
new_fast.RotateY(angle_y);
Вопрос про первую строчку (возможно, наивный). Деление на единицу - это так было задумано, или остаток от отладки кода? Или всё же это было сделано для исправления какого-то косяка Базиса?
Фрезеровщик вне форума   Ответить с цитированием Вверх
Старый 29.05.2024, 20:53   #995
Ran Dar
Новичок
 
Регистрация: 14.11.2016
Сообщений: 16
Сказал(а) спасибо: 10
Поблагодарили 10 раз(а) в 2 сообщениях
Вес репутации: 0
Ran Dar на пути к лучшему
По умолчанию

Вопрос про первую строчку (возможно, наивный). Деление на единицу - это так было задумано, или остаток от отладки кода? Или всё же это было сделано для исправления какого-то косяка Базиса?[/QUOTE]

Не знаю про этот, я подобный у smartwooda переписывал и дополнял, мне понравился
Ran Dar вне форума   Ответить с цитированием Вверх
Старый 29.05.2024, 20:59   #996
Ran Dar
Новичок
 
Регистрация: 14.11.2016
Сообщений: 16
Сказал(а) спасибо: 10
Поблагодарили 10 раз(а) в 2 сообщениях
Вес репутации: 0
Ran Dar на пути к лучшему
По умолчанию

кстати, знает кто, как исправить скрипт так, чтобы он на полуфабрикат ставил пользовательское свойство? Я что-то разобраться не могу что мешает.
Вложения
Тип файла: rar Пользовательские свойства тест.rar (1.1 Кб, 1 просмотров)
Ran Dar вне форума   Ответить с цитированием Вверх
Старый 29.05.2024, 23:35   #997
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 270
Сказал(а) спасибо: 55
Поблагодарили 241 раз(а) в 174 сообщениях
Вес репутации: 263
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
Стрелка

Цитата:
Сообщение от Ran Dar Посмотреть сообщение
кстати, знает кто, как исправить скрипт так, чтобы он на полуфабрикат ставил пользовательское свойство? Я что-то разобраться не могу что мешает.
Вложения
Тип файла: zip Пользовательские свойства тест.zip (1.3 Кб, 2 просмотров)
skromvit вне форума   Ответить с цитированием Вверх
Старый 30.05.2024, 11:09   #998
Максим Геннадьевич
Местный
 
Регистрация: 11.04.2018
Адрес: г.Маркс
Сообщений: 170
Сказал(а) спасибо: 57
Поблагодарили 247 раз(а) в 46 сообщениях
Вес репутации: 141
Максим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личность
По умолчанию

PHP код:
let butt Action.Properties.NewButt('Кромка'); 
Action.Continue(); 
//значения кромки 
console.log(butt.Material); 
console.log(butt.Sign); 
console.log(butt.ClipPanel); 
console.log(butt.Allowance); 
Может кто сталкивался как вытащить значения?
Максим Геннадьевич вне форума   Ответить с цитированием Вверх
Старый 30.05.2024, 17:08   #999
Артем Валерьевич
Пользователь
 
Регистрация: 03.12.2019
Сообщений: 89
Сказал(а) спасибо: 28
Поблагодарили 117 раз(а) в 34 сообщениях
Вес репутации: 86
Артем Валерьевич скоро придёт к известностиАртем Валерьевич скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Максим Геннадьевич Посмотреть сообщение
PHP код:
let butt Action.Properties.NewButt('Кромка'); 
Action.Continue(); 
//значения кромки 
console.log(butt.Material); 
console.log(butt.Sign); 
console.log(butt.ClipPanel); 
console.log(butt.Allowance); 
Может кто сталкивался как вытащить значения?
а эти свойства есть у объекта? похоже что нет
Артем Валерьевич вне форума   Ответить с цитированием Вверх
Ответ

Нижняя навигация
Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели > Система БАЗИС > Базис-мебельщик. Скрипты


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базис Бирка 2021/2024 AlexBolton Базис-мебельщик 2021-2024 29 30.05.2024 21:15
Базис ЧПУ 2021/2024 AlexBolton Базис-мебельщик 2021-2024 139 03.05.2024 15:12
БАЗИС 10 - Скрипты systland Базис-мебельщик. Скрипты 715 14.04.2024 07:03
БАЗИС 9 - Скрипты Igor_482 Базис-мебельщик. Скрипты 1442 04.04.2024 11:28
БАЗИС 8 - Скрипты Igor_482 Базис-мебельщик. Скрипты 1525 30.03.2024 15:03


Текущее время: 11:02. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© 2007-2023 PROMEBEL

џндекс.Њетрика