[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Halber Kreis

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

Halber Kreis

Bartholome
Beiträge gesamt:

3. Feb 2012, 12:10
Beitrag # 1 von 12
Bewertung:
(8159 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo.

Mit diesen Codezeilen (ID5) kann ich einen Kreis erzeugen:

Code
//#  das aktive Dokument  #// 
var curDoc = app.activeDocument;
var hoehe = 3.76;
var breite = 3.76;
//~ Objekt Kreis/Oval wird erzeugt
var myCircle = curDoc.pages.item(0).ovals.add();
myCircle.geometricBounds = [0, 0, hoehe, breite];
//~ Konturfarbe, Konturstärke, Konturfarbton und -Ausrichtung
myCircle.properties = {strokeColor:"None", strokeWeight:0, strokeTint:100, strokeAlignment:StrokeAlignment.insideAlignment};
//~ Objektfarbe und Objektfarbton
myCircle.properties = {fillColor:"Black", fillTint:100};


Meine Frage, wie kann ich per Script einen halben Kreis erzeugen?

____________________
freundliche Grüße,
Bartholome
X

Halber Kreis

drerol74
Beiträge gesamt: 501

3. Feb 2012, 14:28
Beitrag # 2 von 12
Beitrag ID: #489074
Bewertung:
(8126 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Bartholome,

versuch mal das:

Code
#target InDesign 

//# das aktive Dokument #//
var curDoc = app.activeDocument;
var hoehe = 3.76;
var breite = 3.76;
//~ Objekt Kreis/Oval wird erzeugt
var myCircle = curDoc.pages.item(0).ovals.add();


myCircle.geometricBounds = [0, 0, hoehe, breite];
//~ Konturfarbe, Konturstäke, Konturfarbton und -Ausrichtung
myCircle.properties = {strokeColor:"None", strokeWeight:0, strokeTint:100, strokeAlignment:StrokeAlignment.insideAlignment};
//~ Objektfarbe und Objektfarbton
myCircle.properties = {fillColor:"Black", fillTint:100};


myCircle.name = "Halbkreis";

var _semiCirclePath = app.activeDocument.ovals.itemByName("Halbkreis").paths[0];

var _semiCirclePathpoint1 = _semiCirclePath.pathPoints[1];
var _semiCirclePathpoint2 = _semiCirclePath.pathPoints[3];


_semiCirclePathpoint1.rightDirection = _semiCirclePathpoint1.anchor;
_semiCirclePathpoint2.leftDirection = _semiCirclePathpoint2.anchor;

_semiCirclePath.pathPoints[2].remove();



Schöne Grüße
Roland


als Antwort auf: [#489050]
(Dieser Beitrag wurde von drerol74 am 3. Feb 2012, 14:28 geändert)

Halber Kreis

Martin Fischer
  
Beiträge gesamt: 12684

3. Feb 2012, 14:31
Beitrag # 3 von 12
Beitrag ID: #489075
Bewertung:
(8123 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Bartholome,

lege einfach ein Rechteck drauf, das die Hälfte des Kreises abdeckt. ;-)


Im Ernst:
Wie würdest Du auf der Benutzeroberfläche vorgehen?

Dort könntest Du z.B. tatsächlich ein Rechteck über den Kreis legen und über /Objekt/Pathfinder/Subtrahieren.

Per Skript ginge das Subtrahieren etwa so (ein Kreis und ein überlappendes Rechteck sind ausgewählt):
Code
var the_oval = app.selection[0]; 
var the_rect = app.selection[1];
the_oval.subtractPath([the_rect]);


Eine andere Möglichkeit wäre, den Pfad zu bearbeiten.
Also z.B. zunächst einen der 4 Pfadpunkte eines Ovals zu löschen.
Code
the_oval.paths[0].pathPoints[0].remove(); 


Und hinterher die beiden Pfadpunkte an der gestauchten Rundung bearbeiten.
Wie, das musst Du selber mal ausprobieren.
Schau mal in die Beschreibung der pathPoints im Objektmodell rein.

----
edit:
Roland hat sich auf's Wesentliche beschränkt und war deswegen schneller. ;-)
Gutes Gelingen.


als Antwort auf: [#489050]
(Dieser Beitrag wurde von Martin Fischer am 3. Feb 2012, 14:32 geändert)

Halber Kreis

Bartholome
Beiträge gesamt:

3. Feb 2012, 15:08
Beitrag # 4 von 12
Beitrag ID: #489079
Bewertung:
(8089 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Roland

Super, das hab ich gesucht. Wo kann man das noch näher nachlesen?

____________________
freundliche Grüße,
Bartholome


als Antwort auf: [#489074]

Halber Kreis

Bartholome
Beiträge gesamt:

3. Feb 2012, 15:13
Beitrag # 5 von 12
Beitrag ID: #489080
Bewertung:
(8083 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin

Antwort auf [ Martin Fischer ]
Schau mal in die Beschreibung der pathPoints im Objektmodell rein.


Das werd ich machen.
Danke.
Das Endobjekt soll/wird so aussehen:

http://www.pic-upload.de/...alber-Kreis.png.html

____________________
freundliche Grüße,
Bartholome


als Antwort auf: [#489075]

Halber Kreis

Martin Fischer
  
Beiträge gesamt: 12684

3. Feb 2012, 15:26
Beitrag # 6 von 12
Beitrag ID: #489081
Bewertung:
(8071 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Bartholome,

Antwort auf: Das Endobjekt soll/wird so aussehen:


Da wäre aber tatsächlich zu überlegen, ob das nicht einfacher über die o.g. Pfad-Subtraktionsmethode zu lösen wäre: erst alle Kreise im Quadrat anordnen und dann ein Rechteck drüberlegen und dann die Überlappung subtrahieren.

Ohne es geprüft zu haben, könnte ich mir vorstellen, dass die andere Methode (Arrangement von Duplikaten eines einmalig zugerichteten Halbkreises) an den Ecken Kopfzerbrechen bereiten könnte – wg. der Geometrie. Immerhin wäre bei den vier Außenkanten jeweils eine eigene Lage des Halbkreises zu berücksichtigen.
Mit ganzen Kreisen dürfte leichter umzugehen sein. So sehr mir auch Rolands Lösung mit der leftDirection und der rightDirection der Pfadpunkte gefällt.


als Antwort auf: [#489080]
(Dieser Beitrag wurde von Martin Fischer am 3. Feb 2012, 15:34 geändert)

Halber Kreis

drerol74
Beiträge gesamt: 501

3. Feb 2012, 15:27
Beitrag # 7 von 12
Beitrag ID: #489082
Bewertung:
(8069 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Wo kann man das noch näher nachlesen?


Kennst du das von Jongware:
http://jongware.mit.edu/idcsjs5.5/pc_PathPoint.html

Durch die Hyperlinks recht zugänglich, und wenn man sich in der Google-Suche auf diese Seite beschränkt, kommt man recht schnell ans Ziel.

Schöne Grüße
Roland


als Antwort auf: [#489079]

Halber Kreis

Hans Haesler
  
Beiträge gesamt: 5818

3. Feb 2012, 20:06
Beitrag # 8 von 12
Beitrag ID: #489099
Bewertung:
(7986 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Bartholome,

eine mögliche Lösung wäre folgendes Vorgehen:

1. Den Halbkreis mithilfe des Scripts von Roland erzeugen.
2. Das Objekt auswählen und um 180° drehen.
3. Das JavaScript UmrandungErzeugen starten.
4. Im Dialog die Eingaben laut dem angehängten Screenshot "dialog.png" vornehmen (Breite und Höhe: 12 x 3.67 = 45.12).
5. Mit Klick auf "OK" die Ausführung bestätigen.
6. Das Ergebnis: a), links im Screenshot "umrandung.png".
7. Die Elemente des linken Randes auswählen und nach links verschieben (b).
8. Dasselbe mit den Elementen des rechten Randes (b).
9. Die beiden Eck-Elemente rechts oben und rechts unten entfernen (c).

Das Verschieben ist rasch und präzise gemacht (dank der "intelligenten Hilfslinien").

Das JavaScript ist hier erhältlich: http://www.fachhefte.ch / Links "JavaScripts", "Mac OS X deutsch" (oder "Windows deutsch"), "InDesign CS5" und je nach Plattform und InDesign-Version und zwei mal auf "weiter" klicken, damit die Seite 3 sichtbar wird.

Gruss, Hans


als Antwort auf: [#489080]
Anhang:
dialog.png (67.1 KB)   umrandung.png (29.7 KB)

Halber Kreis

Bartholome
Beiträge gesamt:

4. Feb 2012, 15:18
Beitrag # 9 von 12
Beitrag ID: #489122
Bewertung:
(7927 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans.

Danke für die Mühe.

____________________
freundliche Grüße,
Bartholome


als Antwort auf: [#489099]

Halber Kreis

Hans Haesler
  
Beiträge gesamt: 5818

4. Feb 2012, 15:37
Beitrag # 10 von 12
Beitrag ID: #489123
Bewertung:
(7914 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Bartholome,

bitteschön. Dieses Script habe ich zwar nicht speziell für Dich entwickelt. Aber es eignet sich gut für Deine Aufgabe.

Damit Du auch noch zum Scripten kommst, könntest Du versuchen das Script von Roland so zu ändern, dass die Drehung von 180 Grad nicht notwendig ist. :-)

Gruss, Hans


als Antwort auf: [#489122]

Halber Kreis

Bartholome
Beiträge gesamt:

4. Feb 2012, 17:10
Beitrag # 11 von 12
Beitrag ID: #489128
Bewertung:
(7891 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans.

Antwort auf [ Hans Haesler ] Dieses Script habe ich zwar nicht speziell für Dich entwickelt.

Kein Problem. Brauch es auch nicht. :-)


Antwort auf [ Hans Haesler ] könntest Du versuchen das Script von Roland so zu ändern, dass die Drehung von 180 Grad nicht notwendig ist..


Das war das Erste was ich versucht habe: :-)

Code
var _semiCirclePathpoint1 = _semiCirclePath.pathPoints[3];  
var _semiCirclePathpoint2 = _semiCirclePath.pathPoints[1];
_semiCirclePathpoint1.rightDirection = _semiCirclePathpoint1.anchor;
_semiCirclePathpoint2.leftDirection = _semiCirclePathpoint2.anchor;
_semiCirclePath.pathPoints[0].remove();

____________________
freundliche Grüße,
Bartholome


als Antwort auf: [#489123]

Halber Kreis

Hans Haesler
  
Beiträge gesamt: 5818

4. Feb 2012, 20:55
Beitrag # 12 von 12
Beitrag ID: #489135
Bewertung:
(7857 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Bartholome,

Zitat Das war das Erste was ich versucht habe: :-)

Geprüft und für gut befunden. :-)

Zitat Kein Problem. Brauch es auch nicht.

Kein Problem. Also dann: Gutes Gelingen!

Gruss, Hans


als Antwort auf: [#489128]
X

Aktuell

Web / SEO / Blockchain / Betriebssystem
unsplash_300

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/