|
|
|
|
|
21.03.2018, 14:48
|
|
Обсуждение скриптов в Системе Базис
Letos
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
21.03.2018, 14:48
Рейтинг:
()
Если вы не знаете, или не уверены, куда задавать вопрос по скриптам в Системе Базис, то эта тема для вас.
Обратите внимание на полезные ответы в этой теме!
|
Просмотров: 243416
|
2 пользователя(ей) сказали cпасибо:
|
|
29.05.2018, 23:38
|
#61
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от Tehnik
Скрипты с нодами зто не для БМ9, да?
|
Да, это уже для 10-й версии.
|
|
|
Пользователь сказал cпасибо:
|
|
31.05.2018, 15:55
|
#62
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
|
сделал запрос SQL в базу Базиса которая выдает список сопутствующих материалов и количество
Код:
select MATERIAL.NAME_MAT, ATTEND_MAT_MAT.COUNT_ATT ,
(select MATERIAL.NAME_MAT FROM MATERIAL WHERE MATERIAL.ID_M = ATTEND_MAT_MAT.ID_ATT_M)
from MATERIAL, ATTEND_MAT_MAT
WHERE ATTEND_MAT_MAT.ID_M = MATERIAL.ID_M AND MATERIAL.NAME_MAT = 'здесь пишем название материала который ищем'
|
|
|
4 пользователя(ей) сказали cпасибо:
|
|
06.06.2018, 09:31
|
#63
|
Местный
Регистрация: 11.04.2018
Адрес: г.Маркс
Сообщений: 166
Сказал(а) спасибо: 57
Поблагодарили 244 раз(а) в 46 сообщениях
Вес репутации: 139
|
Translate
Здравствуйте.
Не смещает блок методом Translate(NewVector(100, 100, 100));.
Соответствующие методы как Rotate,Orient выполняют свои действия применительно блока, а Translate к блоку нет, только работает если применить к панели.
Спасибо
|
|
|
06.06.2018, 11:03
|
#64
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от Максим Геннадьевич
Здравствуйте.
Не смещает блок методом Translate(NewVector(100, 100, 100));.
Соответствующие методы как Rotate,Orient выполняют свои действия применительно блока, а Translate к блоку нет, только работает если применить к панели.
Спасибо
|
У себя проверил (в 10-й версии) - работает. Можете пример скрипта скинуть, где не работает смещение? И, желательно указать версию Базиса.
|
|
|
06.06.2018, 16:21
|
#65
|
Местный
Регистрация: 11.04.2018
Адрес: г.Маркс
Сообщений: 166
Сказал(а) спасибо: 57
Поблагодарили 244 раз(а) в 46 сообщениях
Вес репутации: 139
|
Цитата:
Сообщение от Letos
У себя проверил (в 10-й версии) - работает. Можете пример скрипта скинуть, где не работает смещение? И, желательно указать версию Базиса.
|
Базис 8 (Народная).
Код взят из скрипта базиса Параметрические блоки->Тумба->Редактируемая тумба. В конце прописываю
EndParametricBlock();
if (!ParametricBlock){
CurBlock.Position = CurPos;
CurBlock.Translate(NewVector(100, 100, 100));}//добавил
Другие методы работают, если установить вместо Translate. Например
CurBlock.Orient(AxisY,NewVector(100, 100, 100));
или
CurBlock.Rotate(Axis_Y,-90);
|
|
|
06.06.2018, 20:15
|
#66
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от Максим Геннадьевич
Базис 8 (Народная).
Код взят из скрипта базиса Параметрические блоки->Тумба->Редактируемая тумба. В конце прописываю
EndParametricBlock();
if (!ParametricBlock){
CurBlock.Position = CurPos;
CurBlock.Translate(NewVector(100, 100, 100));}//добавил
Другие методы работают, если установить вместо Translate. Например
CurBlock.Orient(AxisY,NewVector(100, 100, 100));
или
CurBlock.Rotate(Axis_Y,-90);
|
Попробовал в 8-й народной - алерт выдавал правильные значения. Вы может и не видели изменений потому, что при движении курсора тумба меняет свою позицию на позицию курсора. Попробуйте изменить более "заметный" кусок кода, например Action.OnClick:
Код:
Action.OnClick = function() {
Action.OnMove = undefined;
//3 новые строки
if (!ParametricBlock)
CurBlock.Translate(NewVector(100, 100, 100));
Action.OnClick = undefined; // чтобы при следующих кликах тумба не "убегала"
Action.ShowPoints = false;
Action.Hint = 'Укажите параметры тумбы';
};
После этого запустите скрипт и поставьте тумбу в начало координат - она должна сместиться на 100 по всем осям - у меня это отработало.
|
|
|
Пользователь сказал cпасибо:
|
|
07.06.2018, 09:07
|
#67
|
Местный
Регистрация: 11.04.2018
Адрес: г.Маркс
Сообщений: 166
Сказал(а) спасибо: 57
Поблагодарили 244 раз(а) в 46 сообщениях
Вес репутации: 139
|
Цитата:
Сообщение от Letos
После этого запустите скрипт и поставьте тумбу в начало координат - она должна сместиться на 100 по всем осям - у меня это отработало.
|
Спасибо.Попробую.
Применил смещение к дну и корпус строю по отношению от дна
Подскажите пожалуйста реализацию.
Устанавливаю NewCombo(''Тип шкафа', 'Тип1\nТип2'')
Если "тип 1" то создавало Door = Prop.NewGroup('Дверь'),
а если "тип 2" то создавало Box = Prop.NewGroup('Ящик')
|
|
|
07.06.2018, 09:55
|
#68
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от Максим Геннадьевич
Спасибо.Попробую.
Применил смещение к дну и корпус строю по отношению от дна
Подскажите пожалуйста реализацию.
Устанавливаю NewCombo(''Тип шкафа', 'Тип1\nТип2'')
Если "тип 1" то создавало Door = Prop.NewGroup('Дверь'),
а если "тип 2" то создавало Box = Prop.NewGroup('Ящик')
|
Лучше использовать свойство ItemIndex у комбо, которое указывает на индекс выбранной строки. Есть два варианта решения:
Код:
var combo = NewCombo('Тип шкафа', 'Тип1\nТип2');
// какой-то ещё код
//Вариант 1
switch (combo.ItemIndex){
case 0:
Door = Prop.NewGroup('Дверь');
// какой-то ещё код
break;
case 1:
Box = Prop.NewGroup('Ящик')
// какой-то ещё код
break;
}
//Вариант 2
if (combo.ItemIndex == 0){
Door = Prop.NewGroup('Дверь');
// какой-то ещё код
}
else if (combo.ItemIndex == 1){
Box = Prop.NewGroup('Ящик')
// какой-то ещё код
}
Думаю, вы не только одно свойство создавать будете, а еще какие-то операции проводить в связи с выбранным типом. Хочу дать совет - для каждого типа лучше создать отдельную функцию, и в зависимости от выбранного типа её вызывать, так код, имхо, понятнее будет. На примере второго варианта:
Код:
function MakeType1(){
Door = Prop.NewGroup('Дверь');
// какой-то ещё код
}
function MakeType2(){
Box = Prop.NewGroup('Ящик');
// какой-то ещё код
}
if (combo.ItemIndex == 0){
MakeType1();
}
else if (combo.ItemIndex == 1){
MakeType2();
}
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
08.06.2018, 08:55
|
#69
|
Местный
Регистрация: 11.04.2018
Адрес: г.Маркс
Сообщений: 166
Сказал(а) спасибо: 57
Поблагодарили 244 раз(а) в 46 сообщениях
Вес репутации: 139
|
Извиняюсь за навязчивость, просто негде не встретил. Есть такой скрипт? Например создаю шкаф и в него устанавливается сушка, но сушка не рисуется, а учитывается только в смете. Если можно подскажите направление, сам код постараюсь написать сам.
Спасибо
|
|
|
08.06.2018, 09:13
|
#70
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от Максим Геннадьевич
Извиняюсь за навязчивость, просто негде не встретил. Есть такой скрипт? Например создаю шкаф и в него устанавливается сушка, но сушка не рисуется, а учитывается только в смете. Если можно подскажите направление, сам код постараюсь написать сам.
Спасибо
|
Попробуйте поиграться с видимостью объекта:
Код:
obj.Visible = false;
|
|
|
|
|
|
Нижняя навигация
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 22:49. Часовой пояс GMT +3.
|