[GastForen Programmierung/Entwicklung AppleScript QXP 6.1: Rundungsfehler ab 272 mm

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

QXP 6.1: Rundungsfehler ab 272 mm

Hans Haesler
  
Beiträge gesamt: 5826

3. Mai 2004, 12:25
Beitrag # 1 von 7
Bewertung:
(1998 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wenn die Masseinheit "Millimeter" ist und die Positionswerte von Boxen per Script zugewiesen werden, funktioniert dies bestens. Solange kein Wert grösser als 272 ist.

Ein Beispiel. Manuell eine Box erzeugen und deren Oberkante auf 280 mm setzen.
Diese Box ausgewählt lassen und folgendes Script ausführen:
---
tell document 1 of application "QuarkXPress 6.1"
  set y1 to 275
  tell current box
    set top of bounds to y1
  end tell
end tell
---
Der Y-Wert in der Masspalette zeigt nicht "275 mm", sondern "274,999 mm".

Okay, diese Differenz von einem Tausendstel wird auf dem fertigen Druck-Erzeugnis nicht sichtbar sein. Dennoch: es ist ärgerlich, dass nach dem internen Umrechnen diese Ungenauigkeit auftritt.

Abhilfe: Ausrechnen, wieviel Mal der Grenzwert von 272 im zuzuweisenden Wert enthalten ist und entsprechend der Anzahl je einen halben Tausendstel zugeben.
---
tell document 1 of application "QuarkXPress 6.1"
  set y1 to 275
  set y1 to (((y1 / 272) div 1) * 5.0E-4) + y1
  tell current box
    set top of bounds to y1
  end tell
end tell
---
Im Detail: '((y1 / 272) div 1)' bedeutet: 275 geteilt durch 272 ergibt 1.011029411765. Mit 'div 1' wird auf ganze Zahlen abgerundet, also '1'. Dieser Wert wird mit dem Korrekturfaktor '0.0005' multipliziert. Dieser halbe Tausendstel wird beim Prüfen der Syntax automatisch in die weniger lesbare exponentielle Notation konvertiert: Das 'E-4' bedeutet, dass sich der Dezimalseparator in Wahrheit um vier Stellen nach links befindet. Am Schluss wird noch der ursprüngliche Wert dazugezählt. Resultat: '275.0005'.

Dieser Wert wird vorbeugend eingegeben, um den Umrechnungsfehler aufzuheben.

Hans Haesler <hsa@ringier.ch>
X

QXP 6.1: Rundungsfehler ab 272 mm

Anonym
Beiträge gesamt: 22827

3. Mai 2004, 19:36
Beitrag # 2 von 7
Beitrag ID: #418757
Bewertung:
(1997 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

oder prinzipiell:
(SollWert + 5.0E-5)

Hier klappt das zumindest - X, wie Y ;-)

Karsten


als Antwort auf: [#418756]

QXP 6.1: Rundungsfehler ab 272 mm

Hans Haesler
  
Beiträge gesamt: 5826

3. Mai 2004, 20:38
Beitrag # 3 von 7
Beitrag ID: #418758
Bewertung:
(1997 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Karsten,

dann versuch's bitte mal mit einer Box deren 'top of bounds' bei 570 mm liegt. Dieser Wert soll auf 560 reduziert werden. Laut Deiner Vereinfachung würde das Script ungefähr so aussehen:
---
tell document 1 of application "QuarkXPress 6.1"
  set SollWert to 560
  tell current box
    set top of bounds to (SollWert + 5.0E-5)
  end tell
end tell
---
Was bei 275 mm noch aufgeht, resultiert mit einem doppelt so hohen Wert wieder in einem Rundungsfehler. Es hilft auch nichts, wenn ich die '5.0E-5' (= 0.00005) verzehnfache und "meine" '5.0E-4' (= 0.0005) einsetze.

Nochmals: Um ein korrektes Resultat zu erhalten, muss man feststellen, wieviel Mal der SollWert den SchwellWert von 272 enthält und dann das Resultat mit '5.0E-4' multiplizieren.

Einverstanden? ;-)

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418756]

QXP 6.1: Rundungsfehler ab 272 mm

Anonym
Beiträge gesamt: 22827

3. Mai 2004, 21:56
Beitrag # 4 von 7
Beitrag ID: #418759
Bewertung:
(1997 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
genau darauf wollte ich hinaus (299 hätte wohl auch gereicht) &#133; ;-)

ABER:
Gremlins mit Workarounds zu umgehen, die in absehbarer Zeit(?) wieder zu Gremlins werden (können)?

ANYWAY:
Nach dem Ermitteln der gewünschten Einheiten (hier "mm") sollte der "Klassiker":
---
set SollWert to 1218 --mm
set SollWert to SollWert * 72 / 25.4
---
doch problemlos funktionieren.

Und die Modifikation des Objekts erfolgt dann mit:
Code
set top of bounds to (SollWert as point units) 

Karsten


als Antwort auf: [#418756]

QXP 6.1: Rundungsfehler ab 272 mm

Hans Haesler
  
Beiträge gesamt: 5826

4. Mai 2004, 07:57
Beitrag # 5 von 7
Beitrag ID: #418760
Bewertung:
(1997 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Karsten,
Zitat Gremlins mit Workarounds zu umgehen, die in absehbarer Zeit(?) wieder zu Gremlins werden (können)?

Bis solch ein Bug gefixt ist, muss man einen Workaround einsetzen. Und wenn die neue Version da ist, das Script an das Update anpassen.

Ja, der Klassiker funktioniert problemlos. Aber ich bleibe trotzdem bei meiner Methode. Die 'top of bounds' habe ich nur als einfache Illustration des Problems gebraucht. In den "richtigen" Scripts werden alle vier Werte der Boxenränder bestimmt und zwar in einem Handler, welcher die Werte als Liste zurückgibt: return {y1, x1, y2, x2}. Abgesehen davon, gibt der Anwender seine Werte ein, und dabei muss die gewählte Masseinheit berücksichtigt werden.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418756]

QXP 6.1: Rundungsfehler ab 272 mm

Hans Haesler
  
Beiträge gesamt: 5826

9. Mai 2004, 20:59
Beitrag # 6 von 7
Beitrag ID: #418761
Bewertung:
(1997 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hello Karsten,

okay &#150; you have won! :-( (;-).

Beim Testen einer Reihe von Scripts (Näheres demnächst hier &#133;), klappte mein Workaround nicht. Zwar nur mit einem einzigen Projekt. Dennoch habe ich beschlossen, überall meine geheimnisvoll-wissenschaftliche Formulierung durch die einfachere In-Punkte-Umrechnung zu ersetzen.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418756]

QXP 6.1: Rundungsfehler ab 272 mm

Anonym
Beiträge gesamt: 22827

10. Mai 2004, 21:28
Beitrag # 7 von 7
Beitrag ID: #418762
Bewertung:
(1997 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

na, siehst du - geht doch ;-)

Im Ernst: Tut mir leid, dass dir da Produktionsgeschichten "um die Ohren fliegen", aber genau aus diesem Grunde gehe ich - im Falle des ERSTEN Fehlverhaltens - halt den "Weg des geringsten Widerstands" ... (wenn es ihn denn gibt) ;-)

Karsten

PS: Wie die Firma "Quark" Fehler behebt kann man ja am jüngsten Spross der Produktfamilie erkennen ...
http://www.quark.com/service/desktop/downloads/details.jsp?idx=545


als Antwort auf: [#418756]
X

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
17.04.2024

Online
Mittwoch, 17. Apr. 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!