[AI CS4-CS6] Точка трансформации

collerok

Участник
Топикстартер
Сообщения
526
Реакции
19
Как в скрипте JS задать точку, относительно которой происходит перемещение.
Имеется ввиду вот это:

вапрв.png
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Вопрос неправильный. Правильный вопрос звучит так "как в скрипте повернуть (трансформировать) обьект?" Ответ на этот вопрос содержит в себе ответ на ваш, ибо "точка трансформации" задается специальной константой одним из параметров.
 

collerok

Участник
Топикстартер
Сообщения
526
Реакции
19
например, при использовании свойства
.position = [a,b];
как каким образом задать эту точку специальной константой одним из параметров?
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
да никак. посчитайте эти координаты с учетом нужной точки сначала. либо через translate делайте, и считайте смещения опять же от нужной точки. у вас же ее координаты есть
 
  • Спасибо
Реакции: _MBK_

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
да никак. посчитайте эти координаты с учетом нужной точки сначала. либо через translate делайте, и считайте смещения опять же от нужной точки. у вас же ее координаты есть
Топикстартер имеет в виду как задать угол объекта, относительно которого будет производиться трансформация?Относительно произвольной же точки можно, только временно поместив один из углов (центров)объекта в нее.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Топикстартер имеет в виду как задать угол объекта, относительно которого будет производиться трансформация?Относительно произвольной же точки можно, только временно поместив один из углов (центров)объекта в нее.

а где ты видишь трансформацию? перемещение - это translate. transform делает scale и rotate, но про них речи не было.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
На панельке скриншота - все описанные действия. Я так понял, имелось в виду перемещение при трансформации. Топикстартер так и не дал вразумительный ответ, что именно ему надо.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
для одного объекта ничем, а если много перенести, то смещение для всех одно, достаточно будет один раз посчитать
 

Oleg Butrin

20 лет на форуме
Сообщения
1 990
Реакции
1 216
Код:
app.activeWindow.transformReferencePoint = AnchorPoint.TOP_LEFT_ANCHOR;
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851

Oleg Butrin

20 лет на форуме
Сообщения
1 990
Реакции
1 216
Кстати, если есть у кого свободная минутка. Сделайте текстовый экшн с одним действием: установка reference point в центральное положение.
У меня делает странное: при выполнении готового экшена устанавливает референс пойнт не в центр, а в правый нижний угол.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Ты про иллюстратор сейчас? А почему экшн? Хотя я все равно с пылесоса
 

Oleg Butrin

20 лет на форуме
Сообщения
1 990
Реакции
1 216
Экшн потому, что иначе не добраться до выбора reference point. А мне интересно.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
У меня делает странное: при выполнении готового экшена устанавливает референс пойнт не в центр, а в правый нижний угол.
Похоже как, действительно глобальный баг иллюстратора, сохраняется в экшн правильно, но при выполнении точка устанавливается именно в правый нижний. Возможно, существует обходной способ доступа к этой настройке через Application.preferences, но я особой надобности копать не вижу - зачем, если в каждой операции нужный угол параметром задается? 'hz'
 

collerok

Участник
Топикстартер
Сообщения
526
Реакции
19
Кстати, если есть у кого свободная минутка. Сделайте текстовый экшн с одним действием: установка reference point в центральное положение.
У меня делает странное: при выполнении готового экшена устанавливает референс пойнт не в центр, а в правый нижний угол.
или я не понял, или у меня правильно работает )
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
существует обходной способ доступа к этой настройке через Application.preferences,
Если тебе еще это интересно, то, таки да, существует. У меня работает такой код:
Код:
preferences.setIntegerPreference("plugin/Transform/AnchorPoint",1);
alert(preferences.getIntegerPreference("plugin/Transform/AnchorPoint"));
Вместо единицы нужно ставить номера углов слева направо сверху вниз (0:LeftTop, 1:CenterTop, 2:RightTop,...)
 
  • Спасибо
Реакции: sylvio и dik973

collerok

Участник
Топикстартер
Сообщения
526
Реакции
19
как-нибудь нужно будет пробовать, пока что меня устроило делать через расчет нужных смещений