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

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

Меню

Маркет


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

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

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

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

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

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



VISUAL CODE

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

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

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

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

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

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

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


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

Последний раз редактировалось AlexBolton; 09.01.2024 в 11:56..
Просмотров: 600045
Ответить с цитированием Вверх
14 пользователя(ей) сказали cпасибо:
Старый 19.01.2020, 01:33   #121
vmz58rus
Новичок
 
Аватар для vmz58rus
 
Регистрация: 17.05.2019
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
vmz58rus пока не определено
По умолчанию Очень нужна помощь в создании скрипта.

Всем доброй ночи. В создании скриптов я полный "0". Но очень нужен скрип расстановки позиций по порядку. Помогите пожалуйста.
Миниатюры
Как нужно расставить позиции.jpg  
vmz58rus вне форума   Ответить с цитированием Вверх
Старый 19.01.2020, 08:23   #122
IStiv
Пользователь
 
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 109
IStiv скоро придёт к известности
По умолчанию

Цитата:
Сообщение от vmz58rus Посмотреть сообщение
Всем доброй ночи. В создании скриптов я полный "0". Но очень нужен скрип расстановки позиций по порядку. Помогите пожалуйста.
Если не учитывать что "поз." это уникальный идентификатор детали по ряду характеристик - можете расставлять позиции как вам вздумается скриптом.
получить доступ к "поз." можно примерно так:
PHP код:
var panel GetPanel("выберите панель");
panel.ArtPos 1
p.s. Если Вы планируете писать скрипт, надо учить JS. и здесь писать конкретные вопросы по JS.
а не "нужен скрипт, напишите, выложите (ну а чего Вам стоит правда) , а требования я не озвучил(сами догадаетесь), потом посмотрю правильно оно работает или нет".
для таких вопросов есть что то типо "заявки на создания скрипта" но Ваш вопрос не тянет и туда, потому как надо как минимум расписать ряд требований к логике скрипта. К примеру как должна идти нумерация если рядом в "top level" одинаковые блоки или к примеру деталь с одного блока встречается в другом и т.д.
IStiv вне форума   Ответить с цитированием Вверх
Старый 19.01.2020, 09:05   #123
mihey2011
Новичок
 
Регистрация: 19.04.2017
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
mihey2011 пока не определено
Радость

Цитата:
Сообщение от IStiv Посмотреть сообщение
Если Вы планируете писать скрипт, надо учить JS. и здесь писать конкретные вопросы по JS.
а не "нужен скрипт, напишите, выложите (ну а чего Вам стоит правда) , а требования я не озвучил(сами догадаетесь), потом посмотрю правильно оно работает или нет".
для таких вопросов есть что то типо "заявки на создания скрипта" но Ваш вопрос не тянет и туда, потому как надо как минимум расписать ряд требований к логике скрипта. К примеру как должна идти нумерация если рядом в "top level" одинаковые блоки или к примеру деталь с одного блока встречается в другом и т.д.
А подскажите вопрос о создании условия: "если панель больше 100 мм, то"...
Это сюда?, или тоже в другой раздел?
mihey2011 вне форума   Ответить с цитированием Вверх
Старый 19.01.2020, 09:58   #124
IStiv
Пользователь
 
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 109
IStiv скоро придёт к известности
По умолчанию

Цитата:
Сообщение от mihey2011 Посмотреть сообщение
А подскажите вопрос о создании условия: "если панель больше 100 мм, то"...
Это сюда?, или тоже в другой раздел?
в чем вопрос: вы не знаете как написать IF в JS ? или как получить какое то свойство панели? или "дайте/напишите готовый скрипт"?
по моему мнению если:
1. - в гугл, учебники
2. - ЭТА ветка форума
3. НЕ ЭТА ветка форума.

Код ниже.

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

PHP код:

