[GastForen Programmierung/Entwicklung JavaScript Illustrator: Pfaden zusammenfügen oder vorderen Pfad abziehen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Illustrator: Pfaden zusammenfügen oder vorderen Pfad abziehen

jekyll
Beiträge gesamt: 2039

29. Jan 2016, 13:49
Beitrag # 1 von 6
Bewertung:
(3274 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Allerseits,
ich habe mir einen Skript gebastelt welche in einer Illu Datei die Farben von die Pfaden als Vollton zu den Farbfelder
hinzufügt etc. .

Code
datRef=activeDocument 
spotFarbNamen=new Array()
for (einSpot=0;einSpot<datRef.spots.length;einSpot++){
if (datRef.spots[einSpot].name!="[Passermarken]"&&datRef.spots[einSpot].name !="[Registration]")spotFarbNamen.push(datRef.spots[einSpot].name)}
for(einObj=datRef.pageItems.length-1;einObj>=0;einObj--){
obj=datRef.pageItems[einObj]
if(String(obj)=="[PathItem ]") {
pfadFuellOps=checkColor(obj.fillColor,spotFarbNamen)
try{
obj.fillColor=pfadFuellOps[0]}
catch(e){}
pfadKontOps=checkColor(obj.strokeColor,spotFarbNamen)
try{
obj.strokeColor=pfadKontOps[0]}
catch(e){}
if(String(pfadFuellOps[1])!=String(undefined))spotFarbNamen.push(pfadFuellOps[1])
if(String(pfadKontOps[1])!=String(undefined))spotFarbNamen.push(pfadFuellOps[1])}}
function checkColor(objCol,spotFarbNamen){
if(String(objCol)=="[CMYKColor]"){
neuSN="C="+String(Math.round(objCol.cyan))+"; M="+String(Math.round(objCol.magenta))+"; Y="+String(Math.round(objCol.yellow))+"; B="+String(Math.round(objCol.black))+";"
neuSNTest=new RegExp(neuSN)
if (neuSNTest.test(spotFarbNamen)!=true){
meinSpot=addNeuSpot(objCol,neuSN)
neueSpotName=neuSN}
else {meinSpot=new SpotColor()
meinSpot.spot=checkSpot(neuSN)}}
else if(String(objCol)=="[RGBColor]"){
neuSN="R="+String(Math.round(objCol.red))+"; G="+String(Math.round(objCol.green))+"; B="+String(Math.round(objCol.blue)+";")
neuSNTest=new RegExp(neuSN)
if (neuSNTest.test(spotFarbNamen)!=true){
meinSpot=addNeuSpot(objCol,neuSN)
neueSpotName=neuSN}
else {meinSpot=new SpotColor()
meinSpot.spot=checkSpot(neuSN)}}
else if(String(objCol)=="[GrayColor]"){
neuSN="G="+String(Math.round(objCol.gray)+";")
objColT=new CMYKColor()
objColT.cyan=0
objColT.magenta=0
objColT.yellow=0
objColT.black=objCol.gray
neuSNTest=new RegExp(neuSN)
if (neuSNTest.test(spotFarbNamen)!=true){
meinSpot=addNeuSpot(objColT,neuSN)
neueSpotName=neuSN}
else {meinSpot=new SpotColor()
meinSpot.spot=checkSpot(neuSN)}}
else{meinSpot=undefined
neueSpotName=undefined}
retour=new Array()
retour[0]=meinSpot
retour[1]=neueSpotName
return retour}
function addNeuSpot(objCol,neuSN){
neuSpot=app.activeDocument.spots.add()
neuSpot.name=neuSN
neuSpot.color=objCol
neuSpot.colorType=ColorModel.SPOT
neuSpot.tint=100
neueFarbe=new SpotColor()
neueFarbe.spot=neuSpot
neueFarbe.tint=100
return neueFarbe}
function checkSpot(neuSN){
datRefSp=app.activeDocument.spots
einSpot=0
check=0
while(check==0&&einSpot<datRefSp.length){
if (datRefSp[einSpot].name==neuSN){
check=1
meinspot=datRefSp[einSpot]}
einSpot++}
return meinspot}


Jetzt würde ich gerne 2 aufeinander folgende gleich farbigen Pfaden zusammen fügen oder wenn die nicht die gleichen Farben haben dann die oberen duplizieren und von den unteren abziehen.

Hat jemand eine Idee wie sich dies lösen lässt?
Von mir aus auch in Applescript :)

Hier 2 Dateien raute1 ist die ausgangs Datei raute2 ist wie es werden sollte.

http://www.download.siscosep.com/raute.zip

Danke
Gruß Sándor


Hier auf der HDS, kann jeder was dazu lernen, sogar die die glauben alles (besser) zu wissen Wink
Das sollten WIR ALLE unterstützen: http://www.hilfdirselbst.ch/...m.cgi?do=membership;
X

Illustrator: Pfaden zusammenfügen oder vorderen Pfad abziehen

pixxxelschubser
Beiträge gesamt: 1659

30. Jan 2016, 15:23
Beitrag # 2 von 6
Beitrag ID: #546498
Bewertung:
(3158 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Sorry jekyll,
ein produktionssicheres Ergebnis zu bekommen, scheint bei diesen Anforderungen extrem schwierig bis unmöglich zu sein.

Fakt 1)
Pathfinderoperationen sind in Illu (bislang) nicht skriptbar. Abhilfe könnte hier eventuell einige per app.doScript aufgerufene Aktionen schaffen. Eventuell sind Teile auch über den seit CS6 neu hinzugekommenen Skriptbefehl executeMenuCommand implementierbar, aber zu Pathfinderoperationen kann ich im Augenblich keine zuverlässige Aussage treffen.

Vielleicht könnte auch das Hinzufügen eines weissen Rechteckes (mit 1% Deckkraft) in Größe der Gesamtgrafik helfen und anschließend per Skript die Transparenz reduzieren. Doch das erzeugt u.U. doppelte Objekte.

Fakt 2)
Das Auslesen der Farben ist mehr als unsicher. Bis heute sind zusätzliche Flächen und Konturen in der Aussehenpalette per Skript nicht auslesbar. Jede einzelne dieser Flächen/Konturen kann aber zusätzliche Farben/Transparenzmodi und oder Transparenzen beinhalten.
(Eventuell könnte man aber auch hier eine Aktion --> verwendete Farben hinzufügen per app.doScript anwenden.)

