[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt graphiclines löschen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

graphiclines löschen

faxinger
Beiträge gesamt: 195

4. Dez 2017, 14:08
Beitrag # 1 von 5
Bewertung:
(1669 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

wenn ich das folgende Skript ausführe werden mir nicht alle Linien auf einmal gelöscht sondern es bleibt immer eine übrig:
Code
var _doc = app.activeDocument.activeLayer; 
var _linien = _doc.graphicLines;

//.leftLineEnd.ArrowHead.NONE;


for (k = 0; k < _linien.length; k++) {

_linien[k].remove()

};


Außerdem möchte ich nur jene Linien löschen die keine Spitzen oder Dreiecke haben - ist noch auskommentiert.

Habt ihr eine Idee warum nicht alle Linien auf einmal gelöscht werden bzw. wie ich nur die Linien ohne Spitzen löschen kann?

(Dieser Beitrag wurde von faxinger am 4. Dez 2017, 14:10 geändert)
Hier Klicken X

graphiclines löschen

Martin Fischer
  
Beiträge gesamt: 11928

4. Dez 2017, 14:39
Beitrag # 2 von 5
Beitrag ID: #561166
Bewertung:
(1663 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mit Deiner Schleife von vorne nach hinten ändern sich mit jeder gelöschten Linie die Indexe (Indices) der noch zu löschenden Linien: eine weg, dann ist die vormals zweite die erste - die wird aber übersprungen, weil jetzt die zweite dran ist und nicht mehr die erste ....

Kehre die Reihenfolge der Schleife um (von hinten nach vorne) und das Problem sollte gelöst sein.


Du könntest alternativ auch mal Folgendes versuchen (ungetestet):
Code
app.activeDocument.activeLayer.graphicLines.everyItem().remove(); 


Viele Grüße
Martin


als Antwort auf: [#561162]

graphiclines löschen

faxinger
Beiträge gesamt: 195

4. Dez 2017, 15:01
Beitrag # 3 von 5
Beitrag ID: #561171
Bewertung:
(1657 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Martin,

ja mit evry item funktioniert es wunderbar.

Aber ich möchte nur diese Linien löschen die keine Spitze haben. (kein Dreieck, Kreis etc)

Da muss ich doch noch die graphiclines unterscheiden..
die mit spitze sollen bleiben die ohne gelöscht. Bzw. nur die ohne Spitze löschen.

Aber so wie ich es auskommentiert hatte funktionierte es nicht.


als Antwort auf: [#561166]

graphiclines löschen

Kai Rübsamen
Beiträge gesamt: 4585

4. Dez 2017, 16:05
Beitrag # 4 von 5
Beitrag ID: #561176
Bewertung:
(1638 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

1. "_doc = activeLayer" ist verwirrend. Gewöhn dir solche Namen besser nicht an.
2. Wenn du die Linien unterscheiden willst, brauchst du auch den entsprechenden Befehl dafür und nicht nur die Eigenschaft
3. Martin hat es bereits geschrieben: Wenn du etwas löschen willst, funktioniert vorwärts manchmal, rückwärts aber immer. Daher immer rückwärts nehmen!

Code
// das aktive Dokument 
var curDoc = app.activeDocument;
// die aktive Ebene
var curLayer = curDoc.activeLayer;
// alle Linien auf der aktiven Ebene
var allLinesOnCurLayer = curLayer.graphicLines.everyItem().getElements();

// die Schleife muss rückwärts laufen, da du etwas löschen willst
for (var i = allLinesOnCurLayer.length-1; i >= 0 ; i--) {
var curLine = allLinesOnCurLayer[i];
// prüfen ob die Linie ohne Pfeile ist
if (curLine.leftLineEnd == ArrowHead.NONE) {
curLine.remove();
}
}


Gruß Kai Rübsamen


als Antwort auf: [#561171]

graphiclines löschen

faxinger
Beiträge gesamt: 195

4. Dez 2017, 16:36
Beitrag # 5 von 5
Beitrag ID: #561183
Bewertung:
(1630 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank Kai,

genau dahin wollte ich.

Perfekt.


als Antwort auf: [#561176]
X
Hier Klicken

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
13.12.2018 - 20.12.2018

3400 Burgdorf, BE
Donnerstag, 13. Dez. 2018, 09.00 Uhr - Donnerstag, 20. Dez. 2018, 09.00 Uhr

Workshop

Schritt für Schritt: Planen, konzipieren und Umsetzen einer responsiven Website mit Wordpress: Lokalen Server einrichten; Frontend/Backend; Vorgehen Schritt für Schritt bis zur fertigen Site.

2-Tages-Workshop CHF 990.00

Ja

Organisator: PubliCollege GmbH

Kontaktinformation: Beat Kipfer, E-Mailinfo AT publicollege DOT ch

www.publicollege.ch

Websites erstellen mit Wordpress und Elementor Pro
Veranstaltungen
13.12.2018

Impressed GmbH, Hamburg
Donnerstag, 13. Dez. 2018, 10.00 - 10.30 Uhr

Webinar

Wir stellen Ihnen in diesem kostenlosen ca. halbstündigen Webinar das neue Enfocus Switch PDF Review Modul zur Freigabe von PDF-Druckdaten vor. Wir zeigen Ihnen, wie Sie die Lösung in bestehende Enfocus Switch-Workflows einbinden und somit die Freigabeprozesse mit Ihren Kunden erheblich beschleunigen können.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=250

Enfocus Switch PDF Review Modul