/* в Базисе в панеле свойств есть "направление текстуры материала"
и от него зависит, что есть длинна,а что высота
собственно код внизу это проверяет, читая Panel.TextureOrientation
0- нет ориентации материала(вообще не понятно что есть высота)
1 -горизонтально 2- вертикально*/
var panel "какая то панель";
var 
pnH;
var 
pnW;
if (
panel.TextureOrientation == 2) {
  
pnH panel.ContourHeight;
  
pnW panel.ContourWidth;
}
else {
  
// меняем длинну с шириной если панель горизонтально или не указано направление
  
pnH panel.ContourWidth;
  
pnW Math.round(panel.ContourHeight 10) / 10// лучше округлять
}

if (
pnH 100) {
  
// что то делаем если больше 100

[свернуть]


p.s. я не модератор тут распоряжаться, но ребят давайте тут по разработке вопросы задавать а?
IStiv вне форума   Ответить с цитированием Вверх
Старый 19.01.2020, 23:56   #125
vmz58rus
Новичок
 
Аватар для vmz58rus
 
Регистрация: 17.05.2019
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
vmz58rus пока не определено
По умолчанию

Спасибо за ответ, нужно чтобы все панели в проекте были с индивидуальной позицией (и панели которые в сборках, блоках и тд.
vmz58rus вне форума   Ответить с цитированием Вверх
Старый 20.01.2020, 17:40   #126
IStiv
Пользователь
 
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 109
IStiv скоро придёт к известности
По умолчанию

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

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

PHP код:
var panel;
var 
counter 1;

Model.forEachPanel((panel)=>{

  
panel.ArtPos counter;
  
counter++;

}); 
[свернуть]
IStiv вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Letos (21.01.2020)
Старый 20.01.2020, 21:19   #127
alexrain
Новичок
 
Регистрация: 03.04.2016
Адрес: Бронницы
Сообщений: 19
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
alexrain пока не определено
По умолчанию

Всем привет!
Помогите, пожалуйста.

Перешли на 11 версию и в некоторых случаях скрипты перестали работать.

Например, не устанавливаются полкодержатели.

Вот примерный код:
ActiveMaterial.Make('ДСП основного корпуса\rДСП', 16);

V = AddVertPanel(0, 0, 300, 720, 0);
G = AddHorizPanel(18, 0, 300, 300, 300);

PolkodergatelStandart = OpenFurniture('Полкодержатель для полок из ДСП (5 отверстий)СТАНДАРТ.f3d');

PolkodergatelStandart.Mount(V, G, G.Thickness, 0, 37);

Ссылка на фурнитуру:
https://yadi.sk/d/fruuuUTkiFYOBA


Очень поможете!
Спасибо!
alexrain вне форума   Ответить с цитированием Вверх
Старый 21.01.2020, 10:04   #128
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от alexrain Посмотреть сообщение
Всем привет!
Помогите, пожалуйста.

Перешли на 11 версию и в некоторых случаях скрипты перестали работать.

Например, не устанавливаются полкодержатели.

Вот примерный код:
ActiveMaterial.Make('ДСП основного корпуса\rДСП', 16);

V = AddVertPanel(0, 0, 300, 720, 0);
G = AddHorizPanel(18, 0, 300, 300, 300);

PolkodergatelStandart = OpenFurniture('Полкодержатель для полок из ДСП (5 отверстий)СТАНДАРТ.f3d');

PolkodergatelStandart.Mount(V, G, G.Thickness, 0, 37);

Ссылка на фурнитуру:
https://yadi.sk/d/fruuuUTkiFYOBA
Очень поможете!
Спасибо!
Попробовал (со своей фурнитурой, правда) - всё работает. В методе Mount в примере панели надо местами поменять (я так понимаю, пример писался на скорую руку).

По существу могу посоветовать следующее - для отладки добавить следующий код:
PHP код:
alert(process.cwd()); 
и посмотреть, что выведет алерт. Он должен вывести путь к "рабочей папке" - папке, которая является корнем для конвертации относительных путей в абсолютные. Если это не тот путь, в котором лежит 'Полкодержатель для полок из ДСП (5 отверстий)СТАНДАРТ.f3d', значит проблема в этом.
Если с путём всё нормально, то для понимания ситуации неплохо было бы иметь доп данные:
  • Выскакивает ли какая-нибудь ошибка в логе, если запускать скрипт через редактор скриптов?
  • Ставится ли указанный полкодержатель вручную (подозреваю, что да, но все равно спрашиваю)?
Letos вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
wizardpnz (21.01.2020)
Старый 21.01.2020, 11:38   #129
vmz58rus
Новичок
 
Аватар для vmz58rus
 
Регистрация: 17.05.2019
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
vmz58rus пока не определено
По умолчанию

IStiv, Спасибо тебе огромное !!!
vmz58rus вне форума   Ответить с цитированием Вверх
Старый 24.01.2020, 11:51   #130
alexrain
Новичок
 
Регистрация: 03.04.2016
Адрес: Бронницы
Сообщений: 19
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
alexrain пока не определено
По умолчанию

Добрый день.
Подскажите, пожалуйста.
Почему выдает ошибку на 181 строчке?!?

Вот код:

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

SetCamera(p3dFront);
ViewAll();

LevBok = GetPanel("Укажите левую боковину");
LevBok.Selected = true;
PravBok = GetPanel("Укажите правую боковину");
PravBok.Selected = true;
Top = GetEdge('Укажите верхнюю границу фасада ящика (грязный размер)', AxisX).GFirst.y;
Action.ShowEdges = true;
Bottom = GetEdge('Укажите нижнюю границу фасада ящика (грязный размер)', AxisX).GFirst.y;
SetCamera(p3dLeft);
ViewAll();
InsideEdge = GetEdge('Укажите границу внутреннего пространства', AxisY).GFirst.z;
SetCamera(p3dIsometric);
ViewAll();

XLeft = LevBok.GabMax.x;
XRigh = PravBok.GabMin.x;

if (XLeft > XRigh) {
AAA = LevBok;
LevBok = PravBok;
PravBok = AAA;
}

if (Bottom > Top) {
AAA = Bottom;
Bottom = Top;
Top = AAA;
}

var KH = Top - Bottom; // Расстояние между верхней и нижней границами
var LT = LevBok.GabMax.z - InsideEdge; // Внутренняя глубина корпуса
var KB = LevBok.GabMin.x + PravBok.GabMax.x; // Внешняя ширина корпуса
var LW = PravBok.GabMin.x - LevBok.GabMax.x; // Внутренняя ширина корпуса

MakeProperties();

Action.Continue();

function MakeProperties() {

Prop = Action.Properties;

//ImageTipYash = Prop.NewImage('Тип устанавливаемого ящика', 'Логотип Metabox plus.jpg');
//ImageTipYash.MaxHeight = 23;

KolYash = Prop.NewCombo('Количество ящиков', 'n\n1 ящик\n2 ящика\n3 ящика\n4 ящика');
Seperator = KolYash.NewSeparator();

//ImageKorDvaYash = KolYash.NewImage('', 'Стол с 2-мя ящиками.jpg');
//ImageKorTriYash = KolYash.NewImage('', 'Стол с 3-мя ящиками.jpg');
//ImageKorFourYash = KolYash.NewImage('', 'Стол с 4-мя ящиками.jpg');
//Seperator = KolYash.NewSeparator();

// параметры для установки 1-го ящика
ParYashH = KolYash.NewGroup('Конструктив ящика');
H = ParYashH.NewNumber('Высота ящика (гр. размер)', KH);
H.Visible = false;
VrzRuchkaH = ParYashH.NewCombo('Наличие торцевой ВРЕЗНОЙ ручки', 'Нет ручки\nВрезная ручка №30\nВрезная ручка №389\nВрезная ручка №404/405/406');
NaklRuchkaH = ParYashH.NewBool('Наличие торцевой НАКЛАДНОЙ ручки', false);
NL = ParYashH.NewCombo('Глубина ящика', 'Стандарт (NL=500)\nNL=450\nNL=400\nNL=350\nNL=270');
NL1 = ParYashH.NewCombo('Глубина ящика', 'Стандарт (NL=450)\nNL=400\nNL=350\nNL=270');
NL2 = ParYashH.NewCombo('Глубина ящика', 'Стандарт (NL=400)\nNL=350\nNL=270');
NL3 = ParYashH.NewCombo('Глубина ящика', 'Стандарт (NL=350)\nNL=270');
NL4 = ParYashH.NewCombo('Глубина ящика', 'Стандарт (NL=270)');
Seperator = ParYashH.NewSeparator();

// параметры для установки 2-х и более ящиков
ParYashH2 = KolYash.NewGroup('Общие параметры');
VrzRuchkaH2 = ParYashH2.NewCombo('Наличие торцевых ВРЕЗНЫХ ручек (для всех ящиков)', 'Нет ручки\nВрезная ручка №30\nВрезная ручка №389\nВрезная ручка №404/405/406');
NaklRuchkaH2 = ParYashH2.NewBool('Наличие торцевых НАКЛАДНЫХ ручек (для всех ящиков)', false);
Seperator = ParYashH2.NewSeparator();

// параметры верхнего ящика (установка 2-х ящиков)
ParYashH2V = KolYash.NewGroup('Конструктив верхнего ящика - X2');
H2V = ParYashH2V.NewNumber('Высота ящика (гр. размер)', KH / 2);
VrzRuchkaH2V = ParYashH2V.NewCombo('Наличие торцевой ВРЕЗНОЙ ручки', 'Нет ручки\nВрезная ручка №30\nВрезная ручка №389\nВрезная ручка №404/405/406');
NaklRuchkaH2V = ParYashH2V.NewBool('Наличие торцевой НАКЛАДНОЙ ручки', false);
NLH2V = ParYashH2V.NewCombo('Глубина ящика', 'Стандарт (NL=500)\nNL=450\nNL=400\nNL=350\nNL=270');
NL1H2V = ParYashH2V.NewCombo('Глубина ящика', 'Стандарт (NL=450)\nNL=400\nNL=350\nNL=270');
NL2H2V = ParYashH2V.NewCombo('Глубина ящика', 'Стандарт (NL=400)\nNL=350\nNL=270');
NL3H2V = ParYashH2V.NewCombo('Глубина ящика', 'Стандарт (NL=350)\nNL=270');
NL4H2V = ParYashH2V.NewCombo('Глубина ящика', 'Стандарт (NL=270)');
// параметры нижнего ящика (установка 2-х ящиков)
ParYashH2N = KolYash.NewGroup('Конструктив нижнего ящика - X1');
H2N = ParYashH2N.NewNumber('Высота ящика (гр. размер)', KH / 2);
VrzRuchkaH2N = ParYashH2N.NewCombo('Наличие торцевой ВРЕЗНОЙ ручки', 'Нет ручки\nВрезная ручка №30\nВрезная ручка №389\nВрезная ручка №404/405/406');
NaklRuchkaH2N = ParYashH2N.NewBool('Наличие торцевой НАКЛАДНОЙ ручки', false);
NLH2N = ParYashH2N.NewCombo('Глубина ящика', 'Стандарт (NL=500)\nNL=450\nNL=400\nNL=350\nNL=270');
NL1H2N = ParYashH2N.NewCombo('Глубина ящика', 'Стандарт (NL=450)\nNL=400\nNL=350\nNL=270');
NL2H2N = ParYashH2N.NewCombo('Глубина ящика', 'Стандарт (NL=400)\nNL=350\nNL=270');
NL3H2N = ParYashH2N.NewCombo('Глубина ящика', 'Стандарт (NL=350)\nNL=270');
NL4H2N = ParYashH2N.NewCombo('Глубина ящика', 'Стандарт (NL=270)');
Seperator = ParYashH2N.NewSeparator();

// параметры для установки 3-х ящиков
ParYashH3 = KolYash.NewGroup('Общие параметры');
VrzRuchkaH3 = ParYashH3.NewCombo('Наличие торцевых ВРЕЗНЫХ ручек (для всех ящиков)', 'Нет ручки\nВрезная ручка №30\nВрезная ручка №389\nВрезная ручка №404/405/406');
NaklRuchkaH3 = ParYashH3.NewBool('Наличие торцевых НАКЛАДНЫХ ручек (для всех ящиков)', false);
Seperator = ParYashH3.NewSeparator();

// параметры верхнего ящика (установка 3-х ящиков)
ParYashH3V = KolYash.NewGroup('Конструктив верхнего ящика - X3');
H3V = ParYashH3V.NewNumber('Высота ящика (гр. размер)', (KH / 2) / 2);
VrzRuchkaH3V = ParYashH3V.NewCombo('Наличие торцевой ВРЕЗНОЙ ручки', 'Нет ручки\nВрезная ручка №30\nВрезная ручка №389\nВрезная ручка №404/405/406');
NaklRuchkaH3V = ParYashH3V.NewBool('Наличие торцевой НАКЛАДНОЙ ручки', false);
NLH3V = ParYashH3V.NewCombo('Глубина ящика', 'Стандарт (NL=500)\nNL=450\nNL=400\nNL=350\nNL=270');
NL1H3V = ParYashH3V.NewCombo('Глубина ящика', 'Стандарт (NL=450)\nNL=400\nNL=350\nNL=270');
NL2H3V = ParYashH3V.NewCombo('Глубина ящика', 'Стандарт (NL=400)\nNL=350\nNL=270');
NL3H3V = ParYashH3V.NewCombo('Глубина ящика', 'Стандарт (NL=350)\nNL=270');
NL4H3V = ParYashH3V.NewCombo('Глубина ящика', 'Стандарт (NL=270)');
// параметры среднего ящика (установка 3-х ящиков)
ParYashH3S = KolYash.NewGroup('Конструктив среднего ящика - X2');
H3S = ParYashH3S.NewNumber('Высота ящика (гр. размер)', (KH / 2) / 2);
VrzRuchkaH3S = ParYashH3S.NewCombo('Наличие торцевой ВРЕЗНОЙ ручки', 'Нет ручки\nВрезная ручка №30\nВрезная ручка №389\nВрезная ручка №404/405/406');
NaklRuchkaH3S = ParYashH3S.NewBool('Наличие торцевой НАКЛАДНОЙ ручки', false);
NLH3S = ParYashH3S.NewCombo('Глубина ящика', 'Стандарт (NL=500)\nNL=450\nNL=400\nNL=350\nNL=270');
NL1H3S = ParYashH3S.NewCombo('Глубина ящика', 'Стандарт (NL=450)\nNL=400\nNL=350\nNL=270');
NL2H3S = ParYashH3S.NewCombo('Глубина ящика', 'Стандарт (NL=400)\nNL=350\nNL=270');
NL3H3S = ParYashH3S.NewCombo('Глубина ящика', 'Стандарт (NL=350)\nNL=270');
NL4H3S = ParYashH3S.NewCombo('Глубина ящика', 'Стандарт (NL=270)');
// параметры нижнего ящика (установка 3-х ящиков)
ParYashH3N = KolYash.NewGroup('Конструктив нижнего ящика - X1');
H3N = ParYashH3N.NewNumber('Высота ящика (гр. размер)', KH / 2);
VrzRuchkaH3N = ParYashH3N.NewCombo('Наличие торцевой ВРЕЗНОЙ ручки', 'Нет ручки\nВрезная ручка №30\nВрезная ручка №389\nВрезная ручка №404/405/406');
NaklRuchkaH3N = ParYashH3N.NewBool('Наличие торцевой НАКЛАДНОЙ ручки', false);
NLH3N = ParYashH3N.NewCombo('Глубина ящика', 'Стандарт (NL=500)\nNL=450\nNL=400\nNL=350\nNL=270');
NL1H3N = ParYashH3N.NewCombo('Глубина ящика', 'Стандарт (NL=450)\nNL=400\nNL=350\nNL=270');
NL2H3N = ParYashH3N.NewCombo('Глубина ящика', 'Стандарт (NL=400)\nNL=350\nNL=270');
NL3H3N = ParYashH3N.NewCombo('Глубина ящика', 'Стандарт (NL=350)\nNL=270');
NL4H3N = ParYashH3N.NewCombo('Глубина ящика', 'Стандарт (NL=270)');
Seperator = ParYashH3N.NewSeparator();

// параметры для установки 4-х ящиков
ParYashH4 = KolYash.NewGroup('Общие параметры');
VrzRuchkaH4 = ParYashH4.NewCombo('Наличие торцевых ВРЕЗНЫХ ручек (для всех ящиков)', 'Нет ручки\nВрезная ручка №30\nВрезная ручка №389\nВрезная ручка №404/405/406');
NaklRuchkaH4 = ParYashH4.NewBool('Наличие торцевых НАКЛАДНЫХ ручек (для всех ящиков)', false);
Seperator = ParYashH4.NewSeparator();

// параметры 4-го ящика (установка 4-х ящиков)
ParYashH44 = KolYash.NewGroup('Конструктив 4-го ящика ящика - X4');
H44 = ParYashH44.NewNumber('Высота ящика (гр. размер)', KH / 4);
VrzRuchkaH44 = ParYashH44.NewCombo('Наличие торцевой ВРЕЗНОЙ ручки', 'Нет ручки\nВрезная ручка №30\nВрезная ручка №389\nВрезная ручка №404/405/406');
NaklRuchkaH44 = ParYashH44.NewBool('Наличие торцевой НАКЛАДНОЙ ручки', false);
NLH44 = ParYashH44.NewCombo('Глубина ящика', 'Стандарт (NL=500)\nNL=450\nNL=400\nNL=350\nNL=270');
NL1H44 = ParYashH44.NewCombo('Глубина ящика', 'Стандарт (NL=450)\nNL=400\nNL=350\nNL=270');
NL2H44 = ParYashH44.NewCombo('Глубина ящика', 'Стандарт (NL=400)\nNL=350\nNL=270');
NL3H44 = ParYashH44.NewCombo('Глубина ящика', 'Стандарт (NL=350)\nNL=270');
NL4H44 = ParYashH44.NewCombo('Глубина ящика', 'Стандарт (NL=270)');
// параметры 3-го ящика (установка 4-х ящиков)
ParYashH43 = KolYash.NewGroup('Конструктив 3-го ящика ящика - X3');
H43 = ParYashH43.NewNumber('Высота ящика (гр. размер)', KH / 4);
VrzRuchkaH43 = ParYashH43.NewCombo('Наличие торцевой ВРЕЗНОЙ ручки', 'Нет ручки\nВрезная ручка №30\nВрезная ручка №389\nВрезная ручка №404/405/406');
NaklRuchkaH43 = ParYashH43.NewBool('Наличие торцевой НАКЛАДНОЙ ручки', false);
NLH43 = ParYashH43.NewCombo('Глубина ящика', 'Стандарт (NL=500)\nNL=450\nNL=400\nNL=350\nNL=270');
NL1H43 = ParYashH43.NewCombo('Глубина ящика', 'Стандарт (NL=450)\nNL=400\nNL=350\nNL=270');
NL2H43 = ParYashH43.NewCombo('Глубина ящика', 'Стандарт (NL=400)\nNL=350\nNL=270');
NL3H43 = ParYashH43.NewCombo('Глубина ящика', 'Стандарт (NL=350)\nNL=270');
NL4H43 = ParYashH43.NewCombo('Глубина ящика', 'Стандарт (NL=270)');
// параметры 2-го ящика (установка 4-х ящиков)
ParYashH42 = KolYash.NewGroup('Конструктив 2-го ящика ящика - X2');
H42 = ParYashH42.NewNumber('Высота ящика (гр. размер)', KH / 4);
VrzRuchkaH42 = ParYashH42.NewCombo('Наличие торцевой ВРЕЗНОЙ ручки', 'Нет ручки\nВрезная ручка №30\nВрезная ручка №389\nВрезная ручка №404/405/406');
NaklRuchkaH42 = ParYashH42.NewBool('Наличие торцевой НАКЛАДНОЙ ручки', false);
NLH42 = ParYashH42.NewCombo('Глубина ящика', 'Стандарт (NL=500)\nNL=450\nNL=400\nNL=350\nNL=270');
NL1H42 = ParYashH42.NewCombo('Глубина ящика', 'Стандарт (NL=450)\nNL=400\nNL=350\nNL=270');
NL2H42 = ParYashH42.NewCombo('Глубина ящика', 'Стандарт (NL=400)\nNL=350\nNL=270');
NL3H42 = ParYashH42.NewCombo('Глубина ящика', 'Стандарт (NL=350)\nNL=270');
NL4H42 = ParYashH42.NewCombo('Глубина ящика', 'Стандарт (NL=270)');
// параметры нижнего ящика (установка 4-х ящиков)
ParYashH41 = KolYash.NewGroup('Конструктив нижнего ящика - X1');
H41 = ParYashH41.NewNumber('Высота ящика (гр. размер)', KH / 4);
VrzRuchkaH41 = ParYashH41.NewCombo('Наличие торцевой ВРЕЗНОЙ ручки', 'Нет ручки\nВрезная ручка №30\nВрезная ручка №389\nВрезная ручка №404/405/406');
NaklRuchkaH41 = ParYashH41.NewBool('Наличие торцевой НАКЛАДНОЙ ручки', false);
NLH41 = ParYashH41.NewCombo('Глубина ящика', 'Стандарт (NL=500)\nNL=450\nNL=400\nNL=350\nNL=270');
NL1H41 = ParYashH41.NewCombo('Глубина ящика', 'Стандарт (NL=450)\nNL=400\nNL=350\nNL=270');
NL2H41 = ParYashH41.NewCombo('Глубина ящика', 'Стандарт (NL=400)\nNL=350\nNL=270');
NL3H41 = ParYashH41.NewCombo('Глубина ящика', 'Стандарт (NL=350)\nNL=270');
NL4H41 = ParYashH41.NewCombo('Глубина ящика', 'Стандарт (NL=270)');
Seperator = ParYashH41.NewSeparator();

}

OkBtn = Prop.NewButton('Построить');

Action.OnStart = function() {
//обработка событий в любых полях ввода свойства
Prop.OnChange = Primenit;
Primenit();
}

OkBtn.OnClick = function() {
UnSelectAll();
SetCamera(p3dIsometric);
ViewAll();
Action.Finish();
}

Action.Continue();

function Primenit() {

//______________________________________________________________________________

// Выводим подсказки для дальнейшей установки
if (KolYash.ItemIndex == 0) {
Action.ErrorHint = 'Выберите нужное количество ящиков для построения';
} else if (KolYash.ItemIndex == 1) {
Action.ErrorHint = 'Определитесь с параметрами ящика и нажмите "Построить"';
} else {
Action.ErrorHint = 'Укажите грязные размеры фасадов, определитесь с параметрами ящиков и нажмите "Построить"';
}

//______________________________________________________________________________

// Определяем параметры в окне свойств
switch (KolYash.ItemIndex) {
case 0: // Количество ящиков - n

ParYashH.Visible = false;
ParYashH2.Visible = ParYashH3.Visible = ParYashH4.Visible = false;
ParYashH2N.Visible = ParYashH2V.Visible = false;
ParYashH3N.Visible = ParYashH3S.Visible = ParYashH3V.Visible = false;
ParYashH41.Visible = ParYashH42.Visible = ParYashH43.Visible = ParYashH44.Visible = false;
//ImageKorDvaYash.Visible = ImageKorTriYash.Visible = ImageKorFourYash.Visible = false;

break;

case 1: // Количество ящиков - 1 ящик

// Определяем видимость свойств
ParYashH.Visible = true;
ParYashH2.Visible = ParYashH3.Visible = ParYashH4.Visible = false;
ParYashH2N.Visible = ParYashH2V.Visible = false;
ParYashH3N.Visible = ParYashH3S.Visible = ParYashH3V.Visible = false;
ParYashH41.Visible = ParYashH42.Visible = ParYashH43.Visible = ParYashH44.Visible = false;
//ImageKorDvaYash.Visible = ImageKorTriYash.Visible = ImageKorFourYash.Visible = false;

break;

case 2: // Количество ящиков - 2 ящика

// Определяем видимость общих свойств
ParYashH.Visible = false;
ParYashH2.Visible = true;
ParYashH3.Visible = ParYashH4.Visible = false;
ParYashH2N.Visible = ParYashH2V.Visible = true;
ParYashH3N.Visible = ParYashH3S.Visible = ParYashH3V.Visible = false;
ParYashH41.Visible = ParYashH42.Visible = ParYashH43.Visible = ParYashH44.Visible = false;
//ImageKorDvaYash.Visible = true;
//ImageKorTriYash.Visible = ImageKorFourYash.Visible = false;

break;

case 3: // Количество ящиков - 3 ящика

// Определяем видимость свойств
ParYashH.Visible = false;
ParYashH3.Visible = true;
ParYashH2.Visible = ParYashH4.Visible = false;
ParYashH2N.Visible = ParYashH2V.Visible = false;
ParYashH3N.Visible = ParYashH3S.Visible = ParYashH3V.Visible = true;
ParYashH41.Visible = ParYashH42.Visible = ParYashH43.Visible = ParYashH44.Visible = false;
//ImageKorTriYash.Visible = true;
//ImageKorDvaYash.Visible = ImageKorFourYash.Visible = false;

break;

case 4: // Количество ящиков - 4 ящика

// Определяем видимость свойств
ParYashH.Visible = false;
ParYashH4.Visible = true;
ParYashH2.Visible = ParYashH3.Visible = false;
ParYashH2N.Visible = ParYashH2V.Visible = false;
ParYashH3N.Visible = ParYashH3S.Visible = ParYashH3V.Visible = false;
ParYashH41.Visible = ParYashH42.Visible = ParYashH43.Visible = ParYashH44.Visible = true;
//ImageKorFourYash.Visible = true;
//ImageKorDvaYash.Visible = ImageKorTriYash.Visible = false;


break;

}

}
[свернуть]


Добавлено через 7 минут
Добрый день.
Подскажите, пожалуйста, следующее:

Как с помощью скрипта установить фрагмент (ссылка на фрагмент - ниже)?!?

Ссылка:
https://yadi.sk/d/fruuuUTkiFYOBA

Последний раз редактировалось systland; 24.01.2020 в 13:47.
alexrain вне форума   Ответить с цитированием Вверх
Ответ

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

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базис ЧПУ 2021/2024 AlexBolton Базис-мебельщик 2021-2024 127 Сегодня 11:30
БАЗИС 10 - Скрипты systland Базис-мебельщик. Скрипты 714 06.03.2024 09:09
БАЗИС 9 - Скрипты Igor_482 Базис-мебельщик. Скрипты 1441 27.02.2024 10:48
V-Ray в Базис Мебельщик 11/2023 nayrogi Система БАЗИС 70 29.01.2024 17:25
БАЗИС 8 - Скрипты Igor_482 Базис-мебельщик. Скрипты 1524 07.12.2022 19:53


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


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

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