|
|
|
|
|
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..
|
Просмотров: 434384
|
07.08.2018, 11:22
|
#241
|
VIP
Регистрация: 04.07.2012
Сообщений: 1,956
Сказал(а) спасибо: 3,990
Поблагодарили 3,545 раз(а) в 1,167 сообщениях
Вес репутации: 1048
|
Цитата:
Сообщение от Анатолий.ru
Выслушаю ваше предложение )
|
у меня была похожая задача - нужно было определить прямоугольность именно внешнего контура. Не нашел другого варианта, как обойти периметр:
Код:
SelPanel = Panel;
Contor_Panel = SelPanel.Contour;
div = 10;
del = 0.001;
end = Contor_Panel.Max;
st = Contor_Panel.Min;
x1 = st.x;
y1 = st.y;
x2 = end.x;
y2 = end.y;
x1 = x1 + del*((x2-x1)/Math.abs(x2-x1));
x2 = x2 - del*((x2-x1)/Math.abs(x2-x1));
y1 = y1 + del*((y2-y1)/Math.abs(y2-y1));
y2 = y2 - del*((y2-y1)/Math.abs(y2-y1));
step = ((x2-x1) / div);
c = 1;
x = x1;
while (x != x2) {
Rect = Contor_Panel.IsPointInside(x, y1);
if (!Rect) break;
Rect = Contor_Panel.IsPointInside(x, y2);
if (c > div || !Rect) break;
x = x + step;
c++
}
y = y1;
step = ((y2-y1) / div);
c = 1;
if (Rect) {
while (y != y2) {
Rect = Contor_Panel.IsPointInside(x1, y);
if (!Rect) break;
Rect = Contor_Panel.IsPointInside(x2, y);
if (c > div || !Rect) break;
y = y + step;
c++
}
}
if (Rect) {
Result=0;
}
else {
Result=1;
}
__________________
Автоматизация автоматизаций на АСУ, ТП и тд и тп..
Комплексное решение
|
|
|
13.08.2018, 18:04
|
#242
|
VIP
Регистрация: 04.07.2012
Сообщений: 1,956
Сказал(а) спасибо: 3,990
Поблагодарили 3,545 раз(а) в 1,167 сообщениях
Вес репутации: 1048
|
Столкнулся с такой ситуацией: при построении панели скриптом, если указываю
Код:
HPanel.TextureOrientation = TextureOrientation.None
то происходит замена длины на ширину. Это косяк Базиса или я что-то не понимаю? (нужно просто знать, чтобы строить панели возможно изначально наоборот, понимая что скрипт панель все равно "перевернет")
__________________
Автоматизация автоматизаций на АСУ, ТП и тд и тп..
Комплексное решение
|
|
|
13.08.2018, 20:06
|
#243
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от bbb i ko
Столкнулся с такой ситуацией: при построении панели скриптом, если указываю
Код:
HPanel.TextureOrientation = TextureOrientation.None
то происходит замена длины на ширину. Это косяк Базиса или я что-то не понимаю? (нужно просто знать, чтобы строить панели возможно изначально наоборот, понимая что скрипт панель все равно "перевернет")
|
TextureOrientation.None отключает направление текстуры и Базис по-своему пересчитывает длину и ширину панели. Вручную потыкал и вроде алгоритм такой: если до отключения направления текстуры она была "по вертикали", то ничего не меняется, а если была "по горизонтали", то длина и ширина поменяются местами.
|
|
|
Пользователь сказал cпасибо:
|
|
18.08.2018, 20:45
|
#244
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
|
Model.forEach(function(obj){
obj.Selected = true;
DeleteObject(obj);
})
как удалить выделенные объекты ? Этот цикл не успевает удалять все ранее построенные, с скрипт уже начинает строить новые.
нашёл
Del = []
Model.forEach(function(obj){ Del.push(obj) });
for(i=Del.length-1;i>=0;i--) {
DeleteObject(Del[i]);
};
но думаю есть метод удалить выделенные
Последний раз редактировалось wizardpnz; 18.08.2018 в 21:16.
|
|
|
24.08.2018, 09:52
|
#245
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
|
Как сделать вид стандартная проекция скриптом , не нашёл горячую кнопку ?
Последний раз редактировалось wizardpnz; 24.08.2018 в 10:43.
|
|
|
24.08.2018, 10:12
|
#246
|
VIP
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 10,580
Сказал(а) спасибо: 14,588
Поблагодарили 20,026 раз(а) в 6,492 сообщениях
Вес репутации: 5258
|
Цитата:
Сообщение от wizardpnz
Как сделать вид стандартная проекция скриптом , не нашёл горячую кнопку ?
|
Что за вид такой "Стандартная проекция" ?
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
|
|
|
24.08.2018, 10:45
|
#247
|
Местный
Регистрация: 13.11.2010
Адрес: Санкт-Петербург
Сообщений: 343
Сказал(а) спасибо: 407
Поблагодарили 849 раз(а) в 221 сообщениях
Вес репутации: 368
|
Это сброс по умолчанию 3D вид с углами 20 -20
__________________
Mess with the Best, Die like the REST!
|
|
|
Пользователь сказал cпасибо:
|
|
24.08.2018, 10:56
|
#248
|
VIP
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 10,580
Сказал(а) спасибо: 14,588
Поблагодарили 20,026 раз(а) в 6,492 сообщениях
Вес репутации: 5258
|
Цитата:
Сообщение от L0fD
Это сброс по умолчанию 3D вид с углами 20 -20
|
Тогда это одно и то же что и Аксонометрия. Для неё можно назначить горячую клавишу :
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
|
|
|
24.08.2018, 11:00
|
#249
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 196
|
эта кнопка не разворачивает под углом 20 20, поэтому хочу скриптом
|
|
|
24.08.2018, 11:41
|
#250
|
VIP
Регистрация: 03.09.2008
Сообщений: 174
Сказал(а) спасибо: 34
Поблагодарили 794 раз(а) в 113 сообщениях
Вес репутации: 367
|
Цитата:
Сообщение от wizardpnz
Как сделать вид стандартная проекция скриптом?
|
Стандартная проекция
Код:
Action.DS.Camera.RotateTo(NewVector(0.3213938048432697,
0.34202014332566877,
0.8830222215594891)); //Повернуть камеру
Action.Control.ViewAll(); //Показать все
[свернуть]
Аксонометрия
Код:
Action.DS.Camera.RotateTo(NewVector(0.5773502691896255,
0.5773502691896255,
0.5773502691896255)); //Повернуть камеру
Action.Control.ViewAll(); //Показать все
[свернуть]
|
|
|
11 пользователя(ей) сказали cпасибо:
|
|
|
|
|
Нижняя навигация
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 14:25. Часовой пояс GMT +3.
|