|
|
|
|
|
06.06.2017, 08:56
|
|
БАЗИС 10 - Скрипты
systland
VIP
Регистрация: 30.10.2007
Адрес: Москва
Сообщений: 565
Сказал(а) спасибо: 303
Поблагодарили 451 раз(а) в 189 сообщениях
06.06.2017, 08:56
Рейтинг:
()
Обмениваемся , задаем вопросы, отвечаем... Все, что касается скриптов в БМ 10 в этой теме.
Последний раз редактировалось systland; 26.12.2017 в 11:52..
|
Просмотров: 437178
|
06.02.2018, 10:38
|
#81
|
Новичок
Регистрация: 21.09.2017
Сообщений: 19
Сказал(а) спасибо: 15
Поблагодарили 4 раз(а) в 2 сообщениях
Вес репутации: 0
|
Цитата:
Сообщение от Letos
установка схемы идет через функцию MountScheme();
|
где можно по подробней про него почитать? как в него задавать схемы по условию из файла, панели должны быть уже занесёнными в модель или только что созданными и т.д. и т.п.? гугл со мной сегодня отказывается сотрудничать, увы
|
|
|
06.02.2018, 11:24
|
#82
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,032 раз(а) в 366 сообщениях
Вес репутации: 345
|
Цитата:
Сообщение от Sergenald
где можно по подробней про него почитать? как в него задавать схемы по условию из файла, панели должны быть уже занесёнными в модель или только что созданными и т.д. и т.п.? гугл со мной сегодня отказывается сотрудничать, увы
|
Думаю, мало где, кроме форума. По поводу "схемы по условию из файла" - не совсем понятно, что Вы имели в виду. Панели, на которые устанавливаются схемы должны существовать - и не важно, были эти панели уже в модели, или только созданы этим же скриптом.
Наверное самая детальная официальная информация находится в Руководстве Пользователя. Также есть этот форум, где уже можно узнать поподробнее от тех, кто уже сталкивался с подобными проблемами. Так что спрашивайте, что Вас интересует и мы постараемся помочь.
|
|
|
Пользователь сказал cпасибо:
|
|
06.02.2018, 11:48
|
#83
|
Новичок
Регистрация: 21.09.2017
Сообщений: 19
Сказал(а) спасибо: 15
Поблагодарили 4 раз(а) в 2 сообщениях
Вес репутации: 0
|
Цитата:
Сообщение от Letos
"схемы по условию из файла" - не совсем понятно, что Вы имели в виду.
|
Попробую по другому тогда сформулировать. Есть файл в котором хранятся схемы. В нём есть допустим две, для крепежа боковины с горизонталями. одна с заданным отступом от торца, вторая симметричная. Корпус задаётся из диалогового окна, и если в окне не стоит галка об установке фасадов, то из файла на него устанавливается симметричная, если фасад есть, то с отступом. Для этого мне бы знать: 1) как получать список всех схем из файла Fasteners. 2) Как из списка вытащить нужную. 3) Как позиционировать схему относительно базовой точки, если она построится не в нужную сторону. Про установку на панели вроде понятно
|
|
|
06.02.2018, 12:27
|
#84
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,032 раз(а) в 366 сообщениях
Вес репутации: 345
|
Цитата:
Сообщение от Sergenald
Попробую по другому тогда сформулировать. Есть файл в котором хранятся схемы. В нём есть допустим две, для крепежа боковины с горизонталями. одна с заданным отступом от торца, вторая симметричная. Корпус задаётся из диалогового окна, и если в окне не стоит галка об установке фасадов, то из файла на него устанавливается симметричная, если фасад есть, то с отступом. Для этого мне бы знать: 1) как получать список всех схем из файла Fasteners. 2) Как из списка вытащить нужную. 3) Как позиционировать схему относительно базовой точки, если она построится не в нужную сторону. Про установку на панели вроде понятно
|
1, 2. Документированных возможностей нет, но когда-то писал костыль для доступа к параметрической фурнитуре - попробую найти и выложить.
3. Если вы про смену начальной/конечной точки установки по схеме, то это четвертый параметр в функции (в примерe это NewVector(0, 0, 0)):
PHP код:
scheme.Value.MountScheme(p1, p2, FurniturePosition.Inside, NewVector(0, 0, 0));
Тогда чтобы изменить направление, достаточно изменить этот параметр на точку, которая ближе к будущей начальной точке, чем к конечной.
Например: установка на стык фронтальной и вертикальной панелей. Линия стыка идет по оси У от (допустим) 0 до 1000. Из примера выше видно, что базовая точка (0, 0, 0). Значит начальной точкой установки будет точка, ближайшая к базовой, то есть (x, 0, z). Если нужно поменять начальную и конечную точку установки (то есть устанавливать не снизу вверх, а сверху вниз), то нужно задать другую базовую точку, которая ближе к будущей начальной точке, чем к конечной, например (0, 1000, 0).
|
|
|
3 пользователя(ей) сказали cпасибо:
|
|
06.02.2018, 13:01
|
#85
|
Новичок
Регистрация: 21.09.2017
Сообщений: 19
Сказал(а) спасибо: 15
Поблагодарили 4 раз(а) в 2 сообщениях
Вес репутации: 0
|
Цитата:
Сообщение от Letos
Документированных возможностей нет
|
это конечно печально. Я вот думаю, у поля фурнитуры же были Save/Load, попробую схемы сохранять отдельными xml'ьками. Их не так много и они редко меняются.
С остальным - понятно, спасибо)
|
|
|
07.02.2018, 01:16
|
#86
|
Пользователь
Регистрация: 09.10.2015
Сообщений: 34
Сказал(а) спасибо: 24
Поблагодарили 6 раз(а) в 4 сообщениях
Вес репутации: 0
|
Подскажите пожалуйста, как сделать чтобы при смене из списка меню, скрипт внось считывал все значения . Почему то скрипт проходит раз весь скрипт и все, дальше не реагирует. Чего не хватает?
Скрытый текст
/-- window Window1
Window1 = { Form : NewForm() };
Props = Window1.Form.Properties;
Window1.Form.Width = 706;
Window1.Form.Height = 343;
Window1.Form.Caption = "Window1";
//-- window Window1 properties
Window1.napr = Props.NewCombo("Направляющие","");
Window1.napr.SetLayout(10, 10, 250, 25);
Window1.napr.AlignWithMargins = true;
Window1.napr.SetMargins(3, 3, 3, 3);
Window1.napr.ItemIndex = 1;
Window1.napr.ComboItems = ["Ролиоквые", "Телескопические", "Скрытого монтажа"];
Window1.napr_r = Props.NewCombo("","");
Window1.napr_r.SetLayout(260, 10, 150, 22);
Window1.napr_r.Visible = true;
Window1.napr_r.ComboItems = ["Китай", "Blum"];
Window1.Button1 = Props.NewButton("Включить");
Window1.Button1.SetLayout(10, 65, 100, 22);
Window1.Button2 = Props.NewButton("Отключить");
Window1.Button2.SetLayout(110, 65, 100, 22);
var typ = Window1.napr.ItemIndex;
switch (typ) {
case 0:
Window1.napr_r.Visible = true;
break;
case 1:
Window1.napr_r.Visible = false;
break;
case 2:
Window1.napr_r.Visible = false;
break;
}
Window1.Form.ShowModal();
[свернуть]
|
|
|
07.02.2018, 09:33
|
#87
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,032 раз(а) в 366 сообщениях
Вес репутации: 345
|
Цитата:
Сообщение от Timofeyon
Подскажите пожалуйста, как сделать чтобы при смене из списка меню, скрипт внось считывал все значения . Почему то скрипт проходит раз весь скрипт и все, дальше не реагирует. Чего не хватает?
|
Не хватает обработчика на изменение значения:
PHP код:
Window1.napr.OnValueChange = function (){
//Тут должен быть код, который выполняется при изменении
// значения переменной napr
}
|
|
|
4 пользователя(ей) сказали cпасибо:
|
|
08.02.2018, 15:50
|
#88
|
Пользователь
Регистрация: 09.10.2015
Сообщений: 34
Сказал(а) спасибо: 24
Поблагодарили 6 раз(а) в 4 сообщениях
Вес репутации: 0
|
Кто моежет написать или поделится кодом для сохранений значений в файл. Как было в "Моя первая тумбочка 2". Там можно было построить тумбочку, а потом если надо заново зайти в модель (кнопка редактировать) и изменить. Было как то так ...
Скрытый текст
FileOptions = 'Настройки.xml';
MakeProperties();
Action.Properties.Load(FileOptions);
Action.OnFinish = function()
{
Action.Properties.Save(FileOptions);
}
[свернуть]
|
|
|
08.02.2018, 16:39
|
#89
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,032 раз(а) в 366 сообщениях
Вес репутации: 345
|
Цитата:
Сообщение от Timofeyon
Кто моежет написать или поделится кодом для сохранений значений в файл. Как было в "Моя первая тумбочка 2". Там можно было построить тумбочку, а потом если надо заново зайти в модель (кнопка редактировать) и изменить. Было как то так ...
Скрытый текст
FileOptions = 'Настройки.xml';
MakeProperties();
Action.Properties.Load(FileOptions);
Action.OnFinish = function()
{
Action.Properties.Save(FileOptions);
}
[свернуть]
|
А чем вас этот код не устраивает? Работает, состояние свойств сохраняет, при повторном запуске загружает.
|
|
|
09.02.2018, 08:44
|
#90
|
Новичок
Регистрация: 21.09.2017
Сообщений: 19
Сказал(а) спасибо: 15
Поблагодарили 4 раз(а) в 2 сообщениях
Вес репутации: 0
|
Цитата:
Сообщение от Timofeyon
Там можно было построить тумбочку, а потом если надо заново зайти в модель (кнопка редактировать) и изменить
|
у меня кнопка "редактировать" появлялась только если модель создаётся в параметрическом блоке:
Скрытый текст
korp = BeginParametricBlock("Корпус");
//создание панелей
EndParametricBlock(); [свернуть]
Добавлено через 2 минуты
Цитата:
Сообщение от Sergenald
у фурнитуры же были Save/Load, попробую схемы сохранять отдельными xml'ьками.
|
и да - не прокатило придётся выбирать вручную
|
|
|
|
|
|
Нижняя навигация
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 14:30. Часовой пояс GMT +3.
|