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

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


Реклама на портале PROMEBELclub
клей для производства мебели
Реклама на портале PROMEBELclub

битрикс24 Мебель196. Мебельный интернет-магазин в Екатеринбурге.
Ответ
 
Опции темы Опции просмотра
Старый 13.01.2014, 11:22  
БАЗИС 8 - Скрипты
 
Аватар для Igor_482
Igor_482
VIP
Регистрация: 03.09.2008
Сообщений: 145

Сказал(а) спасибо: 31
Поблагодарили 636 раз(а) в 84 сообщениях
Версия для печати Отправить по электронной почте
Igor_482 Igor_482 вне форума 13.01.2014, 11:22
Рейтинг: (6 голосов - 5.00 средняя оценка)

ВНИМАНИЕ! Правила выкладывания скриптов.

1. Если в скрипте нет ссылок на фурнитуру, фрагменты и.т.д то достаточно его упаковать в архив и выложить.

2. Если в скрипте есть ссылки на фурнитуру, фрагменты и т.д. то архив должен содержать папку с самим скриптом и всеми файлами на которые есть ссылки в тексте скрипта.


Т.к. при запуске скрипта на другом компе возникает ошибка о не возможности открыть то или иной файл и скрипт до конца не отрабатывает свой текст. Не соблюдается "чистота проверки" работы скрипта.

__________________________________________________ _______________

Интересует информация по редактору скриптов в БМ8. Существует ли справочная документация и примеры использования скриптов в БМ8. Какие возможности дает данная функция? Владеющим информацией по данному вопросу просьба поделиться ею.

Новое в скриптописании для БМ:

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

while (true)
Вот полный список новшеств, добавленных в скрипты с момента их выхода:

14 декабря 2014

Добавлена поддержка эластичных блоков

List3D : {
IsElastic: new HDefinition("?Boolean:", 'Являетсяли объект эластичным'),
ElasticResize: new HDefinition("?Vector:newSize", 'Растянуть объект до требуемых размеров'),
}

27 ноября 2014

Вспомогательные геометрические алгоритмы, реализованы в глобальном объекте geometry

geometry : new HDefinition("Geometry2D", 'Вспомогательные геометрические функции'),

Geometry2D : {
Intersect: new HDefinition("?Array.<Point>:elem1,elem2", 'Вычислить точки пересечения двухмерных элементов'),
Compare: new HDefinition("?Boolean:elem1,elem2", 'Сравнить элементы'),
Distance: new HDefinition("?Number:elem1,elem2", 'Найти кратчайшее расстояние между элементами'),
Area: new HDefinition("?Number:contour", 'Найти площадь контура')
}

17 ноября 2014

Работа с пользовательскими свойствами

Object3 : {
UserPropCount: new HDefinition("Number", 'Количество пользовательских свойств'),
UserProperty: new HDefinition('Array.<Object>', 'Значение свойства по его имени или индексу'),
UserPropertyName: new HDefinition('Array.<String>', 'Названия свойств')
}

Новые элементы управления на панели свойств

ScriptProperty: {
NewColor: new HDefinition("?ScriptColorProperty:'Название'", 'Создать свойство типа цвет'),
NewSeparator: new HDefinition("?ScriptProperty", 'Создать разделитель')
}

ScriptColorProperty: {
Value: new HDefinition("Number")
},

----------------------------------------------------------------------------------------------------
29 сентября 2014

system.apiVersion = 90 -> Bazis9
system.apiVersion = 85 -> Bazis8

----------------------------------------------------------------------------------------------------
15 сентября 2014

Contour2D : {
Min: new HDefinition("Point", 'Левый нижний угол охватывающего прямоугольника'),
Max: new HDefinition("Point", 'Правый верхний угол охватывающего прямоугольника'),
AddEquidistant : new HDefinition("?undefined:contour,offset,false,false", 'Добавить эквидистанту контура. Последние 2 параметры отвечают за направление и скругление')
}

ScriptProperty: {
OnDeactivate : new HDefinition("Function", 'Обработчик деактивации свойства или меню'),
OnValueValidate : new HDefinition("Function", 'Проверка корректности значения'),
ValueValid: new HDefinition("Boolean", 'Флаг корректности введенного значения, выставляется обработчиком OnValueValidate'),
Validate: new HDefinition("?Boolean:", 'Проверить значение свойства и вложенных свойств')
}

