Antworten auf deine Fragen:
Neues Thema erstellen

Rearrange Artboard

KapitaenNet

Icon Designer

Hallo,

ich habe ein kleines Javascript geschrieben, um Artboards zu erstellen.

var doc = activeDocument;
var posx=doc.artboards.length * 256 + 10;
var btn=doc.artboards.length * 256 + 10 + 256;
doc.artboards.add([posx, 456, btn, 200]);

Die Artboards sollen dann als Grid ausgerichtet werden.
Wenn ich jedoch Parameter angebe, erhalte ich die Fehlermeldung, dass rearrangeArtboards keine Funktion ist
Ohne Parameterangabe erhalte ich keine Fehlermeldung, es passiert aber auch nichts, obwohl es für jeden Parameter einen Defaultwert gibt.
Mit Google und Co finde ich leider auch kein Musterbeispiel.

//doc.rearrangeArtboards([DocumentArtboardLayout.GridByRow , 2 , 20 , true]);

Gruß

Jürgen
 

mm100

Benutzer

doc.rearrangeArtboards([DocumentArtboardLayout.GridByRow , 2 , 20 , true]);

Hallo KapitaenNet, ich kann leider nicht wirklich Scripte schreiben. Aber du verwendest ein Array für die Argumente in den runden Klammern. Das kann so nicht stimmen.
So steht es im Adobe Objektmodellviewer:
Document.rearrangeArtboards (artboardLayout: DocumentArtboardLayout , artboardRowsOrCols: Int32 , artboardSpacing: number , artboardMoveArtwork: Boolean )

Ich würde die eckigen Klammern weglassen.
doc.rearrangeArtboards(DocumentArtboardLayout.GridByRow , 2 , 20 , true);
 

KapitaenNet

Icon Designer

Hallo mm100,
die Variante ohne eckige Klammern habe ich als erstes ohne Erfolg verwendet.
Die aktuelle auskommentierte Variante mit eckigen Klammern war nur eine Verzweiflungstat. :)

Ich habe nun festgestellt, dass es zur Not auch ohne ReArrange geht.
Wenn man Zeichenflächen manuell mit dem Button "Neue Zeichenfläche" hinzufügt, werden diese nur innerhalb des Arbeitsbereiches hinzugefügt. Jede neue Zeichenfläche wird rechts angefügt und am Ende des Arbeitsbereiches angekommen erhält man eine Fehlermeldung.
Mit dem Script werden neue Zeichenflächen aber auch außerhalb des Arbeitsbereiches erstellt.
Das Script wird innerhalb einer Aktion ausgeführt. Am Ende der Aktion kann ich die Zeichenflächen dann manuell ausrichten.

Gruß
Jürgen
 

mm100

Benutzer

Ich habe deine Code
Code:
var doc = activeDocument;
var posx=doc.artboards.length * 256 + 10;
var btn=doc.artboards.length * 256 + 10 + 256;
doc.artboards.add([posx, 456, btn, 200]);

doc.rearrangeArtboards(DocumentArtboardLayout.GridByRow , 3 , 20 , true);
genommen und die eckigen Klammern entfernt. Ich hab nur aus 2 Reihen 3 reihen gemacht. Dann den Code 8 mal gestartet.
Und hier das Ergebnis:


nach 15 Starts sieht das so aus:


Willst du was anderes?
 

KapitaenNet

Icon Designer

Hallo mm100,

ich habe den Code nun modifiziert, sodass die aktuelle Dokumentengröße verwenndet wird.

var doc = activeDocument;
var posx=doc.artboards.length * doc.width + 10;
var btn=doc.artboards.length * doc.width + 10 + doc.width;
doc.artboards.add([posx, doc.height + 200, btn, 200]);
doc.rearrangeArtboards(DocumentArtboardLayout.GridByRow , 3 , 20 , true);

Wenn man mehrere Grafiken über eine Aktion jeweils auf einer neuen Zeichenfläche platzieren möchte, ist das Script ideal.
Gruß
Jürgen
 

mm100

Benutzer

hallo KapitaenNet,
Ich finde das Thema super spannend. ich hab auch schon ein paar mal verschiedene Codes für mich selbst angepasst und auch schon in ein paar Foren gestöbert. Deshalb bin ich davon überzeugt: die ganzen doppelten variablenabfragen in deinem Code stellen dich früher oder später vor unlösbare Probleme.

Deshalb habe ich deinen Code auch noch mal modifiziert. Mein Code macht zwar genau das selbe wie deiner sollte aber viel sauberer sein. Bin echt gespannt auf deine Meinung.
Code:
var doc = activeDocument;
var rect = (doc.artboards[doc.artboards.getActiveArtboardIndex()].artboardRect);
rect[0] +=1; rect[2] +=1;
doc.artboards.add(rect);
doc.rearrangeArtboards(DocumentArtboardLayout.GridByRow , 3 , 20 , true);

Vielleicht kuckt auch mal ein Profi drüber.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben