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

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

Меню

Маркет


Ответ
 
Опции темы Опции просмотра
Старый 21.03.2018, 14:48  
Обсуждение скриптов в Системе Базис
Letos
Консультант
Регистрация: 28.06.2017
Сообщений: 555

Сказал(а) спасибо: 127
Поблагодарили 1,035 раз(а) в 367 сообщениях
Версия для печати Отправить по электронной почте
Letos Letos вне форума 21.03.2018, 14:48
Рейтинг: ()

Если вы не знаете, или не уверены, куда задавать вопрос по скриптам в Системе Базис, то эта тема для вас.
Просмотров: 258047
Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
PravCom (28.07.2021), Максим Геннадьевич (08.06.2018)
Старый 07.06.2022, 09:55   #371
sergio1982
Местный
 
Регистрация: 01.09.2019
Сообщений: 424
Сказал(а) спасибо: 52
Поблагодарили 481 раз(а) в 147 сообщениях
Вес репутации: 196
sergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царстве
По умолчанию

Да, там написано про это, решение не искал.
sergio1982 вне форума   Ответить с цитированием Вверх
Старый 07.06.2022, 11:10   #372
sergio1982
Местный
 
Регистрация: 01.09.2019
Сообщений: 424
Сказал(а) спасибо: 52
Поблагодарили 481 раз(а) в 147 сообщениях
Вес репутации: 196
sergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царстве
По умолчанию

Да там не ясно, может и на метр сдвинуть, может вообще не сдвинуть.
sergio1982 вне форума   Ответить с цитированием Вверх
Старый 07.06.2022, 12:07   #373
Артем Валерьевич
Пользователь
 
Регистрация: 03.12.2019
Сообщений: 89
Сказал(а) спасибо: 28
Поблагодарили 117 раз(а) в 34 сообщениях
Вес репутации: 86
Артем Валерьевич скоро придёт к известностиАртем Валерьевич скоро придёт к известности
По умолчанию

Цитата:
Сообщение от sergio1982 Посмотреть сообщение
Да там не ясно, может и на метр сдвинуть, может вообще не сдвинуть.
да, точно, когда несколько панелей выделяешь кидает черти куда их

тогда вопрос остается открытым.
а можно это не через контур, а через резиновую нить как-то реализовать?
Артем Валерьевич вне форума   Ответить с цитированием Вверх
Старый 07.06.2022, 12:42   #374
sergio1982
Местный
 
Регистрация: 01.09.2019
Сообщений: 424
Сказал(а) спасибо: 52
Поблагодарили 481 раз(а) в 147 сообщениях
Вес репутации: 196
sergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царстве
По умолчанию

Цитата:
Сообщение от Артем Валерьевич Посмотреть сообщение
а через резиновую нить как-то реализовать?
Да это возможно, но моих познаний тут не хватает.
Это работает только в "правильном" направлении текущего вида.
Самому хотелось бы знать, как поправить, чтобы вытягивало в нужную сторону, когда повёрнут текущий вид, или была повёрнута панель, и.т.п.

PHP код:
Model.Selected

Shift 
100
Contour 
p.Contour
Contour
.Min GetMin(Contour)
Contour.Max GetMax(Contour)

Dir 'Вправо'
Dir 'Влево'
Dir 'Вниз'
Dir 'Вверх'


var xs Contour.Min.x
var xe Contour.Max.x
var Width xe xs

var ys Contour.Min.y
var ye Contour.Max.y
var Height ye ys

StartEditing
(p);
if (
Dir == 'Вправо') {
    
Contour.Elastic(xs Width 2ysxeyeShift0)
}
else if (
Dir == 'Влево') {
    
Contour.Elastic(xsysxs Width 2ye, -Shift0)
}
else if (
Dir == 'Вверх') {
    
Contour.Elastic(xsys Height 2xeye0Shift)
}
else if (
Dir == 'Вниз') {
    
Contour.Elastic(xsysxeys Height 20, -Shift)
}
p.Build();

