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

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

Меню

Маркет


беспроводные выключатели для мебели
Ответ
 
Опции темы Опции просмотра
Старый 13.01.2014, 13:22  
Скрипты. Готовые решения для БМ8-2023
 
Аватар для Igor_482
Igor_482
VIP
Регистрация: 03.09.2008
Сообщений: 174

Сказал(а) спасибо: 34
Поблагодарили 794 раз(а) в 113 сообщениях
Версия для печати Отправить по электронной почте
Igor_482 Igor_482 вне форума 13.01.2014, 13:22
Рейтинг: ()

Этот раздел предназначен для размещения готовых скриптов.
Здесь находятся ТОЛЬКО готовые скрипты. Для обсуждения есть отдельная тема: Обсуждение готовых скриптов.

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

Версии, указанные модератором, как прошедшие проверку:
8 - Демо-версия 8.0.7.9649
- "народная" 8.0.12.12765
9 - Демо-версия 9.0.8.18908
10 - Демо-версия 10.0.0.21602

Последний раз редактировалось AlexBolton; 03.03.2023 в 21:03..
Просмотров: 536927
Ответить с цитированием Вверх
13 пользователя(ей) сказали cпасибо:
Старый 23.03.2021, 12:20   #91
zorro
VIP
 
Аватар для zorro
 
Регистрация: 18.01.2008
Сообщений: 1,047
Сказал(а) спасибо: 2,864
Поблагодарили 1,852 раз(а) в 435 сообщениях
Вес репутации: 695
zorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущееzorro обеспечил(а) себе прекрасное будущее
По умолчанию

По многочисленным просьбам одного из трудящихся доработал скрипт.
Откройте его в редакторе. Первая строка

Zazor = 60; //зазор между панелями в стопке

Зазор между панелями в стопке можете установить свой.

Еще есть строка комментария, которая относится к следующей строке.

//Если в названии размеры не нужны, то закомментарить следующую строку. Поставить в ее начале //
Panel.Name = Panel.Name + ' (' + Dl + ' x ' + Sh + ' x ' + Panel.Thickness + ')';
Вложения
Тип файла: rar OblToB3d.rar (1.3 Кб, 142 просмотров)
zorro вне форума   Ответить с цитированием Вверх
8 пользователя(ей) сказали cпасибо:
Старый 07.04.2021, 23:01   #92
sergio1982
Местный
 
Регистрация: 01.09.2019
Сообщений: 423
Сказал(а) спасибо: 52
Поблагодарили 479 раз(а) в 147 сообщениях
Вес репутации: 194
sergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царстве
По умолчанию Поиск панелей с припуском или подрезкой


Выделяет панели с припуском или подрезкой (опционально ClipPanel = 1).

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

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

Код:
// Поиск панелей с припуском или подрезкой

// искать с припуском
Allowance = 1
// искать с подрезкой
ClipPanel = 0

if (!Allowance && !ClipPanel)
{
    alert('Не установлены параметры поиска');
    Action.Finish()
}
Model.UnSelectAll();

Match = 0

Model.forEachPanel(
    function(Obj) {
        Butts = obj.Butts;
        for (var i = 0; i < Butts.Count; ++i) {
            if ((Allowance && Butts[i].Allowance !== 0) || (ClipPanel && Butts[i].ClipPanel == true))
            {
                Obj.Selected = true;
                ++Match
                return
            }
        };
    }
);

if (Match > 0)
    alert('Найдено ' + Match + ' панелей' + (Allowance ? ' с припуском' : '') + (ClipPanel ? ' с подрезкой' : ''));
else
    alert('Не найдено панелей' + (Allowance ? ' с припуском' : '') + (ClipPanel ? ' с подрезкой' : ''));
[свернуть]

