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

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

Меню

Маркет


беспроводные выключатели для мебели
Ответ
 
Опции темы Опции просмотра
Старый 06.06.2017, 08:56  
БАЗИС 10 - Скрипты
systland
VIP
Регистрация: 30.10.2007
Адрес: Москва
Сообщений: 565

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

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


Последний раз редактировалось systland; 26.12.2017 в 11:52..
Просмотров: 425200
Ответить с цитированием Вверх
Старый 02.03.2019, 10:09   #361
IStiv
Пользователь
 
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 109
IStiv скоро придёт к известности
По умолчанию

Добрый день.
где найти ликбез по скриптам для Базис-Салон?
(язык, примеры, запуск, отладка. вообщем "что да как")
я ранее писал скрипты для Мебельщик 10
IStiv вне форума   Ответить с цитированием Вверх
Старый 08.03.2019, 10:11   #362
wizardpnz
Местный
 
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
wizardpnz скоро придёт к известностиwizardpnz скоро придёт к известности
По умолчанию

как переименовать кромку на панели произвольным именем?
wizardpnz на форуме   Ответить с цитированием Вверх
Старый 08.03.2019, 10:42   #363
wizardpnz
Местный
 
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
wizardpnz скоро придёт к известностиwizardpnz скоро придёт к известности
По умолчанию

Код:
Model.forEachPanel(
    function(obj) {
    for (i = 0; i < obj.Butts.Count; i++) {
        var butt = obj.Butts.Butts[i];
	var buttMaterial = butt.Material
       
        butt.Material = Model.UserProperty[buttMaterial];
        butt.Sign = Model.UserProperty[buttMaterial];
    }
}
)

переименовать кромки согласно пользовательским свойствам модели
wizardpnz на форуме   Ответить с цитированием Вверх
4 пользователя(ей) сказали cпасибо:
kostiaarh (09.03.2019), Letos (11.03.2019), Ovsyanicov (08.03.2019), v22884 (09.03.2019)
Старый 09.03.2019, 07:13   #364
v22884
Местный
 
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 454
Сказал(а) спасибо: 241
Поблагодарили 1,094 раз(а) в 210 сообщениях
Вес репутации: 386
v22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордитсяv22884 за этого человека можно гордится
По умолчанию

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


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

d = []
p= GetPanel("Укажите панель")
co = AddCopy(p)
d.push(co)
co.Owner = p.Owner
//co.Owner = Model.Temp;
p.Owner.Build()
Action.Commit()
p.Visible = false
p.Selected = false

for(i=0;i< d.length;i++){
pp = d[i]
c =pp.Contour
c.AddRectangle(10,10,100,100)
pp.FullBuild()
}
Action.Commit()
Action.Continue()

Action.OnFinish = function(){
p.Owner=Model.Temp
DeleteNewObjects()
//Model.Build()
}

[свернуть]


Указанная панель(то есть заменившая её копия) не удаляется вручную после скрипта. Только если вырезать всё содержимое модели и вставить назад в модель.
(Базис 10.0.3)


Подскажите, пожалуйста, Как исправить?
v22884 вне форума   Ответить с цитированием Вверх
Старый 09.03.2019, 12:04   #365
IStiv
Пользователь
 
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 109
IStiv скоро придёт к известности
По умолчанию

Цитата:
Сообщение от v22884 Посмотреть сообщение
как исправить?
вот так копируйте.
PHP код:
var pnFromUser GetPanel("Укажите панель");
var 
cpUserPn pnFromUser.Clone(); 
@Letos - метод Clone, в отличие от AddCopy создаёт копию с новым UID, а AddCopy создает с UID равным -1.

http://promebelclub.ru/forum/showpos...&postcount=283

P.S.
- в переменных все же лучше использовать var или let при объявлении
- называйте переменные нормально
- прочитайте и используйте любой Style Guide по JS
- и да пребудет с Вами хороший код

=================
=================

Всем привет.
Необходим пример по масштабированию блока с помощью ElasticResize(). Блок уже есть с определенными размерами и заданными параметрами "Эластика". Нужно изменить его текущие размеры на взятые из файла. Проблемс скорее с тригонометрией, не понимаю где начало координат и как этот Resize работет с подаваемым на вход вектором.
Хорошо , бы наглядно как то это объяснить с примером.
PHP код:
        element.ElasticResize({
            
xвзято из внешнего файла,
            
yвзято из внешнего файла,
            
zвзято из внешнего файла
            
}); 
IStiv вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
Ovsyanicov (09.03.2019), v22884 (09.03.2019)
Старый 11.03.2019, 11:13   #366
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от IStiv Посмотреть сообщение
Необходим пример по масштабированию блока с помощью ElasticResize(). Блок уже есть с определенными размерами и заданными параметрами "Эластика". Нужно изменить его текущие размеры на взятые из файла. Проблемс скорее с тригонометрией, не понимаю где начало координат и как этот Resize работет с подаваемым на вход вектором.
Хорошо , бы наглядно как то это объяснить с примером.
PHP код:
        element.ElasticResize({
            
xвзято из внешнего файла,
            
yвзято из внешнего файла,
            
zвзято из внешнего файла
            
}); 
Точно сказать не могу, но попробуйте конвертировать в локальную СК объекта:
PHP код:
        element.ElasticResize(element.NToObject({
            
xвзято из внешнего файла,
            
yвзято из внешнего файла,
            
zвзято из внешнего файла
            
})); 
Letos вне форума   Ответить с цитированием Вверх
2 пользователя(ей) сказали cпасибо:
AndrianoS (09.01.2021), Ovsyanicov (11.03.2019)
Старый 13.03.2019, 16:57   #367
IStiv
Пользователь
 