function 
GetMin(cont) {
    var 
result = {
        
x100000000,
        
y100000000
    
}
    for (var 
0cont.Counti++) {
        var 
item cont.Objects[i];
        switch (
item.ElType) {
            case (
1): //ElementType.Line
                
var p1 item.AsLine().Pos1;
                var 
p2 item.AsLine().Pos2;
                
result.Math.min(result.xp1.xp2.x);
                
result.Math.min(result.yp1.yp2.y);
                break;
            case (
2): //ElementType.Arc
                
var p1 item.AsArc().Pos1;
                var 
p2 item.AsArc().Pos2;
                var 
item.AsArc().Center;
                
result.Math.min(result.xp1.xp2.xc.x);
                
result.Math.min(result.yp1.yp2.yc.y);
                break;
            case (
3): //ElementType.Circle
                
var cir item.AsCircle();
                var 
cir.Center;
                
result.Math.min(result.xc.cir.CirRadius);
                
result.Math.min(result.yc.cir.CirRadius);
        }
    }
    return 
result;
}

function 
GetMax(cont) {
    var 
result = {
        
x: -100000000,
        
y: -100000000
    
}
    for (var 
0cont.Counti++) {
        var 
item cont.Objects[i];
        switch (
item.ElType) {
            case (
1): //ElementType.Line
                
var p1 item.AsLine().Pos1;
                var 
p2 item.AsLine().Pos2;
                
result.Math.max(result.xp1.xp2.x);
                
result.Math.max(result.yp1.yp2.y);
                break;
            case (
2): //ElementType.Arc
                
var p1 item.AsArc().Pos1;
                var 
p2 item.AsArc().Pos2;
                var 
item.AsArc().Center;
                
result.Math.max(result.xp1.xp2.xc.x);
                
result.Math.max(result.yp1.yp2.yc.y);
                break;
            case (
3): //3ElementType.Circle
                
var cir item.AsCircle();
                var 
cir.Center;
                
result.Math.max(result.xc.cir.CirRadius);
                
result.Math.max(result.yc.cir.CirRadius);
        }
    }
    return 
result;

sergio1982 вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Старый 07.06.2022, 16:04   #375
Артем Валерьевич
Пользователь
 
Регистрация: 03.12.2019
Сообщений: 89
Сказал(а) спасибо: 28
Поблагодарили 117 раз(а) в 34 сообщениях
Вес репутации: 86
Артем Валерьевич скоро придёт к известностиАртем Валерьевич скоро придёт к известности
По умолчанию

Цитата:
Сообщение от sergio1982 Посмотреть сообщение
Да это возможно, но моих познаний тут не хватает.
Это работает только в "правильном" направлении текущего вида.
Самому хотелось бы знать, как поправить, чтобы вытягивало в нужную сторону, когда повёрнут текущий вид, или была повёрнута панель, и.т.п.
Зато тут не сдвигает панели.

А можно как-то узнать вертикальная выделена панель или горизонтальная? /нашел/

Последний раз редактировалось Артем Валерьевич; 07.06.2022 в 16:44.
Артем Валерьевич вне форума   Ответить с цитированием Вверх
Старый 09.06.2022, 22:19   #376
Рапай
Новичок
 
Регистрация: 25.09.2020
Сообщений: 2
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
Рапай пока не определено
По умолчанию

Всем доброго вечера! Подскажите, пожалуйста, есть ли способ какой-нибудь с помощью скрипта создавать параметрические фрагменты со смещением по глубине, задав размер, как на картинке.

https://drive.google.com/file/d/1xLq...oI1WYD/preview

Последний раз редактировалось AlexBolton; 18.06.2022 в 17:02. Причина: ссылка
Рапай вне форума   Ответить с цитированием Вверх
Старый 22.06.2022, 16:57   #377
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 90
PravCom скоро придёт к известности
По умолчанию

Подскажите пож-ста, что не так делаю:

Хочу след. результат - Выделяю необходимые детали, тыкаю на скрипт, получаю закромлённые детальки без повторов кромления, если некоторые детали уже были закромлены.
PHP код:
 var buttExists panel.Butts.Count 0    // проверяю, есть ли кромка на выделенных панелях
 
var panel Model.Selected.AsPanel;
 if (
panel){
     
Undo.Changing(panel)
     
panel.Butts.Delete(0);   // если есть - удаляю
 


function 
AddButts(Panel) {
    for(var 
0Panel.Contour.Counti++){ //перебераю весь массив
      
Butt Panel.Butts.Add(); //установить кромку методом Butts
      
Butt.ElemIndex i// стороны кромления
      
Butt.ClipPanel true//подрезка
      
Butt.Material "2.0_ABS"//наименование кромки \r артикул
      
Butt.Sign "x"//обозначение кромки
      
Butt.Thickness = (2.0); //толщина кромки
    
}
    
Panel.Build();
  }
  
  for (var 
0Model.SelectionCountk++)
    
AddButts(Model.Selections[k]); 
PravCom вне форума   Ответить с цитированием Вверх
Старый 22.06.2022, 17:48   #378
Артем Валерьевич
Пользователь
 
Регистрация: 03.12.2019
Сообщений: 89
Сказал(а) спасибо: 28
Поблагодарили 117 раз(а) в 34 сообщениях
Вес репутации: 86
Артем Валерьевич скоро придёт к известностиАртем Валерьевич скоро придёт к известности
По умолчанию

а первая переменная где еще используется? для чего она?)
Артем Валерьевич вне форума   Ответить с цитированием Вверх
Старый 22.06.2022, 18:39   #379
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 90
PravCom скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Артем Валерьевич Посмотреть сообщение
а первая переменная где еще используется? для чего она?)
я так понимаю, что идёт проверка наличия кромки на панелях,
переменная buttExists только для проверки наличия кромки, но видимо не правильно
PravCom вне форума   Ответить с цитированием Вверх
Старый 22.06.2022, 19:58   #380
Ovsyanicov
Местный
 
