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

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

Меню

Маркет


Ответ
 
Опции темы Опции просмотра
Старый 21.12.2017, 12:21  
Заявки на создание скрипта.
systland
VIP
Регистрация: 30.10.2007
Адрес: Москва
Сообщений: 565

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

Тема создана для размещения заявок на написание скриптов.

Для того, чтобы заявка была рассмотрена, необходимо составить максимально понятное техзадание :
1. Описать, какую задачу должен выполнять скрипт.
2. Какие данные должны использоваться скриптом.
3. Алгоритм (последовательность действий) работы скрипта.

Заявки типа "Мне нужен скрипт для расстановки полок" или подобные рискуют остаться без внимания.

Любые заявки не обязательны для рассмотрения. Если Вам не ответили, значит по какой-либо причине нет возможности её выполнить.
Альтернативный вариант - обратиться лично к тем, кто может оказать такую услугу

Другие сообщения, не соответствующие назначению темы, будут удалены без предупреждения!

Просьба после того, как заявка будет выполнена и утратившая актуальность по другим причинам, оставлять соответствующее сообщение в этой же теме или обратится к модератору для закрытия заявки.
__________________


Последний раз редактировалось Uncle; 03.02.2020 в 20:07.. Причина: Поправил шапку
Просмотров: 343614
Ответить с цитированием Вверх
Старый 10.01.2024, 10:46   #661
Максим Геннадьевич
Местный
 
Регистрация: 11.04.2018
Адрес: г.Маркс
Сообщений: 169
Сказал(а) спасибо: 57
Поблагодарили 246 раз(а) в 46 сообщениях
Вес репутации: 140
Максим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от АлексМЕ Посмотреть сообщение

У меня если честно сразу возникла мысль, что выбор цвета никак не упростить...
Про скрипты понятно. Можно сделать меню по наименованию объектов в проекте и выбор цвета для каждого объекта (просто из трех или как в БМ из большого списка). Либо по типу объекта блок, фурнитура, сборка, профиль и т.д , но учтите, что если розетка тип панель она попадет в список панели.
Максим Геннадьевич вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
АлексМЕ (12.01.2024)
Старый 20.01.2024, 12:58   #662
Patuk1983
Новичок
 
Регистрация: 17.10.2020
Адрес: Чернигов
Сообщений: 3
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
Patuk1983 пока не определено
По умолчанию

Добрый день. Нужен скрипт для построения корпусов, как в Е-сервисе Блюм. Нравиться их конструктор корпусов. Можно без фурнитуры и кромки.
Patuk1983 вне форума   Ответить с цитированием Вверх
Старый 20.01.2024, 18:13   #663
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 267
Сказал(а) спасибо: 55
Поблагодарили 239 раз(а) в 172 сообщениях
Вес репутации: 262
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от Patuk1983 Посмотреть сообщение
Добрый день. Нужен скрипт для построения корпусов, как в Е-сервисе Блюм. Нравиться их конструктор корпусов. Можно без фурнитуры и кромки.
Такой?
https://youtu.be/r36MtWp-TRU?si=_QIXx_OHZq8PNQU4
skromvit вне форума   Ответить с цитированием Вверх
Старый 24.01.2024, 16:39   #664
zloichik
Местный
 
Регистрация: 16.07.2015
Адрес: Москва
Сообщений: 434
Сказал(а) спасибо: 203
Поблагодарили 319 раз(а) в 138 сообщениях
Вес репутации: 215
zloichik как роза среди колючекzloichik как роза среди колючекzloichik как роза среди колючекzloichik как роза среди колючек
По умолчанию

Всем доброго дня. Есть ли скрипт который выделяет панели у которых присадка и пазу с двух сторон.
zloichik вне форума   Ответить с цитированием Вверх
Старый 24.01.2024, 17:31   #665
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 267
Сказал(а) спасибо: 55
Поблагодарили 239 раз(а) в 172 сообщениях
Вес репутации: 262
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от zloichik Посмотреть сообщение
Всем доброго дня. Есть ли скрипт который выделяет панели у которых присадка и пазу с двух сторон.
Есть только с присадкой
PHP код:
/*
Скрипт выделяет панели с двухсторонней присадкой
*/