Регистрация: 02.12.2016
Сообщений: 84
Сказал(а) спасибо: 21
Поблагодарили 55 раз(а) в 27 сообщениях
Вес репутации: 109
IStiv скоро придёт к известности
По умолчанию

у меня есть тумба с "эластиком" и выставленными значениями через свойства.
Как мне выставить другое значение ширины и высоты скриптом?
совет выше не работает или я не понял как.. там точка с координатами на вход , вроде как, а мне нужно размеры точные установить.

Модель16_с эластиком.zip
IStiv вне форума   Ответить с цитированием Вверх
Старый 14.03.2019, 15:45   #368
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от IStiv Посмотреть сообщение
у меня есть тумба с "эластиком" и выставленными значениями через свойства.
Как мне выставить другое значение ширины и высоты скриптом?
совет выше не работает или я не понял как.. там точка с координатами на вход , вроде как, а мне нужно размеры точные установить.

Вложение 131453
Насчёт совета я чуть ошибся (у вас наверняка размеры берутся уже в ЛСК блока (ШхВхГ), поэтому их переводить не надо), но растяжение производится всё же в ЛСК объекта и единственный параметр функции - новый размер блока. На основе вашей модели сделал пример:
Код:
var obj = Model.Selected;
Undo.RecursiveChanging(obj);
obj.AsList().ElasticResize({
  x: obj.GSize.x,
  y: 1000,
  z: obj.GSize.z
});
Выделил блок "ШВ72.50Дв", запустил скрипт и блок увеличился по высоте до 1000. Работает даже если блок, с помощью поворота, "положить на спину" - всё равно он растягивается по своей локальной высоте, а не по глобальной оси У.
Letos вне форума   Ответить с цитированием Вверх
5 пользователя(ей) сказали cпасибо:
AndrianoS (09.01.2021), IStiv (14.03.2019), Megabyte (25.03.2022), wizardpnz (14.03.2019), АлКузнецов (18.03.2020)
Старый 15.03.2019, 09:34   #369
Guamoko
Пользователь
 
Регистрация: 04.04.2018
Адрес: Санкт-Петербург
Сообщений: 34
Сказал(а) спасибо: 18
Поблагодарили 18 раз(а) в 3 сообщениях
Вес репутации: 0
Guamoko на пути к лучшему
По умолчанию

Добрый день.
Домучил свой первый скрипт. Все работает даже лучше чем задумывал. Доволен, аж ладошки потеют. А вот как сохранить не умею.
Скрипт заключен в форму

//-- window Window1
Window1 = { Form : NewForm() };
Props = Window1.Form.Properties;
Window1.Form.Width = 242;
Window1.Form.Height = 233;
Window1.Form.Caption = "Window1";
//-- window Window1 properties

// ....(сам скрипт)

Window1.Button1 = Props.NewButton("Печать");
Window1.Button1.SetLayout(0, 187, 100, 22);
Window1.Button2 = Props.NewButton("Сохранить");
Window1.Button2.SetLayout(136, 187, 100, 22);
//-- window Window1 events

//-- window Window1 ends
Window1.Form.ShowModal();

можно закончить

Window1.Form.Show();
тоже работает
Не знаю что дописать, чтобы можно было сохранить и/или отправить форму с результатами
работы скрипта в печать. Искал в интернете, но не нашел (может не разобрался).
Спасибо.
Guamoko вне форума   Ответить с цитированием Вверх
Старый 15.03.2019, 10:35   #370
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Guamoko Посмотреть сообщение
Добрый день.
Домучил свой первый скрипт. Все работает даже лучше чем задумывал. Доволен, аж ладошки потеют. А вот как сохранить не умею.
Скрипт заключен в форму

//-- window Window1
Window1 = { Form : NewForm() };
Props = Window1.Form.Properties;
Window1.Form.Width = 242;
Window1.Form.Height = 233;
Window1.Form.Caption = "Window1";
//-- window Window1 properties

// ....(сам скрипт)

Window1.Button1 = Props.NewButton("Печать");
Window1.Button1.SetLayout(0, 187, 100, 22);
Window1.Button2 = Props.NewButton("Сохранить");
Window1.Button2.SetLayout(136, 187, 100, 22);
//-- window Window1 events

//-- window Window1 ends
Window1.Form.ShowModal();

можно закончить

Window1.Form.Show();
тоже работает
Не знаю что дописать, чтобы можно было сохранить и/или отправить форму с результатами
работы скрипта в печать. Искал в интернете, но не нашел (может не разобрался).
Спасибо.
По поводу отправки в печать - беглым поиском нашёл, что есть модуль для Nodejs (https://www.npmjs.com/package/ipp), который отправляет в печать (но только печать по сетевому принтеру), но придётся заморочиться и пока неизвестно, удастся ли вообще его подключить.
А по поводу сохранения непонятно - вы собираетесь сохранять просто текст результата работы, или "в красивом варианте" форму с текстом в ней??
Letos вне форума   Ответить с цитированием Вверх
Ответ

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

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базис-Мебельщик 10 systland Базис-мебельщик 10 1264 13.03.2024 22:48
БАЗИС-Мебельщик 7.0 Shadow Базис-мебельщик 7 2230 29.11.2019 10:37
Базис-мебельщик JavaScript ran Ищу работу 0 09.05.2014 10:08


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


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

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