Fakt 3)
Deckkraftmasken nicht nicht per Skript erfassbar. Und damit sind wir wieder bei Fakt 1.



Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton




als Antwort auf: [#546487]

Illustrator: Pfaden zusammenfügen oder vorderen Pfad abziehen

jekyll
Beiträge gesamt: 2039

30. Jan 2016, 16:01
Beitrag # 3 von 6
Beitrag ID: #546499
Bewertung:
(3141 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,
danke für Dein Antwort.

Es geht bei mir nur um Pfaden welche weder transparenzen oder verläufe enthalten noch Gitter Objekten sind etc.

Die Konturen werden am Anfang gleich von mir bis jetzt zur Pfaden gewandelt.

Wo ist die app.doScript in den Javascript Referenzen beschrieben?
Ich finde "do script" nur in den Applescript Referenz.

Den "executeMenuCommand" finde ich auch nicht hast Du da ne anderen Quelle?
Gruß Sándor


Hier auf der HDS, kann jeder was dazu lernen, sogar die die glauben alles (besser) zu wissen Wink
Das sollten WIR ALLE unterstützen: http://www.hilfdirselbst.ch/...m.cgi?do=membership;


als Antwort auf: [#546498]

Illustrator: Pfaden zusammenfügen oder vorderen Pfad abziehen

pixxxelschubser
Beiträge gesamt: 1659

30. Jan 2016, 16:24
Beitrag # 4 von 6
Beitrag ID: #546500
Bewertung:
(3125 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mittels Transparenz reduzieren kann man in Illu relativ geschickt Pathfinderoperationen per Skipt durchführen – wenn auch mit dem Nachteil von Objektdupletten und dem Erhalt von Originalobjekten behaftet.

Wo ich das beschrieben?
Naja, das ist alles ziemlich schlecht dokumentiert. Und mittlerweile wühle ich mich einfach „quer" die ESTK OMV Objektreferenz.

app.doScript("actionName", "actionSetName")
ist IMHO seit CS5 verfügbar

app.executeMenuCommand seit CS6+ siehe:
https://forums.adobe.com/message/6114502#6114502
Das dürfte diesen ziemlich praktischen Befehl recht ausführlich erklären.



Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton




als Antwort auf: [#546499]

Illustrator: Pfaden zusammenfügen oder vorderen Pfad abziehen

Uwe Laubender
Beiträge gesamt: 4997

31. Jan 2016, 13:53
Beitrag # 5 von 6
Beitrag ID: #546505
Bewertung:
(2985 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jekyll,
eine Übersicht über die DOM-Objekte, Methoden, Properties und Values von Adobe Illustrator kannst Du hier finden:

http://www.jongware.com/idjshelp.html

Die iChm-Dateien sind sehr leicht durchsuchbar.

Das habe ich dort gefunden:

Code
void executeMenuCommand(menuCommandString: string) 
Executes a menu command using the menu shortcut string.
Parameter Type Description
menuCommandString string Menu command shortcut.

*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#546499]

Illustrator: Pfaden zusammenfügen oder vorderen Pfad abziehen

jekyll
Beiträge gesamt: 2039

31. Jan 2016, 19:05
Beitrag # 6 von 6
Beitrag ID: #546510
Bewertung:
(2919 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Merci!
Das hilft schon mal weiter.
Aber die komplizierte Teil kommt erst noch.

Ich melde mich wahrscheinlich dazu wieder :)
Gruß Sándor


Hier auf der HDS, kann jeder was dazu lernen, sogar die die glauben alles (besser) zu wissen Wink
Das sollten WIR ALLE unterstützen: http://www.hilfdirselbst.ch/...m.cgi?do=membership;


als Antwort auf: [#546500]
X

Aktuell

InDesign / Illustrator
axaio_PR_Bild_300x300_08_21

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
09.09.2021 - 17.12.2021

Digicomp Academy, Zürich
Donnerstag, 09. Sept. 2021, 13.00 Uhr - Freitag, 17. Dez. 2021, 19.00 Uhr

Lehrgang

Steigen Sie in die Welt des Publishings ein und erlangen Sie die Zertifizierung von Publishing NETWORK. Lernen Sie in diesem Lehrgang Druckmedien professionell zu erarbeiten, druckfertige PDFs zu erstellen und CI/CD-Vorgaben umzusetzen.

Preis: 6'300.– zzgl. 7.7% MWST
Dauer: 18 Tage(ca. 126 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberater AT digicomp DOT ch