Последний раз редактировалось sergio1982; 08.04.2021 в 00:22.
sergio1982 вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Mullerr (15.04.2021)
Старый 10.04.2021, 11:37   #93
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 245
Сказал(а) спасибо: 54
Поблагодарили 218 раз(а) в 154 сообщениях
Вес репутации: 253
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Скрипт "Найти/заменить" Находит и заменяет текстовые значения в наименованиях объектов модели

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


PHP код:
function FindAll(){
    var 
textToFind textToSearch.Value;
    
alert(textToFind);
    if(
textToFind != undefined || textToFind != null){
        
Model.forEach(function(obj){
            if(
obj.Name.indexOf(textToFind) >= 0){
                
obj.Selected true;
            }
        });
    }
}

function 
ReplaceAll(){
    
Undo.RecursiveChanging(Model);
    var 
textToFind textToSearch.Value;
    var 
replaceText textForReplace.Value;
    
//alert(textToFind);
    //alert(replaceText);
    
Model.forEach(function(obj){
        
obj.Name obj.Name.replace(textToFindreplaceText);
    });
    
Action.Commit();
}

var 
props Action.Properties;
var 
textToSearch props.NewString('Найти:');
var 
textForReplace props.NewString('Заменить на:');
props.NewSeparator();
var 
FindAllButton props.NewButton('Найти все');
FindAllButton.OnClick = function(){
    
FindAll();
};
props.NewSeparator();
var 
ReplaceAllButton props.NewButton('Заменить все');
ReplaceAllButton.OnClick = function(){
    
ReplaceAll();
};
props.NewSeparator();
var 
FinishButton props.NewButton('Закончить');
FinishButton.OnClick = function(){
    
Action.Finish();
};

Action.Continue(); 
[свернуть]

Последний раз редактировалось Uncle; 10.04.2021 в 14:06.
skromvit вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
maksbtua (02.01.2022), MikNik (06.08.2023), Mullerr (15.04.2021), RossTech (15.02.2022), КА2 (11.04.2021)
Старый 11.04.2021, 11:20   #94
kos100pudov
Местный
 
Регистрация: 02.11.2015
Сообщений: 490
Сказал(а) спасибо: 105
Поблагодарили 700 раз(а) в 265 сообщениях
Вес репутации: 292
kos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личность
По умолчанию

Цитата:
Сообщение от skromvit Посмотреть сообщение
Скрипт "Найти/заменить" Находит и заменяет текстовые значения в наименованиях объектов модели

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


PHP код:
function FindAll(){
    var 
textToFind textToSearch.Value;
    
alert(textToFind);
    if(
textToFind != undefined || textToFind != null){
        
Model.forEach(function(obj){
            if(
obj.Name.indexOf(textToFind) >= 0){
                
obj.Selected true;
            }
        });
    }
}

function 
ReplaceAll(){
    
Undo.RecursiveChanging(Model);
    var 
textToFind textToSearch.Value;
    var 
replaceText textForReplace.Value;
    
//alert(textToFind);
    //alert(replaceText);
    
Model.forEach(function(obj){
        
obj.Name obj.Name.replace(textToFindreplaceText);
    });
    
Action.Commit();
}

var 
props Action.Properties;
var 
textToSearch props.NewString('Найти:');
var 
textForReplace props.NewString('Заменить на:');
props.NewSeparator();
var 
FindAllButton props.NewButton('Найти все');
FindAllButton.OnClick = function(){
    
FindAll();
};
props.NewSeparator();
var 
ReplaceAllButton props.NewButton('Заменить все');
ReplaceAllButton.OnClick = function(){
    
ReplaceAll();
};
props.NewSeparator();
var 
FinishButton props.NewButton('Закончить');
FinishButton.OnClick = function(){
    
Action.Finish();
};

Action.Continue(); 
[свернуть]
Добрый день!
внесу свои пять копеек.
добавил пару строк, чтоб замена не останавливалась после нахождения первого найденного совпадения, а продолжалась до конца.
Плюс к этому добавил обход многократного изменения - чтоб в названии "ххАППххх" при замене "АП" на "А" на получилось - "ххАППххх">"ххАПххх">"ххАххх".
Ну и дополнительная проверка объекта, чтоб не изменять название "габаритной рамки" и прочего)

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

