Уникальные идентификаторы объектам слоя, страницы, документа

Статус
Закрыто для дальнейших ответов.

GoodvinVV

Участник
Топикстартер
Сообщения
85
Реакции
2
Есть ли способ создать уникальные идентификаторы объектам слоя, страницы, документа или они есть?
Например illustrator.PatchItem."id" ;]] , нужно для поиска созданных программой, но не скопированных пользователем "PatchItem". (java либо vb)
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
id нет
можно забить идентификатор в свойство note

(кстати, нет никаких patchItem)
 

GoodvinVV

Участник
Топикстартер
Сообщения
85
Реакции
2
ясно что нет..., **.note однако также как и **.name наследуется копиям если "копи-пастить" через буфер или дублировать, что не гуд
 

GoodvinVV

Участник
Топикстартер
Сообщения
85
Реакции
2
Dim PP As Illustrator.PageItems
PP.Index это подойдет или нет?
в *.note после создания каких либо объектов писать их PP.Index ..и поиск делать по *.note но сравнивать с PP.Index ... может сработает:)
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Может?
Код:
Tag
A label associated with a specific piece of artwork. Tags allows you to assign an unlimited number of
key-value pairs to any page item in a document.
 

GoodvinVV

Участник
Топикстартер
Сообщения
85
Реакции
2
tagRef.Value также не подходит по причине наследования для копий ...проверено
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Variable используйте, при копировании не передается
 
  • Спасибо
Реакции: dumbm1

GoodvinVV

Участник
Топикстартер
Сообщения
85
Реакции
2
не могу понять как Variable создавать и использовать...:(
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
var myVar = docRef.variables.add();
myVar.kind = VariableKind.VISIBILITY;
myVar.name = myId;
myVar.pageItems.add(myItem);

примерно так
 
  • Спасибо
Реакции: dumbm1

GoodvinVV

Участник
Топикстартер
Сообщения
85
Реакции
2
myVar.pageItems.add(myItem);

upload_2013-11-29_18-29-42.png


нет такой возможности
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
а, ну да, наоборот надо

myItem.visibilityVariable = myVar;
 
  • Спасибо
Реакции: dumbm1

GoodvinVV

Участник
Топикстартер
Сообщения
85
Реакции
2
ну вот... с созданием (Variable) разобрались:
Код:
For Each pIT In ActiveDocument.ActiveLayer.PageItems
                      Dim myVar As Illustrator.Variable = AiApp.ActiveDocument.Variables.Add()
                        myVar.Kind = AiVariableKind.aiVisibility
                        myVar.Name = pIT.Name & i
                        pIT.VisibilityVariable = myVar
Next
осталось понять как с этим дальше работать...
допустим у меня 10 объектов на активном слое с именем pIT.Name,
как создать ссылку на объект у которого myVar.Name = pIT.Name & i
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
переменную найти по имени, и посмотреть что у нее в pageItems
 
  • Спасибо
Реакции: dumbm1
Статус
Закрыто для дальнейших ответов.