Регистрация: 30.11.2013
Адрес: Кишинев
Сообщений: 734
Сказал(а) спасибо: 1,529
Поблагодарили 886 раз(а) в 376 сообщениях
Вес репутации: 405
Ovsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордится
По умолчанию

1. переменная panel используется раньше, чем объявлена - так нельзя;
2. переменная buttExists не используется после объявления, хотя может;
3. участок кода panel.Butts.Delete(0) удаляет только кромку с индексом 0, а Вам, я полагаю, нужно удалять всю кромку с панели, так? Если да, то надо проходить циклом по всем кромкам панели или использовать panel.Butts.Clear() для удаления всех кромок;
4. проверку наличия кромки лучше включить в функцию AddButts() - в Вашем варианте она не работает.

Попробуйте такой вариант:
PHP код:
function AddButts(Panel) {
    var 
buttExists Panel.Butts.Count 0// проверяю, есть ли кромка на выделенных панелях
    
if (buttExists) {
        
Undo.Changing(Panel);
        
Panel.Butts.Clear(); // если есть - удаляю
    
}
    for (var 
0Panel.Contour.Counti++) { //перебераю весь массив
        
Butt Panel.Butts.Add(); //установить кромку методом Butts
        
Butt.ElemIndex i// стороны кромления
        
Butt.ClipPanel true//подрезка
        
Butt.Material "2.0_ABS"//наименование кромки \r артикул
        
Butt.Sign "x"//обозначение кромки
        
Butt.Thickness = (2.0); //толщина кромки
    
}
    
Panel.Build();
}

for (var 
0Model.SelectionCountk++)
    
AddButts(Model.Selections[k]); 
Ovsyanicov вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
PravCom (22.06.2022)
Ответ

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


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обсуждение готовых скриптов Letos Базис-мебельщик. Скрипты 492 04.03.2024 11:42
БАЗИС 8 - общее обсуждение DTioutiou Базис-мебельщик 8 2092 15.08.2023 01:44
БАЗИС 8 - Фурнитура, обсуждение nayrogi Базис-мебельщик 8 1390 16.04.2022 22:47
MasterBox 7. Работа с ящиками в системе БАЗИС Daddy Базис-мебельщик 7 605 13.11.2019 11:13
Общие вопросы по системе БАЗИС 7.0 COBA Базис-мебельщик 7 904 24.08.2016 19:16


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


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

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