function FindAll(){
var textToFind = textToSearch.Value;
alert(textToFind);
if(textToFind != undefined || textToFind != null){
Model.forEach(function(obj){
if((obj.Name.indexOf(textToFind) >= 0)&&((obj instanceof TFurnPanel)||(obj instanceof TExtrusionBody))){ //добавлена проверка объкта - панель или профиль
obj.Selected = true;
}
});
}
}

function ReplaceAll(){
Undo.RecursiveChanging(Model);
var textToFind = textToSearch.Value;
var replaceText = textForReplace.Value;
//alert(textToFind);
//alert(replaceText);
Model.forEach(function(obj){
var i = Math.floor(obj.Name.length/textToFind.length) // максимально сколько искомая строка может встретится в исследуемой в зависимости от количества символов в обоих
for (var k = 0; k < i; k++) {
obj.Name = obj.Name.replace(textToFind, '\v'); //первичная замена - на символ вертикальной табуляции, такой символ вряд ли встретится в названии объекта в обычной жизни
}
for (var k = 0; k < i; k++) {
obj.Name = obj.Name.replace('\v', replaceText); //вторичная замена - символ вертикальной табуляции на нужное значение
}

});
Action.Commit();
}

var props = Action.Properties;
var textToSearch = props.NewString('Найти:');
var textForReplace = props.NewString('Заменить на:');
props.NewSeparator();
var FindAllButton = props.NewButton('Найти все');
FindAllButton.OnClick = function(){
FindAll();
};
props.NewSeparator();
var ReplaceAllButton = props.NewButton('Заменить все');
ReplaceAllButton.OnClick = function(){
ReplaceAll();
};
props.NewSeparator();
var FinishButton = props.NewButton('Закончить');
FinishButton.OnClick = function(){
Action.Finish();
};

Action.Continue();
[свернуть]

Последний раз редактировалось kos100pudov; 11.04.2021 в 11:51.
kos100pudov вне форума   Ответить с цитированием Вверх
11 пользователя(ей) сказали cпасибо:
Старый 18.04.2021, 21:20   #95
Igordiz
Новичок
 
Регистрация: 15.08.2018
Сообщений: 7
Сказал(а) спасибо: 2
Поблагодарили 232 раз(а) в 6 сообщениях
Вес репутации: 0
Igordiz - весьма и весьма положительная личностьIgordiz - весьма и весьма положительная личностьIgordiz - весьма и весьма положительная личность
По умолчанию Скрипт Расставить полки (Обновление)

Добавлено:
Центровка крепежа (По боковине/По полке)
Коррекция 32 (Коррекция расстояния между крепежом)
Поле текущей информации (Расстояние между крепежом)
Миниатюры
2021-04-18_220124.jpg   2021-04-18_220144.jpg  
Вложения
Тип файла: zip Расставить полки PRO v1.2.zip (11.9 Кб, 363 просмотров)
Igordiz вне форума   Ответить с цитированием Вверх
28 пользователя(ей) сказали cпасибо:
Старый 27.04.2021, 00:03   #96
4ernish
Пользователь
 
Аватар для 4ernish
 
Регистрация: 19.12.2008
Адрес: Свердловск
Сообщений: 57
Сказал(а) спасибо: 31
Поблагодарили 24 раз(а) в 11 сообщениях
Вес репутации: 196
4ernish на пути к лучшему
По умолчанию Заменяет позицию на обозначение

