[GastForen Programmierung/Entwicklung AppleScript XPress: "Kuchenstück" per Applescript erstellen

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

XPress: "Kuchenstück" per Applescript erstellen

T. Kaltschmidt
Beiträge gesamt: 94

7. Apr 2005, 15:59
Beitrag # 1 von 18
Bewertung:
(4051 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Hans, mit Applescript habe ich keine Probleme einen Rahmen als Rechteck oder Kreis zu erzeugen.
Gibt es aber auch eine Möglichkeit eine Art Stück "Kuchen" aus einem Kreis per Script zu erzeugen?
Hintergrund: Ich möchte ein individuelles Passkreuz mit AS bauen und dieses soll mit vier Farben gefüllt sein. Durch die vier Teilstücke eines Kreises hätte ich eine Möglichkeit diese getrennt einzufärben.
X

XPress: "Kuchenstück" per Applescript erstellen

Hans Haesler
  
Beiträge gesamt: 5826

7. Apr 2005, 21:07
Beitrag # 2 von 18
Beitrag ID: #419448
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

dürfte schwierig sein ... Ich nehme mal an, dass Du QuarkXPress 6.5 verwendest.
Könntest Du bitte von Hand einen Prototypen basteln und ihn mir zustellen?
Er kann ruhig im Massstab 50:1 sein. Und dann müsste ich noch nähere Angaben
darüber haben, wie das Passkreuz eingesetzt werden soll. Anzahl pro Seite
und Positionen usw.

Gruss, Hans


als Antwort auf: [#419447]

XPress: "Kuchenstück" per Applescript erstellen

Anonym
Beiträge gesamt: 22827

7. Apr 2005, 21:17
Beitrag # 3 von 18
Beitrag ID: #419449
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,
ich bin zwar nicht Hans, muss aber dennoch mal nachhaken:

In Bezug auf Bogenmaß, Radius, Umfang, PI etc hat sich doch nichts "revolutionär neues" ergeben, oder?

Karsten


als Antwort auf: [#419447]

XPress: "Kuchenstück" per Applescript erstellen

Hans Haesler
  
Beiträge gesamt: 5826

7. Apr 2005, 23:08
Beitrag # 4 von 18
Beitrag ID: #419450
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Karsten,

eigentlich nicht ...
Aber: Nun zeige uns bitte, wie man damit ein leckeres Quarkkuchen-Stück konstruiert. ;-)

Gruss, Hans


als Antwort auf: [#419447]

XPress: "Kuchenstück" per Applescript erstellen

Anonym
Beiträge gesamt: 22827

8. Apr 2005, 12:19
Beitrag # 5 von 18
Beitrag ID: #419451
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

ich konnte den mathematischen Teil etwas entschlacken ;-)
Anbei ein Dummy für das erste Kuchenstück.
Da ich mich nur noch sehr ungerne in dem *******-Objektmodell von Xpress aufhalte, überlasse ich Dir gerne das Finalisieren ... ;-)

---
property _Radius : 50
property _Distance : _Radius / 1.8
tell application "QuarkXPress Passport"
 tell front document
  set x to make graphic box at beginning with properties ¬
   {bounds:{0, 0, _Radius, _Radius}, color:"Magenta", box shape:polygonal}
  tell contour 1 of shape path 1 of x
   delete vertex 1
   set properties of vertex 3 to ¬
    {symmetry:smooth, right handle:{_Radius - _Distance, 0}, left handle:{_Radius, 0}}
   set properties of vertex 1 to ¬
    {symmetry:smooth, left handle:{0, _Radius - _Distance}, right handle:{0, _Radius}}
  end tell
 end tell
end tell
---


als Antwort auf: [#419447]

XPress: "Kuchenstück" per Applescript erstellen

Hans Haesler
  
Beiträge gesamt: 5826

8. Apr 2005, 13:33
Beitrag # 6 von 18
Beitrag ID: #419452
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Karsten,

eine sehr schlanke und raffinierte Lösung. Gratuliere!!!

Ich habe das Script mit der Möglichkeit ergänzt, auch die Position einzugeben. Weil dabei etwas mehr
an Rechnungen anfallen, habe ich die Variablen auf einen Buchstaben gekürzt. Damit werden die Zeilen
nicht zu lang. Und der Konflikt Underscores vs. Minuszeichen entfällt.

Ich habe auch die Reihenfolge der 'vertices' und der 'handle' jener angepasst, welche von den
Properties zurückgegeben werden.
---
property y : 80
property x : 100
property r : 50
property d : r / 1.8

tell document 1 of application "QuarkXPress 6.5"
   activate
   tell page 1
      make graphic box at beginning with properties ¬
         {bounds:{y - r, x - r, y, x}, color:"Magenta", box shape:polygonal}
      tell graphic box 1
         tell contour 1 of shape path 1
            delete vertex 1
            set properties of vertex 1 to ¬
               {symmetry:smooth, left handle:{y - r, x - (r - d)}, right handle:{y - r, x}}
            set properties of vertex 3 to ¬
               {symmetry:smooth, left handle:{y, x - r}, right handle:{y - (r - d), x - r}}
         end tell
      end tell
   end tell
end tell

---
Jetzt brauche ich nur noch die Angaben von Thomas. Es sei denn, er füge den Code für die drei
anderen Stücke selber ein ...

Gruss, Hans


als Antwort auf: [#419447]

XPress: "Kuchenstück" per Applescript erstellen

T. Kaltschmidt
Beiträge gesamt: 94

8. Apr 2005, 14:06
Beitrag # 7 von 18
Beitrag ID: #419453
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Hans, Karsten,

herzlichen Dank, das sieht ja schon Klasse aus!

Meine verblassenden Mathe-Kenntnisse hätte ich erst einmal gründlich auffrischen müssen ;-)

Meine für den Rollenoffsetdruck (inkl. Lochung für Endlosforumulare) nötigen Remaliner-Passzeichen sehen grundlegend wie in folgendem Script aus (unoptimiert und noch ohne Variablen).
Der Kreis soll die farbigen Kuchenflächen enthalten.

OK, das ganze kann man bestimmt auch mit Hilfe einer gut bestückten Bibliothek lösen (kann man die eigentlich auch scripten?), bei den vielen Versionen (Papiergröße, Stand usw.) scheint mir eine Scriptlösung jedoch besser.

[code:1]tell application "QuarkXPress Passport"
 tell front document
  tell current spread
   
   -- Linie Papierrand
   make new line box at beginning with properties {width:0.5, color:"Schwarz", start point:{0, 0}, end point:{0, 10}, name:"KRemaliner"}
     
   -- Linie Schnittkante
   make new line box at beginning with properties {width:0.5, color:"Schwarz", start point:{0, 0}, end point:{8.5, 0}, name:"KRemaliner"}
   
   -- Passkreuz Lochung (Linie1)
   make new line box at beginning with properties {width:0.15, color:"Schwarz", start point:{6, 3}, end point:{6, 9.5}, name:"KRemaliner"}
   
   -- Passkreuz Lochung (Linie2)   
   make new line box at beginning with properties {width:0.15, color:"Schwarz", start point:{3, 6}, end point:{9.5, 6}, name:"KRemaliner"}
   
   -- Passkreuz Lochung (Kasten)
   make new graphic box at beginning with properties {frame:{width:0.5}, bounds:{4, 12, 8, 16}, name:"KRemaliner", box shape:ovular, color:"Weiß"}
   
   -- Passkreuz Farbe (Kreis)   
   make new graphic box at beginning with properties {frame:{width:0.5}, bounds:{4, 4.23, 8.23, 8}, name:"KRemaliner", color:"Weiß"}
   
   
   --tell (every generic box whose name is "KRemaliner")
   -- delete
   --end tell
   
  end tell
 end tell
 
end tell[/code:1]


als Antwort auf: [#419447]

XPress: "Kuchenstück" per Applescript erstellen

Hans Haesler
  
Beiträge gesamt: 5826

8. Apr 2005, 15:24
Beitrag # 8 von 18
Beitrag ID: #419454
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

nein, Bibliotheken kann man nicht scripten.

Drei Fragen zu Deinem Code:
1) Ist das Projekt einzel- oder doppelseitig?
2) Was wird auf die beiden Linien zentriert: der Kasten oder der Kreis?
3) Sollten die Werte für den Kreis nicht {4, 4.23, 8, 8.23} sein?

Gruss, Hans


als Antwort auf: [#419447]

XPress: "Kuchenstück" per Applescript erstellen

Anonym
Beiträge gesamt: 22827

8. Apr 2005, 18:11
Beitrag # 9 von 18
Beitrag ID: #419455
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

bevor du das Skript weiter aufbohrst, solltest du den Kreis erst mal rund machen ... ;-)


als Antwort auf: [#419447]

XPress: "Kuchenstück" per Applescript erstellen

Anonym
Beiträge gesamt: 22827

8. Apr 2005, 22:07
Beitrag # 10 von 18
Beitrag ID: #419456
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
ein neuer Versuch (ohne KREIS-Mathematik):
---
property _m : {y:0, x:0} -- Kreisursprung
property _r : 15 -- Radius
property _cL : {"Cyan", "Magenta", "Gelb", "Schwarz"}
set n_o to {(y of _m) - _r, (x of _m), y of _m, (x of _m) + _r}
set s_o to {(y of _m), (x of _m), (y of _m) + _r, (x of _m) + _r}
set s_w to {(y of _m), (x of _m) - _r, (y of _m) + _r, (x of _m)}
set n_w to {(y of _m) - _r, (x of _m) - _r, (y of _m), (x of _m)}

tell application "QuarkXPress Passport"
 activate
 tell front document
  set _k1 to make graphic box at beginning with properties ¬
   {bounds:n_o, color:item 1 of _cL, box shape:polygonal, rotation:0}
  tell contour 1 of shape path 1 of _k1 to delete vertex 2
  set _k2 to duplicate _k1
  set properties of _k2 to {bounds:s_o, rotation:-90, color:item 2 of _cL}
  set _k3 to duplicate _k1
  set properties of _k3 to {bounds:s_w, rotation:-180, color:item 3 of _cL}
  set _k4 to duplicate _k1
  set properties of _k4 to {bounds:n_w, rotation:-270, color:item 4 of _cL}
 end tell
end tell
---

(Variablen-Namen wie "d" statt "_d" kann ich nicht verwenden, da die Praxis zeigt, dass ein globales "Suchen/Ersetzen" hin und wieder nötig ist ...)


als Antwort auf: [#419447]

XPress: "Kuchenstück" per Applescript erstellen

Hans Haesler
  
Beiträge gesamt: 5826

8. Apr 2005, 22:54
Beitrag # 11 von 18
Beitrag ID: #419457
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Karsten,

das Script ist seit 17 Uhr bereit. Inklusive rundem Kreis. :-)
Und sobald Thomas den Widerspruch in seinem Code geklärt hat, werde
ich es veröffentlichen.

Deinen neuen Vorschlag werde ich morgen ausprobieren.

Gruss, Hans


als Antwort auf: [#419447]

XPress: "Kuchenstück" per Applescript erstellen

Anonym
Beiträge gesamt: 22827

8. Apr 2005, 23:16
Beitrag # 12 von 18
Beitrag ID: #419458
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans

keine Ahnung, was du mit 17:00 meinst, aber deine "Adaption" meines Skripts macht halt kein sauberes Kreissegment …


als Antwort auf: [#419447]

XPress: "Kuchenstück" per Applescript erstellen

Hans Haesler
  
Beiträge gesamt: 5826

9. Apr 2005, 08:27
Beitrag # 13 von 18
Beitrag ID: #419459
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Karsten,
Zitat keine Ahnung, was du mit 17:00 meinst, aber deine "Adaption" meines Skripts macht halt kein sauberes Kreissegment …

Ja, das habe ich beim Einfügen der drei weiteren Segmente auch bemerkt und beim vollständigen Script korrigiert.

Hier meine "Adaptation" Deiner zweiten Lösung. "Look, Ma: No rotation!" :-)
---
property _y : 0 -- Mittelpunkt von oben
property _x : 0 -- Mittelpunkt von links
property _r : 10 -- halbe Breite
property _cL : {"Schwarz", "Cyan", "Magenta", "Gelb"}
property _bL : {{_y - _r, _x - _r, _y, _x}, {_y - _r, _x, _y, _x + _r}, ¬
   {_y, _x, _y + _r, _x + _r}, {_y, _x - _r, _y + _r, _x}}

tell document 1 of application "QuarkXPress 6.5"
   activate
   repeat with i from 1 to 4
      set _k1 to make graphic box at beginning with properties ¬
         {bounds:item i of _bL, color:item i of _cL, box shape:polygonal}
      tell contour 1 of shape path 1 of _k1 to delete vertex i
   end repeat
end tell

---
Aber ich nehme an, der Thomas möchte doch lieber einen Kreis.

Gruss, Hans


als Antwort auf: [#419447]

XPress: "Kuchenstück" per Applescript erstellen

Anonym
Beiträge gesamt: 22827

9. Apr 2005, 09:49
Beitrag # 14 von 18
Beitrag ID: #419460
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Hier meine "Adaptation" Deiner zweiten Lösung. "Look, Ma: No rotation!" :-)


Schade, denn damit ist meine eingangs erwähnte Relation zur guten alten Mathematik (Koordinatensystem) wieder zunichte …

Aber "schön schlank" ist es geworden …


als Antwort auf: [#419447]

XPress: "Kuchenstück" per Applescript erstellen

T. Kaltschmidt
Beiträge gesamt: 94

9. Apr 2005, 11:33
Beitrag # 15 von 18
Beitrag ID: #419461
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat von Hans Haesler Hallo Thomas,

nein, Bibliotheken kann man nicht scripten.

Drei Fragen zu Deinem Code:
1) Ist das Projekt einzel- oder doppelseitig?
2) Was wird auf die beiden Linien zentriert: der Kasten oder der Kreis?
3) Sollten die Werte für den Kreis nicht {4, 4.23, 8, 8.23} sein?

Gruss, Hans


Hi Hans,

zu 1) Das Projekt basiert auf Einzelseiten
zu 2) zur Erläuterung: Der Kasten (inkl. Linienkreuz) dient dem Drucker zur Kontrolle. ob Remaliner-Lochung und Druckbild korrekt zueinander positioniert sind. Die Lochung wird in der Druckmaschine vorgenommen.

Das farbige "Kuchen"-Passkreuz dient zur Kontrolle des Farbpassers (hier füge ich ein Linienkreuz im Hintergrund des Kreises noch hinzu).

Ist eine ziemlich spezielle Anwendung, wir machen hauptsächlich Formulare, welche dann mit einer digitalen Rollendruckmachine mit Barcodes oder Serialisierung versehen werden (130 Meter pro Minute). Technisch recht anspruchsvoll, inhaltlich nicht ganz so spannend ;-)

zu 3) s.o. da der Kreis einem anderen Zweck dient, als der Kasten, werden die Objekte verschoben positioniert.


als Antwort auf: [#419447]
X