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

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

Меню

Маркет


Ответ
 
Опции темы Опции просмотра
Старый 06.06.2017, 08:56  
БАЗИС 10 - Скрипты
systland
VIP
Регистрация: 30.10.2007
Адрес: Москва
Сообщений: 565

Сказал(а) спасибо: 303
Поблагодарили 451 раз(а) в 189 сообщениях
Версия для печати Отправить по электронной почте
systland systland вне форума 06.06.2017, 08:56
Рейтинг: ()

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


Последний раз редактировалось systland; 26.12.2017 в 11:52..
Просмотров: 434854
Ответить с цитированием Вверх
Старый 26.03.2021, 10:52   #561
SUNR1se
Новичок
 
Регистрация: 09.04.2018
Сообщений: 11
Сказал(а) спасибо: 2
Поблагодарили 2 раз(а) в 2 сообщениях
Вес репутации: 0
SUNR1se пока не определено
По умолчанию

Letos, Доброго времени суток.
Вы как то писали о замене фурнитуры.
Action.ReplaceFurniture.
Не могли бы подробнее объяснить?
У меня старая фурнитура получается с модели, методом перебора объектов.
Новая фурнитура записывается в переменную через выбор в форме.
И как использовать метод Action.ReplaceFurniture я так и не разобрался...
SUNR1se вне форума   Ответить с цитированием Вверх
Старый 31.03.2021, 20:48   #562
ma3x.forum
Новичок
 
Регистрация: 01.03.2021
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
ma3x.forum пока не определено
По умолчанию

Отличный скрипт по формированию DXF панели. Можно ли к нему прикрутить расстановку размеров линейной цепочкой, и основных размеров панели с подписями каждого отверстия (по типу фурнитуры например). Нужно для оформления документации в цеха.
Пример чертежа во вложении.
И ещё задача для отрисовки схем сборки нужно получить все панели с ВЫРЕЗАНЫМИ (вычитанием) всех отверстий из панелей. Здесь есть частичное решение - создание схемы сборки, при этом в панелях остаются отверстия как фурнитура, а сама фурнитура отодвигается. А нужно именно вычесть отверстия из панели.
Миниатюры
изображение_viber_2021-03-31_20-46-17.jpg  
ma3x.forum вне форума   Ответить с цитированием Вверх
Старый 01.04.2021, 12:31   #563
ma3x.forum
Новичок
 
Регистрация: 01.03.2021
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
ma3x.forum пока не определено
По умолчанию

Ещё вопрос. Здесь было уже про поворот камеры на нужный угол. А как при этом ещё и вид выбрать Аксонометрия или Перспектива?
ma3x.forum вне форума   Ответить с цитированием Вверх
Старый 06.04.2021, 18:06   #564
Bystry
Новичок
 
Аватар для Bystry
 
Регистрация: 02.11.2018
Сообщений: 16
Сказал(а) спасибо: 5
Поблагодарили 22 раз(а) в 3 сообщениях
Вес репутации: 0
Bystry на пути к лучшему
По умолчанию

Цитата:
Сообщение от Letos Посмотреть сообщение
TImportedMesh
Как можно скриптом считать\присвоить материал для таких объектов?
Bystry вне форума   Ответить с цитированием Вверх
Старый 12.04.2021, 10:52   #565
ma3x.forum
Новичок
 
Регистрация: 01.03.2021
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
ma3x.forum пока не определено
По умолчанию Развернуть панели вместе с отверстиями и фурнитурой.

Есть простой скрипт, который сбрасывает координаты трансформации у всех панелей:

Model.forEachPanel(function(obj) {

console.log(obj.Name)
obj.SetDefaultTransform()
}
)

Как заставить его разворачивать ещё и отверстия с фурнитурой, предварительно выделив их вместе с панелями и отменив трансформацию только панелей, таким образом повернув их, но уже вместе с отверстиями и фурнитурой?
Или это так не работает?
ma3x.forum вне форума   Ответить с цитированием Вверх
Старый 02.12.2021, 14:32   #566
Saha SG-552
Пользователь
 
Аватар для Saha SG-552
 
Регистрация: 16.03.2016
Сообщений: 31
Сказал(а) спасибо: 52
Поблагодарили 26 раз(а) в 6 сообщениях
Вес репутации: 107
Saha SG-552 на пути к лучшему
По умолчанию

Цитата:
Сообщение от ma3x.forum Посмотреть сообщение
Как заставить его разворачивать ещё и отверстия с фурнитурой, предварительно выделив их вместе с панелями и отменив трансформацию только панелей, таким образом повернув их, но уже вместе с отверстиями и фурнитурой?
Или это так не работает?
Присоединяюсь к вопросу: можно ли выделить панели вместе с прилегающей к ней фурнитурой?
Saha SG-552 вне форума   Ответить с цитированием Вверх
Старый 02.12.2021, 21:21   #567
kos100pudov
Местный
 
Регистрация: 02.11.2015
Сообщений: 490
Сказал(а) спасибо: 105
Поблагодарили 701 раз(а) в 265 сообщениях
Вес репутации: 293
kos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личность
По умолчанию