----------------------------------------------------------------------------------------------------
2 сентября 2014

ScriptProperty: {
NameEditable: new HDefinition("Boolean", 'Разрешить редактирование имени (для создания таблиц)'),
NewSeparator: new HDefinition("?ScriptProperty", 'Создать разделитель')
}

----------------------------------------------------------------------------------------------------
9 августа 2014

Добавлены подменю в кнопки

InButton : {
NewSubMenu : new HDefinition('?InButton:"Меню"', 'Создать подменю'),
Combo: new Definition("Boolean", 'Отдельная стрелка для подменю')
},

Добавлены всплывающие меню и цвет фона для всех свойств. Созданы обработчики активации и изменения свойства.
Прежнее событие OnChange срабатывало не только при изменении самого параметра, но и при изменении дочерних свойств.
OnValueChange срабатывает только при изменении значения свойства.

ScriptProperty: {
BackColor: new HDefinition("Number", 'Цвет фона'),
PopupMenu: new HDefinition("ScriptMenu", 'Всплывающее меню'),
OnActivate : new HDefinition("Function", 'Обработчик активации свойства пользователем'),
OnValueChange : new HDefinition("Function", 'Обработчик изменения свойства')
Tag: new HDefinition("Number", 'Пользовательское число'),
}

Добавлено выпадающее меню:

ScriptProperty: {
DropDownMenu: new HDefinition("ScriptMenu", 'Выпадающее меню')
}

----------------------------------------------------------------------------------------------------
21 апреля 2014:

Добавлены свойства и методы:

ScriptMaterialProperty: {
Width: new HDefinition("Number", "Ширина листа"),
}

ScriptButtProperty: {
Thickness: new HDefinition("Number", "Толщина кромки"),
Width: new HDefinition("Number", "Ширина ленты"),
}

Contour2D : {
IsPointInside: new HDefinition("?Boolean:x,y", "Находится ли точка внутри контура?"),
IsInContour: new HDefinition("?Boolean:contour", "Находится ли контур внутри другого?"),
IsClosedContour: new HDefinition("?Boolean:", "Является ли контур замкнутым?"),
IsContourRectangle: new HDefinition("?Boolean:", "Является ли контур прямоугольным?"),
OrderContours: new HDefinition("?Boolean:true", "Упорядочить элементы контура в одном направлении")
}


----------------------------------------------------------------------------------------------------
6 февраля 2014

Реализовано подключение и вызов функций COM и OLE объектов

ScriptProperty : {
Expanded: new HDefinition("Boolean", 'Развернуты ли вложенные свойства')
}

Добавлен метод:
NewCOMObject: new HDefinition("?IDispatch:'CLSID'", 'Создать новый COM объект по его типу')
[свернуть]

Нажмите на изображение для увеличения
Название: Базис.jpg
Просмотров: 1126
Размер:	36.4 Кб
ID:	86248

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


Последний раз редактировалось systland; 26.12.2017 в 10:52.. Причина: Добавил объявление.
Просмотров: 738431
Ответить с цитированием Вверх
4 пользователя(ей) сказали cпасибо:
Beard (20.06.2017), female (15.01.2016), Kerby (21.11.2015), v22884 (04.11.2014)
Старый 29.04.2020, 19:05   #1281
ave2008
Новичок
 
Аватар для ave2008
 
Регистрация: 10.06.2008
Сообщений: 24
Сказал(а) спасибо: 9
Поблагодарили 12 раз(а) в 5 сообщениях
Вес репутации: 0
ave2008 на пути к лучшему
По умолчанию

Спасибо, понятно. А каким способом можно вытащить этот список пазов, с привязкой к конкретной панели? Просто, работаем со сторонними файлами, и "причесываем" их под свое производство (фурнит., кромки и естественно пазы), так что очередность построения пазов нам неведома. И еще, если возможно, пример скрипта для сравнения контуров пазов. Или ссылку, где это уже делали/обсуждали.
ave2008 вне форума   Ответить с цитированием Вверх
Старый 29.04.2020, 19:38   #1282
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 546
Сказал(а) спасибо: 125
Поблагодарили 869 раз(а) в 352 сообщениях
Вес репутации: 264
Letos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личностьLetos - просто великолепная личность
По умолчанию