Работает в БМ11, БМ 2021 с включенной функцией ИРП. Присваивает позициям деталей и блоков их обозначение. В дальнейшем на сборочных чертежах вместо привычный 1,2,3 будут обозначения деталей и блоков. Фурнитуру не трогает. Работает быстро (можно ставить на автозапуск при выпуске чертежей), но в дереве модели изменения видно не сразу-но легким движением мыши по дереву структура обновляется. В скриптах не силен-пришлось делать дабы упростить работу, буду рад если кто то знающий подскажет как улучшить

Model.forEachPanel(function (panel) {
if (panel.ArtPos.indexOf('(') < 0)
panel.ArtPos =panel.Designation;
})
Model.forEach(function (obj) {
if (obj instanceof TFurnBlock){
obj.ArtPos =obj.Designation;
};
})
4ernish вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
botik (03.08.2021), Katerina (10.11.2023)
Старый 05.05.2021, 01:13   #97
Ovsyanicov
Местный
 
Регистрация: 30.11.2013
Адрес: Кишинев
Сообщений: 734
Сказал(а) спасибо: 1,529
Поблагодарили 884 раз(а) в 376 сообщениях
Вес репутации: 402
Ovsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордитсяOvsyanicov за этого человека можно гордится
По умолчанию Удалить историю

Цитата:
Сообщение от Uncle Посмотреть сообщение
Есть необходимость в скрипте, заменяющем штатную команду "Удалить историю". Штатная не устраивает тем, что на неё нельзя повесить "горячую" клавишу.
Алгоритм действия скрипта примерно такой :
1. Запускаем скрипт.
2. Скрипт аллертом выводит подтверждение "Удалить историю ?". Для подтверждения нажимаем "Enter". Для отмены - "Escape"
3. Работа скрипта завершена
Для возможности "повесить" команду удаления истории на горячую клавишу.

PHP код:
let ConfirmDelete confirm("Удалить историю модели?");
if(
ConfirmDelete){
    
Undo.Clear();

Ovsyanicov вне форума   Ответить с цитированием Вверх
10 пользователя(ей) сказали cпасибо:
Старый 25.06.2021, 21:24   #98
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 245
Сказал(а) спасибо: 54
Поблагодарили 218 раз(а) в 154 сообщениях
Вес репутации: 253
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Доброго времени суток!

Скрипт поворота объектов вокруг осей XYZ на 90 градусов с формой с соответствующими кнопками. Работает в БМ-2021. Возможно будет работать в БМ-11, не проверял). Может кому-то пригодится.

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


PHP код:
if (Model.SelectionCount 1) { //есть ли выделенные
   
alert('Нет выделенных объектов!');
   
Action.Finish();
}

//-- window Window1
Window1 = { Form NewForm() };
Props Window1.Form.Properties;
Window1.Form.Width 200;
Window1.Form.Height 100;
Window1.Form.Caption "Поворот";
Window1.Form.MinHeight 100;
//-- window Window1 properties

Window1.Button1 Props.NewButton("X");
Window1.Button1.SetLayout(16284040);
Window1.Button2 Props.NewButton("Y");
Window1.Button2.SetLayout(81284040);
Window1.Button3 Props.NewButton("Z");
Window1.Button3.SetLayout(145284040);
Window1.Label1 Props.NewLabel("Выберите ось вращения:");
Window1.Label1.SetLayout(16716920);
Window1.Label1.Alignment AlignmentType.Center;

//-- window Window1 events