UnSelectAll();
Model.forEachPanel(function(panel) {
    var 
fasts panel.FindConnectedFasteners();
    var 
hole_front 0;
    var 
hole_back 0;
    for (var 
0fasts.length; ++i) {
        for (var 
0fasts[i].Holes.Count; ++r) {
            var 
start_pos panel.ToObject(fasts[i].ToGlobal(fasts[i].Holes[r].Position));
            
start_pos = {
                
x: +start_pos.x.toFixed(3),
                
y: +start_pos.y.toFixed(3),
                
z: +start_pos.z.toFixed(3)
            };
            var 
end_pos panel.ToObject(fasts[i].ToGlobal(fasts[i].Holes[r].EndPosition()));
            
end_pos = {
                
x: +end_pos.x.toFixed(3),
                
y: +end_pos.y.toFixed(3),
                
z: +end_pos.z.toFixed(3)
            };
            var 
dir panel.NToObject(fasts[i].NToGlobal(fasts[i].Holes[r].Direction));
            if ((
fasts[i].Holes[r].DrillMode == 2) && (dir.0) && (start_pos.<= 0) && (end_pos.0) && (end_pos.panel.Thickness) && (panel.Contour.IsPointInside(end_pos.xend_pos.y))) {
                ++
hole_front;
            }
            if ((
fasts[i].Holes[r].DrillMode == 2) && (dir.0) && (start_pos.>= panel.Thickness) && (end_pos.0) && (end_pos.panel.Thickness) && (panel.Contour.IsPointInside(end_pos.xend_pos.y))) {
                ++
hole_back;
            }
        }
    }
    if ((
hole_front 0) && (hole_back 0)) {
        
panel.Selected true;
    }
}); 
skromvit вне форума   Ответить с цитированием Вверх
3 пользователя(ей) сказали cпасибо:
sibmebel (24.01.2024), zloichik (24.01.2024), АлексМЕ (30.01.2024)
Старый 24.01.2024, 23:24   #666
zloichik
Местный
 
Регистрация: 16.07.2015
Адрес: Москва
Сообщений: 434
Сказал(а) спасибо: 203
Поблагодарили 319 раз(а) в 138 сообщениях
Вес репутации: 215
zloichik как роза среди колючекzloichik как роза среди колючекzloichik как роза среди колючекzloichik как роза среди колючек
По умолчанию

Цитата:
Сообщение от skromvit Посмотреть сообщение
Есть только с присадкой
PHP код:
/*
Скрипт выделяет панели с двухсторонней присадкой
*/

UnSelectAll();
Model.forEachPanel(function(panel) {
    var 
fasts panel.FindConnectedFasteners();
    var 
hole_front 0;
    var 
hole_back 0;
    for (var 
0fasts.length; ++i) {
        for (var 
0fasts[i].Holes.Count; ++r) {
            var 
start_pos panel.ToObject(fasts[i].ToGlobal(fasts[i].Holes[r].Position));
            
start_pos = {
                
x: +start_pos.x.toFixed(3),
                
y: +start_pos.y.toFixed(3),
                
z: +start_pos.z.toFixed(3)
            };
            var 
end_pos panel.ToObject(fasts[i].ToGlobal(fasts[i].Holes[r].EndPosition()));
            
end_pos = {
                
x: +end_pos.x.toFixed(3),
                
y: +end_pos.y.toFixed(3),
                
z: +end_pos.z.toFixed(3)
            };
            var 
dir panel.NToObject(fasts[i].NToGlobal(fasts[i].Holes[r].Direction));
            if ((
fasts[i].Holes[r].DrillMode == 2) && (dir.0) && (start_pos.<= 0) && (end_pos.0) && (end_pos.panel.Thickness) && (panel.Contour.IsPointInside(end_pos.xend_pos.y))) {
                ++
hole_front;
            }
            if ((
fasts[i].Holes[r].DrillMode == 2) && (dir.0) && (start_pos.>= panel.Thickness) && (end_pos.0) && (end_pos.panel.Thickness) && (panel.Contour.IsPointInside(end_pos.xend_pos.y))) {
                ++
hole_back;
            }
        }
    }
    if ((
hole_front 0) && (hole_back 0)) {
        
panel.Selected true;
    }
}); 
То что нужно. А есть возможность что бы присадка тоже выделялась?
zloichik вне форума   Ответить с цитированием Вверх
Старый 25.01.2024, 07:07   #667
Максим Геннадьевич
Местный
 