Цитата:
Сообщение от ave2008 Посмотреть сообщение
Спасибо, понятно. А каким способом можно вытащить этот список пазов, с привязкой к конкретной панели? Просто, работаем со сторонними файлами, и "причесываем" их под свое производство (фурнит., кромки и естественно пазы), так что очередность построения пазов нам неведома. И еще, если возможно, пример скрипта для сравнения контуров пазов. Или ссылку, где это уже делали/обсуждали.
Вот небольшой пример, по обратке пазов. Здесь у каждого паза выделенной панели берётся длина контура и в конце выдаётся сообщение с номером паза и длиной его контура:
PHP код:
var Model.Selected.AsPanel;
var 
info '';
for (var 
0p.Cuts.Counti++){
    var 
cut p.Cuts.Cuts[i];
    
// Обработка паза

    
info +=  '. Длина контура = ' cut.Contour.ObjLength() + 'мм\n';
}
alert(info); 
Letos вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
ave2008 (29.04.2020)
Старый 05.05.2020, 08:29   #1283
meg87
Новичок
 
Регистрация: 31.05.2018
Сообщений: 7
Сказал(а) спасибо: 4
Поблагодарили 3 раз(а) в 1 сообщении
Вес репутации: 0
meg87 пока не определено
По умолчанию

Hi I'm newbie here and I can't use Russian, may some one show me where i can find the list of these script? thank a lot!


Последний раз редактировалось AlexBolton; 05.05.2020 в 10:30.
meg87 вне форума   Ответить с цитированием Вверх
Старый 05.05.2020, 08:57   #1284
Максим Геннадьевич
Пользователь
 
Регистрация: 11.04.2018
Адрес: г.Маркс
Сообщений: 79
Сказал(а) спасибо: 30
Поблагодарили 67 раз(а) в 17 сообщениях
Вес репутации: 47
Максим Геннадьевич скоро придёт к известности
По умолчанию

Цитата:
Сообщение от meg87 Посмотреть сообщение
Hi I'm newbie here and I can't use Russian, may some one show me where i can find the list of these script? thank a lot!
There is a list of finished scripts Готовые решения or are you interested in another script?

Последний раз редактировалось AlexBolton; 05.05.2020 в 10:30.
Максим Геннадьевич вне форума   Ответить с цитированием Вверх
Старый 05.05.2020, 09:47   #1285
meg87
Новичок
 
Регистрация: 31.05.2018
Сообщений: 7
Сказал(а) спасибо: 4
Поблагодарили 3 раз(а) в 1 сообщении
Вес репутации: 0
meg87 пока не определено
По умолчанию

why some scripts can be downloaded, some can't?

Добавлено через 8 минут
Цитата:
Сообщение от Максим Геннадьевич Посмотреть сообщение
There is a list of finished scripts Готовые решения or are you interested in another script?
oh thanks, that's one I need.

Добавлено через 9 минут
I'm using Bazis 8 and Bazis10 version, I'm finding a script that can take section of model, can anyone help me?

Последний раз редактировалось AlexBolton; 05.05.2020 в 10:30.
meg87 вне форума   Ответить с цитированием Вверх
Старый 16.05.2020, 17:06   #1286
Валерий300
Пользователь
 
Регистрация: 06.12.2012
Сообщений: 43
Сказал(а) спасибо: 36
Поблагодарили 6 раз(а) в 3 сообщениях
Вес репутации: 0
Валерий300 пока не определено
По умолчанию

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

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

Prop = Action.Properties;
WERTC = Prop.NewButton("Верт центр"); // ВЕРТ СТОЙКА ОДНА ПО ЦЕНТРУ
WERTL = Prop.NewButton("Верт от лев"); // ВЕРТ СТОЙКА ОТ ЛЕВОГО БОКА
WERTP = Prop.NewButton("Верт от прав"); // ВЕРТ СТОЙКА ОТ ПРАВОГО БОКА
////////////////////////////////////////////////////////////////