Window1.Button1.OnClick = function(){
function 
RotateAroundPoint(objpointGCSaxisangle){
    var 
localPoint obj.ToObject(pointGCS);
    if (
obj.Model)
        
obj.RotateGCS(axisangle);
}
var 
pan Model.Selected;
Undo.Changing(pan);
var 
OCb = {
    
xpan.GabMin.x,
    
ypan.GabMin.y,
    
zpan.GabMin.z
}
// поворот относительно оси X на 90 градусов
RotateAroundPointpanOCbAxisX90);
}
Window1.Button2.OnClick = function(){
function 
RotateAroundPoint(objpointGCSaxisangle){
    var 
localPoint obj.ToObject(pointGCS);
    if (
obj.Model)
        
obj.RotateGCS(axisangle);
}
var 
pan Model.Selected;
Undo.Changing(pan);
var 
OCb = {
    
xpan.GabMin.x,
    
ypan.GabMin.y,
    
zpan.GabMin.z
}
// поворот относительно оси Y на 90 градусов
RotateAroundPointpanOCbAxisY90);
}
Window1.Button3.OnClick = function(){
function 
RotateAroundPoint(objpointGCSaxisangle){
    var 
localPoint obj.ToObject(pointGCS);
    if (
obj.Model)
        
obj.RotateGCS(axisangle);
}
var 
pan Model.Selected;
Undo.Changing(pan);
var 
OCb = {
    
xpan.GabMin.x,
    
ypan.GabMin.y,
    
zpan.GabMin.z
}
// поворот относительно оси Z на 90 градусов
RotateAroundPointpanOCbAxisZ90);
}

//-- window Window1 ends
Window1.Form.ShowModal(); 
[свернуть]


-------------
UPD:

З.Ы. Корректно работает наверное похоже только с недавно установленными объектами. Если открыть старую модель, то что-то сбивается. Поворот осуществляется, но как-то по орбите.

З.Ы.Ы. И конечно это был первый опыт использования форм, внешне вроде красиво, но в то же время как-то топорно.

Последний раз редактировалось skromvit; 26.06.2021 в 20:42.
skromvit вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
demanus (20.07.2021), Oldman (26.06.2021), Ovsyanicov (26.06.2021), Uncle (26.06.2021), ХАВКА (26.06.2021)
Старый 30.06.2021, 13:32   #99
sergio1982
Местный
 
Регистрация: 01.09.2019
Сообщений: 423
Сказал(а) спасибо: 52
Поблагодарили 479 раз(а) в 147 сообщениях
Вес репутации: 194
sergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царстве
По умолчанию

Адаптировал под БМ8.

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

Код:
// http://promebelclub.ru/forum/showpost.php?p=509000&postcount=124

var BlocksWithAnimation = [];

function MakeProps() {
    var Props = Action.Properties;
    if (BlocksWithAnimation.length > 0){
        var AnimateAllButton = Props.NewButton('Анимировать Все');
        AnimateAllButton.OnClick = function(){
            for (var i = 0; i < BlocksWithAnimation.length; i++) {
                    var currentBlock = BlocksWithAnimation[i];
                    if (currentBlock._animated)
                        currentBlock.AnimateTo(0);
                    else
                        currentBlock.AnimateTo(1);
                    currentBlock._animated = !currentBlock._animated;
            }
        };
        var OpenAllButton = Props.NewButton('Открыть все');
        OpenAllButton.OnClick = function(){
            for (var i = 0; i < BlocksWithAnimation.length; i++) {
                    var currentBlock = BlocksWithAnimation[i];
                    currentBlock.AnimateTo(1);
                    currentBlock._animated = true;
            }
        };
        var OpenAllButton = Props.NewButton('Закрыть все');
        OpenAllButton.OnClick = function(){
            for (var i = 0; i < BlocksWithAnimation.length; i++) {
                    var currentBlock = BlocksWithAnimation[i];
                    currentBlock.AnimateTo(0);
                    currentBlock._animated = false;
            }
        };
    }

    for (var i = 0; i < BlocksWithAnimation.length; i++) {
        var block = BlocksWithAnimation[i];
        var button = Props.NewButton(block.Name);
        button.Tag = i;
        button.OnClick = function (btn) {
            var currentBlock = BlocksWithAnimation[btn.Tag];
            if (currentBlock._animated)
                currentBlock.AnimateTo(0);
            else
                currentBlock.AnimateTo(1);
            currentBlock._animated = !currentBlock._animated;
        };
    }
}