Регистрация: 11.04.2018
Адрес: г.Маркс
Сообщений: 169
Сказал(а) спасибо: 57
Поблагодарили 246 раз(а) в 46 сообщениях
Вес репутации: 140
Максим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от zloichik Посмотреть сообщение
Всем доброго дня. Есть ли скрипт который выделяет панели у которых присадка и пазу с двух сторон.
Есть такой скрипт Ссылка на сервисе

Выделение панелей:
1. Панели, в которых есть отверстие с выбором подсветки.
2. Панели с пазами.
3 Панели с сквозными отверстиями.
4. Панели с торцевыми отверстиями.
5. Панели с отверстиями в пласть.
6. Панели с отверстиями в пласть с двух сторон, при выборе пазы учитывается как паз с одной стороны, а отверстие с другой.
Максим Геннадьевич вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
zloichik (25.01.2024)
Старый 26.01.2024, 09:28   #668
АнтиВеталь
Новичок
 
Регистрация: 11.11.2017
Сообщений: 3
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
АнтиВеталь пока не определено
По умолчанию

Цитата:
Сообщение от Максим Геннадьевич Посмотреть сообщение
Пока не специалист в этом деле, кое что слепил из того, что понимаю. Пробуйте:

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

Код:
var CurPos = NewVector(0, 0, 0);
var icebox ;


FileOptions = 'Холодильник.xml';
MakeProperties();
Action.Properties.Load(FileOptions);
Action.OnFinish = function() {
    Action.Properties.Save(FileOptions);
}

NewBtn = NewButtonInput('Закончить');
NewBtn.OnChange = function() {
    Action.Commit();
    Action.Finish();
}

NewTumba();

Action.Continue();

function MakeProperties() {
	prop = Action.Properties;
	width = prop.NewNumber('Ширина', 540);
    heidht = prop.NewNumber('Высота', 1935);
    depth = prop.NewNumber('Глубина', 550);
	h1 = prop.NewNumber('Высота 1', 34);
    h2 = prop.NewNumber('Высота 2', 75);
    h3 = prop.NewNumber('Высота 3', 57);	
    hd = prop.NewNumber('Высота низа', 550);	
    prop.OnChange = function() {
    Make();
    }
}
function NewTumba() {
    Make();
    Action.ShowPoints = true;
    Action.OnMove = function() {
        CurBlock.Position = Action.Pos3;
        CurPos = Action.Pos3;  };
    Action.OnClick = function() {
        Action.OnMove = undefined;
        Action.ShowPoints = false;
    };
}