WERTC.OnClick = function() { Action.AsyncExec (FWERTC) };
WERTL.OnClick = function() { Action.AsyncExec (FWERL) };
WERTP.OnClick = function() { Action.AsyncExec (FWERP) };
////////////////////////////////////////////////////////////////
Action.Continue()
function FWERTC() {
Top = GetPanel('Укажите верхнюю панель');
Bottom = GetPanel('Укажите нижнюю панель');
LeftPanel = GetPanel('Укажите левую панель');
RightPanel = GetPanel('Укажите правую панель');
CENTRH=(LeftPanel.GabMax.x+ RightPanel.GabMin.x)/2 -8
ActiveMaterial.Make('Dsp', 16); //установка наполнения
Panel = AddVertPanel(LeftPanel.GabMin.z, Top.GabMin.y,LeftPanel.GabMax.z, Bottom.GabMax.y, CENTRH);
Action.Commit();
}
/////////////////////////////////////////////////////////////////////////////////////////
Action.Continue()
function FWERL() {
Top = GetPanel('Укажите верхнюю панель');
Bottom = GetPanel('Укажите нижнюю панель');
LeftPanel = GetPanel('Укажите левую панель');
OTST = prompt("ОТСТУП")
OTLEW= + OTST + LeftPanel.GabMax.x
ActiveMaterial.Make('Dsp', 16); //установка наполнения
Panel = AddVertPanel(LeftPanel.GabMin.z, Top.GabMin.y,LeftPanel.GabMax.z, Bottom.GabMax.y, OTLEW);
Action.Commit();
}
/////////////////////////////////////////////////////////////////////////////////////////

Action.Continue()
function FWERP() {
Top = GetPanel('Укажите верхнюю панель');
Bottom = GetPanel('Укажите нижнюю панель');
RightPanel = GetPanel('Укажите правую панель');
OTST = prompt("ОТСТУП")

OTPRAW= + RightPanel.GabMin.x - OTST -16
alert(OTPRAW)
ActiveMaterial.Make('Dsp', 16); //установка наполнения
Panel = AddVertPanel(RightPanel.GabMin.z, Top.GabMin.y,RightPanel.GabMax.z, Bottom.GabMax.y, OTPRAW);
Action.Commit();
}
/////////////////////////////////////////////////////////////////////////////////////////
[свернуть]

Последний раз редактировалось Валерий300; 17.05.2020 в 10:40.
Валерий300 вне форума   Ответить с цитированием Вверх
Старый 17.05.2020, 22:22   #1287
logika.yov
Пользователь
 
Аватар для logika.yov
 
Регистрация: 26.07.2015
Сообщений: 93
Сказал(а) спасибо: 70
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
logika.yov пока не определено
По умолчанию

Привет знатокам. Ребята помогите, подправить один скрипт. В нем есть параметр "зазор между боковиной и полкой", его нужно изменить (когда "зазор" ноль то пока становится жёсткой и удаляются полка держатели). Если возможно, сделайте так, чтобы зазор стал ноль и полкодержатели остались. Как таковой жесткой полки мне не надо.
Вложения
Тип файла: zip Расставить полки.zip (11.5 Кб, 5 просмотров)
logika.yov вне форума   Ответить с цитированием Вверх
Старый 19.05.2020, 11:20   #1288
Максим Геннадьевич
Пользователь
 
Регистрация: 11.04.2018
Адрес: г.Маркс
Сообщений: 79
Сказал(а) спасибо: 30
Поблагодарили 67 раз(а) в 17 сообщениях
Вес репутации: 47
Максим Геннадьевич скоро придёт к известности
По умолчанию Получить параметры угла

Приветствую. Подскажите как скриптом вывести параметры угла панели. Спасибо
Миниатюры
Screenshot_2.jpg  
Максим Геннадьевич вне форума   Ответить с цитированием Вверх
Ответ

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

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БАЗИС 9 nayrogi Базис-мебельщик 9 768 16.03.2020 08:31
БАЗИС 9 - Скрипты Igor_482 Базис-мебельщик. Скрипты 1426 17.03.2019 23:00
БАЗИС-ЧПУ 8 chingisnah Базис-мебельщик 8 119 21.12.2017 21:04
Заявки на скрипты dr_john Система БАЗИС 37 01.03.2016 09:36
Базис-7,"Народный Базис"и Windows-8 sergeyzak18 "НАРОДНЫЙ" базис 23 15.01.2014 22:37


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


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
© 2007-2020 PROMEBEL