|
|
|
|
|
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..
|
Просмотров: 425592
|
24.08.2018, 16:03
|
#251
|
Местный
Регистрация: 11.08.2012
Адрес: Киев
Сообщений: 936
Сказал(а) спасибо: 5,370
Поблагодарили 3,884 раз(а) в 874 сообщениях
Вес репутации: 1098
|
Igor_482, а как вычислять значения 3-х векторов для скрипта из желаемых углов X и Y?
|
|
|
26.08.2018, 12:52
|
#252
|
VIP
Регистрация: 03.09.2008
Сообщений: 174
Сказал(а) спасибо: 34
Поблагодарили 794 раз(а) в 113 сообщениях
Вес репутации: 366
|
Цитата:
Сообщение от Tehnik
Igor_482, а как вычислять значения 3-х векторов для скрипта из желаемых углов X и Y?
|
Точнее сказать, подсмотрел - установил необходимый вид и запустил скрипт с кодом
Код:
system.log(JSON.stringify(Action.DS.Camera.ViewDirection));
[свернуть]
Для случая с аксонометрией создал объект "пирамида" с равными сторонами (l) и высотой = Корень(l^2/2), повернул по оси Y на 45 гр., установил углы ракурса параллельно её плоскости и запустил упомянутый код. )))
Последний раз редактировалось Igor_482; 26.08.2018 в 13:33.
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
28.08.2018, 07:46
|
#253
|
VIP
Регистрация: 04.07.2012
Сообщений: 1,946
Сказал(а) спасибо: 3,974
Поблагодарили 3,530 раз(а) в 1,157 сообщениях
Вес репутации: 1043
|
Код:
var Butts_P = Model.Selected.Butts;
var cnt = Model.Selected.Contour;
for (var NButt = 0; NButt < Butts_P.Count; NButt++) {
var El_Butt = Butts_P[NButt];
var Elem_Cnt = cnt[El_Butt.ElemIndex];
}
как для Elem_Сnt получить координаты (x,y) начала и конца?
__________________
Автоматизация автоматизаций на АСУ, ТП и тд и тп..
Комплексное решение
|
|
|
28.08.2018, 13:02
|
#254
|
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
|
Цитата:
Сообщение от bbb i ko
Код:
var Butts_P = Model.Selected.Butts;
var cnt = Model.Selected.Contour;
for (var NButt = 0; NButt < Butts_P.Count; NButt++) {
var El_Butt = Butts_P[NButt];
var Elem_Cnt = cnt[El_Butt.ElemIndex];
}
как для Elem_Сnt получить координаты (x,y) начала и конца?
|
В зависимости от типа элемента. Ниже код для линии и дуги:
Код:
var p1, p2;
if (Elem_Cnt.IsList()) {
p1 = Elem_Cnt.AsLine().Pos1;
p2 = Elem_Cnt.AsLine().Pos2;
}
else if (Elem_Cnt.IsArc()) {
p1 = Elem_Cnt.AsArc().Pos1;
p2 = Elem_Cnt.AsArc().Pos2;
}
Для эллипса и круга нужно уже вычислять точки.
|
|
|
3 пользователя(ей) сказали cпасибо:
|
|
03.09.2018, 10:42
|
#255
|
Местный
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 454
Сказал(а) спасибо: 241
Поблагодарили 1,094 раз(а) в 210 сообщениях
Вес репутации: 386
|
Action.Control.Owner.Render()
где она в 10 версии?
|
|
|
03.09.2018, 11:27
|
#256
|
Местный
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 454
Сказал(а) спасибо: 241
Поблагодарили 1,094 раз(а) в 210 сообщениях
Вес репутации: 386
|
Action.DS.AngleX=15
Action.DS.AngleY=30
f = Action.ModelFilename+'ф.jpg'
Action.Control.SavePicture(f)
// ЧТО СЮДА ВСТАВИТЬ ЧТОБ СОХРАНИЛИСЬ РАЗНЫЕ КАРТИНКИ??? У МЕНЯ СОХРАНЯЮТСЯ ОДИНАКОВЫЕ.
Action.DS.AngleX=15
Action.DS.AngleY=30-50
f = Action.ModelFilename+'фф.jpg'
Action.Control.SavePicture(f)
|
|
|
03.09.2018, 13:44
|
#257
|
VIP
Регистрация: 03.09.2008
Сообщений: 174
Сказал(а) спасибо: 34
Поблагодарили 794 раз(а) в 113 сообщениях
Вес репутации: 366
|
Цитата:
Сообщение от v22884
Action.Control.Owner.Render()
|
в 10 версии
Код:
Action.Control.Owner.Owner.FindComponent('a3Render').Execute();
[свернуть]
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
04.09.2018, 12:46
|
#258
|
Местный
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 454
Сказал(а) спасибо: 241
Поблагодарили 1,094 раз(а) в 210 сообщениях
Вес репутации: 386
|
Цитата:
Сообщение от Igor_482
в 10 версии
Код:
Action.Control.Owner.Owner.FindComponent('a3Render').Execute();
[свернуть]
|
Круто! Где-то есть инструкция по FindComponent?
|
|
|
04.09.2018, 16:55
|
#259
|
VIP
Регистрация: 03.09.2008
Сообщений: 174
Сказал(а) спасибо: 34
Поблагодарили 794 раз(а) в 113 сообщениях
Вес репутации: 366
|
Цитата:
Сообщение от v22884
Круто! Где-то есть инструкция по FindComponent?
|
Функция FindComponent() была освоена через догадки. Для 10-й версии она заменяет метод доступа к объектам Components и Controls по их имени или индексу как это было в 9-й версии.
В 10-й версии доступ по имени объекта более невозможен, а индекс упомянутых объектов насколько понял - динамический, т.е. меняется.
Инструкция )
Код:
function PrintControls(Object, Path) {
var Source = new String();
for (var i = 0; i < Object.ControlCount; i++) {
if (Object.Controls[i].ControlCount > 0) {
Source += PrintControls(Object.Controls[i],
Path + '.' +
Object.Controls[i].Name + '[' +
Object.Controls[i].ComponentIndex + ']');
};
Source += Path + '.' +
Object.Controls[i].Name + '[' +
Object.Controls[i].ComponentIndex + ']\r\n';
};
return Source;
};
function PrintComponents(Object, Path) {
var Source = new String();
for (var i = 0; i < Object.ComponentCount; i++) {
if (Object.Components[i].ControlCount > 0) {
Source += PrintControls(Object.Components[i], Path);
};
if (Object.Components[i].ComponentCount > 0) {
Source += PrintComponents(Object.Components[i],
Path + '.' +
Object.Components[i].Name + '[' +
Object.Components[i].ComponentIndex + ']');
};
Source += Path + '.' +
Object.Components[i].Name + '[' +
Object.Components[i].ComponentIndex + ']\r\n';
};
return Source;
};
var Application = Action.Control.Owner.Owner.Owner;
system.writeTextFile('file.txt', PrintComponents(Application, 'Application[-1]'));
[свернуть]
|
|
|
6 пользователя(ей) сказали cпасибо:
|
|
05.09.2018, 02:06
|
#260
|
Местный
Регистрация: 17.04.2014
Адрес: д.Сибирцево, ателье-уют.рф
Сообщений: 454
Сказал(а) спасибо: 241
Поблагодарили 1,094 раз(а) в 210 сообщениях
Вес репутации: 386
|
"через догадки", "не документированные возможности", " ""Базис-Скрипт""-бонус "
меня это всё очень удивляет.
Как работать?
Продукт должна быть возможность использовать на 100%. А для этого должна быть документация 100% всех свойств и команд.
Что можно сделать с Базис-софтом, чтоб он уже таки дал 100% инструкцию на Базис-Скрипт.
(Видимо единственный способ соизмеримый конкурентный продукт. А так очень похоже на нефтянников.)
|
|
|
Пользователь сказал cпасибо:
|
|
|
|
|
Нижняя навигация
|
|
Опции темы |
|
Опции просмотра |
Линейный вид
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 14:14. Часовой пояс GMT +3.
|