function Make(){
	DeleteNewObjects();
	CurBlock = BeginBlock("Холодильник");
	icebox = AddExtrusion(); 
	icebox.MaterialName ='Холодильник';
	cd = icebox.Contour;
    cd.AddRectangle(0,0,depth.Value,heidht.Value);
	cont = NewContour();
	cont.AddRectangle(depth.Value - 30,0,depth.Value,h1.Value);
	cont.AddRectangle(depth.Value - 30,hd.Value,depth.Value,hd.Value + h2.Value);
	cont.AddRectangle(depth.Value - 30,heidht.Value,depth.Value,heidht.Value - h3.Value);
	cd.Subtraction(cont);
	icebox.Rotate(AxisY, -90);
    icebox.Thickness = width.Value;
	icebox.Position = NewVector(width.Value/2,0 ,-depth.Value);
	icebox.Name = 'Холодильник';
	icebox.Build();	
	EndBlock();
	CurBlock.Position = CurPos;
}
[свернуть]
Всем привет. Отличный скрипт! Но мне нужно чтобы холодильник сохранялся не "блоком", а "сборкой". Сделайте пожалуйста такой вариант. Если это возможно конечно.
Спасибо.
АнтиВеталь вне форума   Ответить с цитированием Вверх
Старый 26.01.2024, 09:38   #669
Максим Геннадьевич
Местный
 
Регистрация: 11.04.2018
Адрес: г.Маркс
Сообщений: 169
Сказал(а) спасибо: 57
Поблагодарили 246 раз(а) в 46 сообщениях
Вес репутации: 140
Максим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личностьМаксим Геннадьевич - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от АнтиВеталь Посмотреть сообщение
Всем привет. Отличный скрипт! Но мне нужно чтобы холодильник сохранялся не "блоком", а "сборкой". Сделайте пожалуйста такой вариант. Если это возможно конечно.
Спасибо.
PHP код:
var CurPos NewVector(000);
var 
icebox ;


FileOptions 'Холодильник.xml';
MakeProperties();
Action.Properties.Load(FileOptions);
Action.OnFinish = function() {
    
Action.Properties.Save(FileOptions);
}

NewBtn NewButtonInput('Закончить');
NewBtn.OnChange = function() {
    
Action.Commit();
    
Action.Finish();
}

NewTumba();

Action.Continue();

function 
MakeProperties() {
    
prop Action.Properties;
    
width prop.NewNumber('Ширина'540);
    
heidht prop.NewNumber('Высота'1935);
    
depth prop.NewNumber('Глубина'550);
    
h1 prop.NewNumber('Высота 1'34);
    
h2 prop.NewNumber('Высота 2'75);
    
h3 prop.NewNumber('Высота 3'57);
    
hd prop.NewNumber('Высота низа'550);
    
prop.OnChange = function() {
    
Make();
    }
}
function 
NewTumba() {
    
Make();
    
Action.ShowPoints true;
    
Action.OnMove = function() {
        
CurBlock.Position Action.Pos3;
        
CurPos Action.Pos3;  };
    
Action.OnClick = function() {
        
Action.OnMove undefined;
        
Action.ShowPoints false;
    };
}

