[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: 246

4. Dez 2017, 14:08
Beitrag # 1 von 5
Bewertung:
(1878 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)
X

graphiclines löschen

Martin Fischer
  
Beiträge gesamt: 12608

4. Dez 2017, 14:39
Beitrag # 2 von 5
Beitrag ID: #561166
Bewertung:
(1872 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: 246

4. Dez 2017, 15:01
Beitrag # 3 von 5
Beitrag ID: #561171
Bewertung:
(1866 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: 4664

4. Dez 2017, 16:05
Beitrag # 4 von 5
Beitrag ID: #561176
Bewertung:
(1847 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: 246

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

genau dahin wollte ich.

Perfekt.


als Antwort auf: [#561176]
X

Aktuell

InDesign / Illustrator
ScreenShot 274 Warum Templates in InDesign benutzen_ - Satzkiste in Stuttgart - Satz und technische Umsetzung - Google Chrome (300x300 HilfDirSelbst)

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
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/