Цитата:
Сообщение от ma3x.forum Посмотреть сообщение
Есть простой скрипт, который сбрасывает координаты трансформации у всех панелей:

Model.forEachPanel(function(obj) {

console.log(obj.Name)
obj.SetDefaultTransform()
}
)

Как заставить его разворачивать ещё и отверстия с фурнитурой, предварительно выделив их вместе с панелями и отменив трансформацию только панелей, таким образом повернув их, но уже вместе с отверстиями и фурнитурой?
Или это так не работает?
пробуйте. работает в 8-ке и в 21-м.
принцип одинаков, разница в методе перебора объектов, выделенные, подсвеченные..
1.

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

var panel = Model.Selected;
var block = AddBlock();
block.Build();
Action.Commit();
block = Model.Objects[Model.Count-1];
block.Translate(panel.ToGlobal(NewVector(0, 0, 0)));
block.Orient(panel.NToGlobal(AxisZ), panel.NToGlobal(AxisY));
panel.ReTransform(panel.Owner, block);
panel.Owner = block;
for (var i=0; i<Model.HighlightCount; ++i){
Model.Highlights[i].ReTransform(Model.Highlights[i].Owner, block);
Model.Highlights[i].Owner = block;
}
block.SetDefaultTransform();
panel.ReTransform(panel.Owner, Model);
panel.Owner = Model;
for (var i=0; i<Model.HighlightCount; ++i){
Model.Highlights[i].ReTransform(Model.Highlights[i].Owner, Model);
Model.Highlights[i].Owner = Model;
}
DeleteObject(block);
[свернуть]

2.

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

var panel = Model.Selected;
var block = AddBlock();
block.Build();
Action.Commit();
block = Model.Objects[Model.Count-1];
block.Translate(panel.ToGlobal(NewVector(0, 0, 0)));
block.Orient(panel.NToGlobal(AxisZ), panel.NToGlobal(AxisY));
Model.forEach(function(obj){
if (obj.Highlighted){
obj.Selected = true;
}
});
for (var i=0; i<Model.SelectionCount; ++i){
Model.Selections[i].ReTransform(Model.Selections[i].Owner, block);
Model.Selections[i].Owner = block;
}
block.SetDefaultTransform();
for (var i=0; i<Model.SelectionCount; ++i){
Model.Selections[i].ReTransform(Model.Selections[i].Owner, Model);
Model.Selections[i].Owner = Model;
}
DeleteObject(block);
[свернуть]

3.

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

var panel = Model.Selected;
var block = AddBlock();
block.Build();
Action.Commit();
block = Model.Objects[Model.Count-1];
block.Translate(panel.ToGlobal(NewVector(0, 0, 0)));
block.Orient(panel.NToGlobal(AxisZ), panel.NToGlobal(AxisY));
for (var i=0; i<Model.HighlightCount; ++i){
Model.Highlights[i].Selected = true;
}
for (var i=0; i<Model.SelectionCount; ++i){
Model.Selections[i].ReTransform(Model.Selections[i].Owner, block);
Model.Selections[i].Owner = block;
}
block.SetDefaultTransform();
for (var i=0; i<Model.SelectionCount; ++i){
Model.Selections[i].ReTransform(Model.Selections[i].Owner, Model);
Model.Selections[i].Owner = Model;
}
DeleteObject(block);
[свернуть]


Добавлено через 2 минуты
Цитата:
Сообщение от Saha SG-552 Посмотреть сообщение
Присоединяюсь к вопросу: можно ли выделить панели вместе с прилегающей к ней фурнитурой?
подсвеченное можно выделить несколькими способами
1.

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

Model.forEach(function(obj){
if (obj.Highlighted){
obj.Selected = true;
}
});
[свернуть]

2.

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

for (var i=0; i<Model.HighlightCount; ++i){
Model.Highlights[i].Selected = true;
}
[свернуть]
__________________
Оно поди конечно если, а как коснись чего-нибудь, так вот те на пожалуйста..
kos100pudov вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
Ovsyanicov (03.12.2021), Saha SG-552 (06.12.2021)
Старый 06.12.2021, 10:15   #568
Saha SG-552
Пользователь
 
Аватар для Saha SG-552
 
Регистрация: 16.03.2016
Сообщений: 31
Сказал(а) спасибо: 52
Поблагодарили 26 раз(а) в 6 сообщениях
Вес репутации: 107
Saha SG-552 на пути к лучшему
По умолчанию

Извините, наверное нужно было более развёрнуто описать хотелки свои =) Я использую скрипт выделения панели по номерам позиций, работает исправно, панели выделяет, только вот хотелось бы ещё, чтобы вместе с панелями выделялась прилегающая к этим панелям фурнитура. Или не выделялась, а хотя бы подсвечивалась. Спасибо!
Saha SG-552 вне форума   Ответить с цитированием Вверх
Старый 06.12.2021, 10:34   #569
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 253
Сказал(а) спасибо: 54
Поблагодарили 227 раз(а) в 161 сообщениях
Вес репутации: 257
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от Saha SG-552 Посмотреть сообщение
Извините, наверное нужно было более развёрнуто описать хотелки свои =) Я использую скрипт выделения панели по номерам позиций, работает исправно, панели выделяет, только вот хотелось бы ещё, чтобы вместе с панелями выделялась прилегающая к этим панелям фурнитура. Или не выделялась, а хотя бы подсвечивалась. Спасибо!
Не знаю каким скриптом поиска пользуетесь, но с подсветкой можно так:

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