function 
Make(){
    
DeleteNewObjects();
    
CurBlock BeginBlock("Холодильник");
    
icebox AddExtrusion();
    
icebox.MaterialName ='Холодильник';
    
cd icebox.Contour;
    
cd.AddRectangle(0,0,depth.Value,heidht.Value);
    
cont NewContour();
    
cont.AddRectangle(depth.Value 30,0,depth.Value,h1.Value);
    
cont.AddRectangle(depth.Value 30,hd.Value,depth.Value,hd.Value h2.Value);
    
cont.AddRectangle(depth.Value 30,heidht.Value,depth.Value,heidht.Value h3.Value);
    
cd.Subtraction(cont);
    
icebox.Rotate(AxisY, -90);
    
icebox.Thickness width.Value;
    
icebox.Position NewVector(width.Value/2,,-depth.Value);
    
icebox.Name 'Холодильник';
    
icebox.Build();
    
EndBlock();
    
CurBlock.Position CurPos;
    var 
ice AddAssembly("Холодильник");
    
CurBlock.Owner ice;

Максим Геннадьевич вне форума   Ответить с цитированием Вверх
4 пользователя(ей) сказали cпасибо:
mackx (26.01.2024), Travolta741 (01.02.2024), АнтиВеталь (26.01.2024), Дмитрий Дали (26.01.2024)
Старый 26.01.2024, 13:27   #670
Дмитрий Дали
Местный
 
Аватар для Дмитрий Дали
 
Регистрация: 20.02.2013
Адрес: Казань
Сообщений: 363
Сказал(а) спасибо: 845
Поблагодарили 790 раз(а) в 211 сообщениях
Вес репутации: 332
Дмитрий Дали - просто великолепная личностьДмитрий Дали - просто великолепная личностьДмитрий Дали - просто великолепная личностьДмитрий Дали - просто великолепная личностьДмитрий Дали - просто великолепная личностьДмитрий Дали - просто великолепная личностьДмитрий Дали - просто великолепная личность
По умолчанию

Цитата:
Сообщение от Максим Геннадьевич Посмотреть сообщение
PHP код:
var CurPos NewVector(000);
var 
icebox ;


FileOptions 'Холодильник.xml';
MakeProperties();
Action.Properties.Load(FileOptions);
Action.OnFinish = function() {
    
Action.Properties.Save(FileOptions);
}

NewBtn NewButtonInput('Закончить');
NewBtn.OnChange = function() {
    
Action.Commit();
    
Action.Finish();
}

NewTumba();

Action.Continue();

function 
MakeProperties() {
    
prop Action.Properties;
    
width prop.NewNumber('Ширина'540);
    
heidht prop.NewNumber('Высота'1935);
    
depth prop.NewNumber('Глубина'550);
    
h1 prop.NewNumber('Высота 1'34);
    
h2 prop.NewNumber('Высота 2'75);
    
h3 prop.NewNumber('Высота 3'57);
    
hd prop.NewNumber('Высота низа'550);
    
prop.OnChange = function() {
    
Make();
    }
}
function 
NewTumba() {
    
Make();
    
Action.ShowPoints true;
    
Action.OnMove = function() {
        
CurBlock.Position Action.Pos3;
        
CurPos Action.Pos3;  };
    
Action.OnClick = function() {
        
Action.OnMove undefined;
        
Action.ShowPoints false;
    };
}

function 
Make(){
    
DeleteNewObjects();
    
CurBlock BeginBlock("Холодильник");
    
icebox AddExtrusion();
    
icebox.MaterialName ='Холодильник';
    
cd icebox.Contour;
    
cd.AddRectangle(0,0,depth.Value,heidht.Value);
    
cont NewContour();
    
cont.AddRectangle(depth.Value 30,0,depth.Value,h1.Value);
    
cont.AddRectangle(depth.Value 30,hd.Value,depth.Value,hd.Value h2.Value);
    
cont.AddRectangle(depth.Value 30,heidht.Value,depth.Value,heidht.Value h3.Value);
    
cd.Subtraction(cont);
    
icebox.Rotate(AxisY, -90);
    
icebox.Thickness width.Value;
    
icebox.Position NewVector(width.Value/2,,-depth.Value);
    
icebox.Name 'Холодильник';
    
icebox.Build();
    
EndBlock();
    
CurBlock.Position CurPos;
    var 
ice AddAssembly("Холодильник");
    
CurBlock.Owner ice;

только почему он удаляется? не остается в модели? извините разобрался
Дмитрий Дали вне форума   Ответить с цитированием Вверх
Ответ

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


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заявки на фурнитуру, сборки, фрагменты Kudesnick Базис-мебельщик. Элементы фурнитуры и Комплектующих 1407 21.05.2024 20:10
"Мастер скриптов" — изменение скрипта блока в сцене KD ViPeS KitchenDraw (KD) 40 16.10.2023 19:23
Заявки на скрипты dr_john Система БАЗИС 37 01.03.2016 10:36
Генерирую заявки на шкафы за агентское вознаграждение в Москве. mavar Предлагаю работу 26 21.11.2014 16:06


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


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

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