function AddToAnimlist(list) {
    var animation = list.Animation;
    if (animation && list.AnimType > 1 && list.AnimType < 9) {
        BlocksWithAnimation.push(list);
    }
    for (var i = 0; i < list.Count; i++) {
        if (list.Objects[i].List) {
            AddToAnimlist(list.Objects[i]);
        }
    }
}

AddToAnimlist(Model);
MakeProps();

Action.Continue();
[свернуть]
sergio1982 вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
cudesnic09 (30.06.2021), d.leha.a (22.01.2022), kos100pudov (19.07.2021), Ovsyanicov (30.06.2021), PravCom (30.06.2021)
Старый 30.06.2021, 23:37   #100
kos100pudov
Местный
 
Регистрация: 02.11.2015
Сообщений: 490
Сказал(а) спасибо: 105
Поблагодарили 700 раз(а) в 265 сообщениях
Вес репутации: 292
kos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личностьkos100pudov - просто великолепная личность
По умолчанию размеры готовой детали и заготовки скриптом

всем доброго вечера!
в своих блуждания альтернативной выгрузки по типу xml накидал скрипт который вычисляет размер заготовки детали с учетом толщин кромок, их припусков и того нанесена ли кромка с подрезом или без. через контур (Contour) этого сделать не получалось, он всегда статичен вне зависимости от свойств кромок.
корректно работает с деталями любой формы
показывает размер детали и заготовки указанной панели, исправить под перебор модели или списка с записью результатов куда-нибудь, это кому как надо.
корректно работает в БМ2021 и БМ8, в других тоже должен.

PHP код:
//создаем копию указанной детали, чтоб не "сломать" оригинал))
var pan AddCopy(GetPanel());
pan.Build();
//запоминаем размер детали
var detail_X pan.GSize.x;
var 
detail_Y pan.GSize.y;
for (var 
0pan.Butts.Count; ++i) {
    var 
realtick pan.Butts[i].Thickness pan.Butts[i].Allowance;
    
//если кромка с подрезкой, толщину выставляем равную разнице толщины и припуска, выключаем подрез, обнуляем припуск
    
if (pan.Butts[i].ClipPanel == true) {
        
pan.Butts[i].ClipPanel false;
        
pan.Butts[i].Thickness realtick;
        
pan.Butts[i].Allowance 0;
    }
    
//если кромка без подрезки просто увеличиваем ее толщину на разницу толщины и припуска
    
else {
        
pan.Butts[i].Thickness pan.Butts[i].Thickness realtick;
    }
}
pan.Build();
//вычислям разницу в размерах до и после изменения кромок.
//отняв эту разницу от размера детали, получим необходимый размер заготовки
var billet_X detail_X - (pan.GSize.detail_X);
var 
billet_Y detail_Y - (pan.GSize.detail_Y);
DeleteNewObjects();
alert('готовая панель ' detail_Y ' x ' detail_X '\nзаготовка ' billet_Y ' x ' billet_X '\n\nучтите это не длина и ширина, а размер по У и по Х\nдлина и ширина приводится далее через направление текстуры '); 

Последний раз редактировалось AlexBolton; 04.07.2021 в 15:18. Причина: оформление
kos100pudov вне форума   Ответить с цитированием Вверх
6 пользователя(ей) сказали cпасибо:
Ответ

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

Опции темы
Опции просмотра

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БАЗИС 11-2023 - Скрипты AlexBolton Базис-мебельщик. Скрипты 968 23.03.2024 13:39
БАЗИС 9 - Скрипты Igor_482 Базис-мебельщик. Скрипты 1441 27.02.2024 10:48
Скрипты в чертежах sergio1982 Базис-мебельщик. Скрипты 35 10.02.2024 15:45
БАЗИС 8 - Скрипты Igor_482 Базис-мебельщик. Скрипты 1524 07.12.2022 19:53
Заявки на скрипты dr_john Система БАЗИС 37 01.03.2016 10:36


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


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

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