PHP код:
UnSelectAll();
Action.OnFinish = function(){
    if(
positions == '')
        
UnSelectAll();
}
var 
positions prompt("Введите номера позиций через пробел");
var 
nums positions.split(' ');
var 
finded = [];
var 
not_finded = [];
function 
contains(arrelem) {
    for (var 
0arr.lengthi++) {
        if (
arr[i] === elem) {
            return 
true;
        }
    }
    return 
false;
}
Model.forEach(function(obj) {
    if (
obj) {
        if (
nums.indexOf(obj.ArtPos) >= 0) {
            
obj.Selected true;
            
finded.push(obj.ArtPos);
        }
    }
})
//str = '';
for (i=0;i<nums.length;i++){
    if (!
contains(findednums[i])){
        
//str=str+nums[i]+',';
        
not_finded.push(nums[i]);
    }
}
if (
not_finded.length 0){
    
alert('Не найдены позиции: '+not_finded)
}

//Подсветить крепеж
for (var 0Model.SelectionCounti++) {
if (
Model.Selections[i] instanceof TFurnPanel){
var 
mass Model.Selections[i].FindConnectedFasteners();
for (var 
0mass.lengthr++) {
mass[r].Highlighted true;
}}} 
[свернуть]


Если что, то скопируйте в свой скрипт часть после //Подсветить крепеж
skromvit вне форума   Ответить с цитированием Вверх
3 пользователя(ей) сказали cпасибо:
kaant (06.12.2021), Ovsyanicov (01.02.2023), Saha SG-552 (07.12.2021)
Старый 06.12.2021, 17:15   #570
kos100pudov
Местный
 
Регистрация: 02.11.2015
Сообщений: 490
Сказал(а) спасибо: 105
Поблагодарили 701 раз(а) в 265 сообщениях
Вес репутации: 293
kos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личность
По умолчанию

Цитата:
Сообщение от skromvit Посмотреть сообщение
Не знаю каким скриптом поиска пользуетесь, но с подсветкой можно так:

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

PHP код:
UnSelectAll();
Action.OnFinish = function(){
    if(
positions == '')
        
UnSelectAll();
}
var 
positions prompt("Введите номера позиций через пробел");
var 
nums positions.split(' ');
var 
finded = [];
var 
not_finded = [];
function 
contains(arrelem) {
    for (var 
0arr.lengthi++) {
        if (
arr[i] === elem) {
            return 
true;
        }
    }
    return 
false;
}
Model.forEach(function(obj) {
    if (
obj) {
        if (
nums.indexOf(obj.ArtPos) >= 0) {
            
obj.Selected true;
            
finded.push(obj.ArtPos);
        }
    }
})
//str = '';
for (i=0;i<nums.length;i++){
    if (!
contains(findednums[i])){
        
//str=str+nums[i]+',';
        
not_finded.push(nums[i]);
    }
}
if (
not_finded.length 0){
    
alert('Не найдены позиции: '+not_finded)
}

//Подсветить крепеж
for (var 0Model.SelectionCounti++) {
if (
Model.Selections[i] instanceof TFurnPanel){
var 
mass Model.Selections[i].FindConnectedFasteners();
for (var 
0mass.lengthr++) {
mass[r].Highlighted true;
}}} 
[свернуть]


Если что, то скопируйте в свой скрипт часть после //Подсветить крепеж
Цитата:
Сообщение от Saha SG-552 Посмотреть сообщение
Извините, наверное нужно было более развёрнуто описать хотелки свои =) Я использую скрипт выделения панели по номерам позиций, работает исправно, панели выделяет, только вот хотелось бы ещё, чтобы вместе с панелями выделялась прилегающая к этим панелям фурнитура. Или не выделялась, а хотя бы подсвечивалась. Спасибо!
воспользуйтесь ответом от skromvit, но в конце замените mass[r].Highlighted = true; на mass[r].Selected = true;
__________________
Оно поди конечно если, а как коснись чего-нибудь, так вот те на пожалуйста..
kos100pudov вне форума   Ответить с цитированием Вверх
3 пользователя(ей) сказали cпасибо:
PravCom (06.12.2021), Saha SG-552 (07.12.2021), skromvit (06.12.2021)
Ответ

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


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базис-Мебельщик 10 systland Базис-мебельщик 10 1264 13.03.2024 22:48
БАЗИС-Мебельщик 7.0 Shadow Базис-мебельщик 7 2230 29.11.2019 10:37
Базис-мебельщик JavaScript ran Ищу работу 0 09.05.2014 10:08


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


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

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