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

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

Меню

Маркет


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

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

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

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
Просмотров: 1498
Размер:	36.4 Кб
ID:	86248

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


Последний раз редактировалось systland; 26.12.2017 в 11:52.. Причина: Добавил объявление.
Просмотров: 1395086
Ответить с цитированием Вверх
6 пользователя(ей) сказали cпасибо:
Старый 03.05.2016, 19:32   #881
Saha SG-552
Пользователь
 
Аватар для Saha SG-552
 
Регистрация: 16.03.2016
Сообщений: 31
Сказал(а) спасибо: 52
Поблагодарили 26 раз(а) в 6 сообщениях
Вес репутации: 107
Saha SG-552 на пути к лучшему
По умолчанию

И опять я со своими глупыми вопросами...
Пытаюсь добавить облицовку пласти панели, создал в меню параметров:

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

OblicovkaPLLevBok = Левая_боковина.NewMaterial('Облицовка левой боковины');
[свернуть]

Нужно иметь возможность выбрать материал облицовки из имеющейся базы материалов.
В скрипте по построению модели указываю:

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

LevBok.AddPlastic(OblicovkaPLLevBok, true);
[свернуть]

Боковина облицовывается, появляется материал облицовки, но вот незадача... После построения модели делаю чертеж, и оказывается, что материал облицовки имеет название "Облицовка левой боковины" =( И никак не могу догнать, как сделать, чтобы облицовка называлась именем выбранного материала. Я упускаю какой-то дополнительный параметр, который нужно указывать при облицовывании? Подскажите непутевому как с этим быть? Спасибо!
Saha SG-552 вне форума   Ответить с цитированием Вверх
Старый 04.05.2016, 11:33   #882
AndrianoS
Пользователь
 
Регистрация: 21.08.2009
Адрес: Санкт-Петербург
Сообщений: 59
Сказал(а) спасибо: 73
Поблагодарили 15 раз(а) в 9 сообщениях
Вес репутации: 187
AndrianoS на пути к лучшему
По умолчанию

Цитата:
Сообщение от Saha SG-552 Посмотреть сообщение
Нужно иметь возможность выбрать материал облицовки из имеющейся базы материалов.
NewMaterialInput - Ввод материала.

NewButtMaterialInput - Ввести кромочный материал.
Материал кромки.
Свойства:
Name — наименование материала.
Sign — обозначение материала.
Thickness — толщина материала.
Width — ширина материала.
Overhung — свес.
Allowance — припуск.
ClipPanel — подрезка панели.
AndrianoS вне форума   Ответить с цитированием Вверх
Старый 04.05.2016, 18:57   #883
Saha SG-552
Пользователь
 
Аватар для Saha SG-552
 
Регистрация: 16.03.2016
Сообщений: 31
Сказал(а) спасибо: 52
Поблагодарили 26 раз(а) в 6 сообщениях
Вес репутации: 107
Saha SG-552 на пути к лучшему
По умолчанию

Спасибо, насчет этого я в курсе. Но есть ли способ создать параметр выбора облицовки именно в меню свойств, а не на панели инструментов, как это возможно сделать для тех же кромок и материалов? Хочу добиться однородного и структурированного меню, а тут получается, что материал и кромку можно назначить из меню, а облицовку пласти нужно назначать из панели инструментов. Вот узнать хотел, баг это или фича?
Saha SG-552 вне форума   Ответить с цитированием Вверх
Старый 05.05.2016, 09:27   #884
AndrianoS
Пользователь
 
Регистрация: 21.08.2009
Адрес: Санкт-Петербург
Сообщений: 59
Сказал(а) спасибо: 73
Поблагодарили 15 раз(а) в 9 сообщениях
Вес репутации: 187
AndrianoS на пути к лучшему
По умолчанию

Цитата:
Сообщение от Saha SG-552 Посмотреть сообщение
Спасибо, насчет этого я в курсе. Но есть ли способ создать параметр выбора облицовки именно в меню свойств, а не на панели инструментов, как это возможно сделать для тех же кромок и материалов? Хочу добиться однородного и структурированного меню, а тут получается, что материал и кромку можно назначить из меню, а облицовку пласти нужно назначать из панели инструментов. Вот узнать хотел, баг это или фича?
Если правильно понял.Выбираем из базы.А в базе уже объявлено обозначение на чертеже

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


MakeProperties();

//Создаем панель свойств
function MakeProperties(){
Prop = Action.Properties;

mat = Prop.NewMaterial('Материал полки');
KromkaVid = Prop.NewButt('Видимая кромка');
KromkaNotVid = Prop.NewButt('Фоновая кромка');

Action.Continue();
}
[свернуть]
AndrianoS вне форума   Ответить с цитированием Вверх
Старый 05.05.2016, 16:41   #885
Briz
Местный
 
Регистрация: 30.11.2011
Сообщений: 283
Сказал(а) спасибо: 275
Поблагодарили 803 раз(а) в 179 сообщениях
Вес репутации: 358
Briz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личность
По умолчанию

Цитата:
Сообщение от Saha SG-552 Посмотреть сообщение
Боковина облицовывается, появляется материал облицовки, но вот незадача... После построения модели делаю чертеж, и оказывается, что материал облицовки имеет название "Облицовка левой боковины" =( И никак не могу догнать, как сделать, чтобы облицовка называлась именем выбранного материала. Я упускаю какой-то дополнительный параметр, который нужно указывать при облицовывании? Подскажите непутевому как с этим быть? Спасибо!
Это ошибка, исправляется. Пока можно обойтись так:
LevBok.AddPlastic(OblicovkaPLLevBok, true).Material = OblicovkaPLLevBok.MaterialName;
Briz вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
zorro (06.05.2016)
Старый 06.05.2016, 00:00   #886
Saha SG-552
Пользователь
 
Аватар для Saha SG-552
 
Регистрация: 16.03.2016
Сообщений: 31
Сказал(а) спасибо: 52
Поблагодарили 26 раз(а) в 6 сообщениях
Вес репутации: 107
Saha SG-552 на пути к лучшему
По умолчанию

Цитата:
Сообщение от Briz Посмотреть сообщение
Это ошибка, исправляется. Пока можно обойтись так:
LevBok.AddPlastic(OblicovkaPLLevBok, true).Material = OblicovkaPLLevBok.MaterialName;
Не выходит. У меня параметр OblicovkaPLLevBok.MaterialName пустой, следовательно и в чертежах вместо названия облицовки - пустота. =( Голову сломал уже, не знаю что с этим делать.
Saha SG-552 вне форума   Ответить с цитированием Вверх
Старый 06.05.2016, 08:39   #887
Briz
Местный
 
Регистрация: 30.11.2011
Сообщений: 283
Сказал(а) спасибо: 275
Поблагодарили 803 раз(а) в 179 сообщениях
Вес репутации: 358
Briz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личностьBriz - просто великолепная личность
По умолчанию

В девятой версии это должно работать точно, в восьмой могло и не быть, тогда можно пробовать так:

var Plastic = LevBok.AddPlastic(OblicovkaPLLevBok, true);
OblicovkaPLLevBok.SetActive();
Plastic.Material = ActiveMaterial.Name;
Briz вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
Saha SG-552 (06.05.2016), zorro (06.05.2016)
Старый 03.06.2016, 15:31   #888
User1744
Новичок
 
Регистрация: 03.06.2016
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
User1744 пока не определено
По умолчанию

Добрый день!!!
я с таким же вопросом " скрипт по конструированию кухонных блоков"
если есть возможность скиньте в личку.
User1744 вне форума   Ответить с цитированием Вверх
Старый 22.07.2016, 12:39   #889
Avich
Новичок
 
Регистрация: 01.05.2008
Сообщений: 13
Сказал(а) спасибо: 7
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
Avich пока не определено
По умолчанию

Может подскажет кто, надо перевести в скрипт поисковый запрос
Найти все панели:
1) ширина которых <70
2) длина которых <70
Спасибо
Avich вне форума   Ответить с цитированием Вверх
Старый 22.07.2016, 21:29   #890
anb
VIP
 
Регистрация: 01.08.2008
Адрес: Россия
Сообщений: 724
Сказал(а) спасибо: 9,178
Поблагодарили 2,910 раз(а) в 712 сообщениях
Вес репутации: 846
anb репутация неоспоримаanb репутация неоспоримаanb репутация неоспоримаanb репутация неоспоримаanb репутация неоспоримаanb репутация неоспоримаanb репутация неоспоримаanb репутация неоспоримаanb репутация неоспоримаanb репутация неоспоримаanb репутация неоспорима
По умолчанию

Цитата:
Сообщение от User1744 Посмотреть сообщение
" скрипт по конструированию кухонных блоков"
Ну как, нашли данный скрипт?
anb вне форума   Ответить с цитированием Вверх
Ответ

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


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БАЗИС 9 - Скрипты Igor_482 Базис-мебельщик. Скрипты 1442 04.04.2024 11:28
БАЗИС 9 nayrogi Базис-мебельщик 9 785 01.10.2022 23:13
БАЗИС-ЧПУ 8 chingisnah Базис-мебельщик 8 119 21.12.2017 22:04
Заявки на скрипты dr_john Система БАЗИС 37 01.03.2016 10:36
Базис-7,"Народный Базис"и Windows-8 sergeyzak18 "НАРОДНЫЙ" базис 23 16.01.2014 00:37


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


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

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