|
|
|
|
|
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..
|
Просмотров: 437858
|
15.06.2018, 13:43
|
#181
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,032 раз(а) в 366 сообщениях
Вес репутации: 345
|
Цитата:
Сообщение от wizardpnz
хочется сделать файл с этими параметрами из которого потом с помощью "родного" скрипта построить всю сцену заново
|
Думаю, наиболее простой способ это сделать - через сохранение настроек, например:
Код:
Action.Properties.Save('my.settings')
|
|
|
15.06.2018, 14:02
|
#182
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 197
|
на каждый шкаф сделанный скриптом, свой файл нужно делать, а потом читать всю папку
но это не интересно
|
|
|
15.06.2018, 16:39
|
#183
|
VIP
Регистрация: 15.11.2008
Адрес: г.Москва
Сообщений: 498
Сказал(а) спасибо: 3,218
Поблагодарили 1,353 раз(а) в 312 сообщениях
Вес репутации: 508
|
Возможно ли скриптом записать в модель данные для сметы?
Т.е аналогично как добавить в ручную материалы в окне Расчета стоимости материалов и комплектующих.
__________________
Обходя разложенные грабли - ты теряешь драгоценный ОПЫТ!
|
|
|
Пользователь сказал cпасибо:
|
|
15.06.2018, 23:15
|
#184
|
VIP
Регистрация: 03.09.2008
Сообщений: 174
Сказал(а) спасибо: 34
Поблагодарили 794 раз(а) в 113 сообщениях
Вес репутации: 367
|
Цитата:
Сообщение от maxgmv
Возможно ли скриптом записать в модель данные для сметы?
Т.е аналогично как добавить в ручную материалы в окне Расчета стоимости материалов и комплектующих.
|
Решение для БМ10, работает аналогично опубликованному скрипту ранее.
Скрипт
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 10 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
|
[свернуть]
|
|
|
7 пользователя(ей) сказали cпасибо:
|
|
20.06.2018, 06:59
|
#185
|
Пользователь
Регистрация: 09.10.2015
Сообщений: 34
Сказал(а) спасибо: 24
Поблагодарили 6 раз(а) в 4 сообщениях
Вес репутации: 0
|
А кто уже пробовал работать с файлом-скриптом на сервере? Вроде у 10 еэта возможность должан быть. Есть в планах разместить скрипт, чтобы другие могли пользоватся, но и в тоже время защитить скрипт от кражи.
|
|
|
20.06.2018, 16:14
|
#186
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 197
|
как то можно получить смету через скрипты
или только перебором и анализом модели на сцене?
или хотя бы программно нажать "смета" и "сформировать заявку на склад"
PS делаю свой вариант сметы и перебор модели, поиск в базе материалов соответствий и тд слишком сложно
|
|
|
11.07.2018, 15:45
|
#187
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 197
|
Цитата:
Сообщение от wizardpnz
есть стандартные скрипты которые лежат в папке импорт экспорт
там собираются размеры панелей и кромки, сюда также можно прикрутить положение на сцене и информацию о контуре и потом сделать импорт на сцену
с этим проблем нет, а как можно получить информацию о повороте объекта и потом применить её обратно при импорте этих данных?
|
БАЗИС 10
Код:
Model.forEachPanel(function(obj) {
//позиция нулевой точки панели относительно начала координат
system.log(obj.Name + " " + Math.round(obj.PositionX) + " " + Math.round(obj.PositionY) + " " + Math.round(obj.PositionZ));
//размеры панели
system.log(obj.GSize.x + " " + obj.GSize.y + " " + obj.GSize.z )
//поворот панели
system.log("AX=" + Math.round(Math.asin(obj.RotMatrix[6]) * 180/Math.PI) );
system.log("AY=" + Math.round(Math.asin(obj.RotMatrix[8]) * 180/Math.PI) );
system.log("AZ=" + Math.round(Math.asin(obj.RotMatrix[1]) * 180/Math.PI) );
})
|
|
|
Пользователь сказал cпасибо:
|
|
11.07.2018, 16:22
|
#188
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,032 раз(а) в 366 сообщениях
Вес репутации: 345
|
Цитата:
Сообщение от wizardpnz
а как можно получить информацию о повороте объекта и потом применить её обратно при импорте этих данных?
|
Для поворота объекта можно из RotMatrix достать оси Y и Z, сохранить их, а при импорте ориентировать панель по этим осям (а присвоение RotMatrix обратно не работает):
Код:
var obj = Model.Selected;
if (obj){
StartEditing(obj);
var rot = obj.RotMatrix;
// Строка ниже не работает
// obj.RotMatrix = rot;
// создаём оси Y и Z на основе матрицы поворота
var y = {
x: rot[4],
y: rot[5],
z: rot[6],
}
var z = {
x: rot[8],
y: rot[9],
z: rot[10],
}
// Тут якобы сохранение этих осей (необязательно всю матрицу сохранять)
// Тут якобы загрузка осей из файла
// Теперь ориентируем объект по осям Y и Z
obj.Orient(z, y);
}
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
11.07.2018, 17:40
|
#189
|
Местный
Регистрация: 02.07.2011
Сообщений: 191
Сказал(а) спасибо: 93
Поблагодарили 105 раз(а) в 44 сообщениях
Вес репутации: 197
|
есть две горизонтальных панели 1000х1000
первую поставил скриптом положение в свойствах показывает 0.0.0
вторую поставил руками положение в свойствах показывает 0.0.1000
как привести к единой точке отсчёта?
|
|
|
11.07.2018, 18:01
|
#190
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,032 раз(а) в 366 сообщениях
Вес репутации: 345
|
Цитата:
Сообщение от wizardpnz
есть две горизонтальных панели 1000х1000
первую поставил скриптом положение в свойствах показывает 0.0.0
вторую поставил руками положение в свойствах показывает 0.0.1000
как привести к единой точке отсчёта?
|
В теории, задать одной панели ориентацию другой, и сдвинуть.
Ориентацию задать можно как описано выше, а вычислить правильный сдвиг за 5 минут не получилось. Вечером попробую подумать, может и найдётся решение. А если вам надо поставить в ту же точку, что другая панель, то можно просто присвоить свойство Position.
|
|
|
Пользователь сказал cпасибо:
|
|
|
|
|
Нижняя навигация
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 01:18. Часовой пояс GMT +3.
|