Automotive - Ersatzteilbestellung Bremse

Verschiedenste Beispiele rund um 3D PDFs
acronaut
Beiträge: 689
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Automotive - Ersatzteilbestellung Bremse

Beitrag von acronaut » 30.05.2007, 19:19

Hi Hendrik,

die schnelle Antwort ist: Ja, Nein

Ja, hinter dem 3D liegt ein JavaScript und nein, man kann es leider nicht mehr anzeigen, wenn es mal drin steckt. Aber schau mal hier nach, da kommst Du vielleicht schon ein wenig auf die Idee, die dahinter steckt.

http://www.acronaut.de/forum8/57.html

Gruß,
Andi


Kaju
Beiträge: 2
Registriert: 27.09.2007, 08:59

Automotive - Ersatzteilbestellung Bremse

Beitrag von Kaju » 18.02.2008, 16:19

Hallo,

ich hab ähnlich wie in oben genanntem Beispiel eine 3D-Ersatzteilliste erstellt. Das heißt ich hab ein PDF mit einem 3D-Modell. Wenn ich auf ein Teil im Modell klicke werden mir auf der Seite verschiedene Informationen zu dem ausgewähltem Teil angezeigt. Soweit funktioniert alles ganz gut.

Um Informationen zu einem Teil zu bekommen muss ich jedoch (wenn ich die Datei neu geöffnet hab) immer zweimal in das Modell klicken bis ich die Infos bekommen. Wenn ich einmal von einem Teil die Infos bekommen hab klappts auch bei den anderen. Habt ihr ne Idee an was das liegen könnt? Das 3D-Modell ist aktiviert sobald die Seite geöffnet ist.

Gibt es außerdem die Möglichkeit ein Teil aus dem Modell per JS auszuwählen bzw. die Auswahl auch wieder aufzuheben?

Grüße

 

acronaut
Beiträge: 689
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Automotive - Ersatzteilbestellung Bremse

Beitrag von acronaut » 18.02.2008, 16:51

Hi,

also das problem beim ersten Teil kenn ich auch.Passiert mir allerdings normalerweis enur dann, wenn ich zu schnell klicke. Ich denke, es liegt daran, dass der Acrobat das JavaScript erst durchgeht, nachdem die Szene vollkommen geladen ist. Das kann allerdings ein klein wneig länger dauern, als man es "mit dem Auge" mitbekommt.
Auszugehen ist ja aber eigentlich davon, dass der Kunde erst mal das Teil dreht und erst dann etwas auswählt. Daher habe ich mir da noch nie größere gedanken drüber gemacht.

Zum selektieren/deselektieren: Soweit ich es jetzt im kopf habe, ist ein deselektieren nicht möglich. Jedoch kannst Du die normale Auswahlfunktion komplett deaktivieren und eben mit der JavaScript Funktion overriden:

Code: Alles auswählen

runtime.overrideSelection = true;


Und dann kannst Du einfach über das Einfärben eines Bauteils oder das Ändern des Rendermodus die Selektfunktion selbst abbilden.

Ein Bauteil einfach von "außen" hervorzuheben ist über JavaScript auch relativ einfach:

Code: Alles auswählen

getAnnots3D(0)[0].context3D.scene.meshes.getByName("Bauteilname in Anführungszeichen"). material. diffuseColor. set(R,G,B); //R,G,B jeweils zwischen 0 und 1;

oder:

getAnnots3D(0)[0].context3D.scene.meshes.getByName("Bauteilname in Anführungszeichen"). renderMode = illustration;


Hoffe Dir damit geholfen zu haben.

Gruß,
Andreas Vogel

Benutzeravatar
basho84
Beiträge: 25
Registriert: 16.05.2008, 15:32

Automotive - Ersatzteilbestellung Bremse

Beitrag von basho84 » 20.05.2008, 12:25

acronaut hat geschrieben:Das tatsächliche Öffnen passiert dann mit dem Befehl "OpenFile("UntitledObject", docname);" Wobei docname vorher als Variable mit dem eigentlichen Dateinamen versehen wurde. Wenn Sie das selbst nachvollziehen wollen, ist das jedoch ein wenig tricky, da es nicht einfach damit getan ist, das Dokument als Attachment anzuhängen. Dieses muss auf speziellem Wege ins PDF verbracht werden, da man dem Dokument ansonsten keinen eindeutigen Namen vergeben kann, der von der Seite der Programmierung her erkannt wird. Ein weit einfacherer Weg ist, das Bestell-PDF als externe Datei zur Verfügung zu stellen.

...da man diese genau einmal in einer Vorlage benötigt und der Rest geht dann zukünftig ziemlich schnell und einfach)...

PS: Wenn Bedarf an einer derartigen Vorlage besteht freue ich mich jederzeit über eine Anfrage ;)
Hallo Andreas,

kannst Du bitte eine Vorlage für das "Dokument JavaScript" posten?

Ich möchte nämlich genau das Beispiel von "Adobe_Acrobat_3D_global-corp.pdf " erstellen und die Funktion "Add part to Order" komplett zum Laufen bringen.

Leider komme ich bei der Übergabe vom Formularfeldwert des jeweils ausgewählten 3D-Objekts an das Formularfeld im Bestellformular nicht weiter. :?

Idealerweise möchte ich die Version mit dem eingefügten Attachment analog zum "Adobe_Acrobat_3D_global-corp.pdf "-Beispiel nachbilden. Es soll also automatisch das Bestellformular geöffnet und das selektierte Bauteil inkl. Bestellnummer hinzugefügt werden.

Vielen Dank schon mal für Deine Antwort!

Benutzeravatar
basho84
Beiträge: 25
Registriert: 16.05.2008, 15:32

Automotive - Ersatzteilbestellung Bremse

Beitrag von basho84 » 28.05.2008, 16:14

ok, die Dokumentenskripte hatte ich übersehen, die kann man ja einsehen, sowie die Skript des Buttons "AddPartToOrder".

Habe das Beispiel von "Adobe_Acrobat_3D_global-corp.pdf" teilweise nachgebaut.

Das Hauptdokument mit der Teileauswahl aus de 3D-Modell funktioniert prima.

Habe dann mittels dem Tool von Andreas Vogel (PDF Attachment Tool) die Anlage "Purchase Order.pdf" angehangen. Dies stammt aus dem Beispiel "Adobe_Acrobat_3D_global-corp.pdf". Die versteckten Felder "AddItemField" und "TempDate" habe ich sichtbar gemacht, um zu prüfen, ob der Klick auf den selbst erstellten "AddToOrder"-Button funktioniert.

Wenn ich die Anlage manuell öffne wird nun endlich der Wert vom Hauptdokument zur Anlage per

oDoc.xfa.form.form1.purchaseOrder.header.AddItemField.rawValue = partno; :D

Folgendes funktioniert noch nicht:

- Die Anlage wird nicht nach dem Klicken automatisch geöffnet, dies sollte doch eigentlich die Funktion

OpenFile("UntitledObjekt", docname);

erfolgen!? :?

- es erfolgt kein Eintrag mehr in die dynamische Tabelle der Bestellung

Wie Funktioniert das automatische Öffnen der Anlage per Java Script? (Habe ja die Methode mit dem VB-Tool von Andreas Vogel gewählt!?)

Warum erfolgt der dynamische Eintrag in der Original "Purchase Order" nicht mehr?


acronaut
Beiträge: 689
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Automotive - Ersatzteilbestellung Bremse

Beitrag von acronaut » 28.05.2008, 16:17

Hi,

wenn man sich das Original-PDF mal genauer anschaut, dann gibt es hier noch Document-Level-Scripte, die entsprechend angepasst werden müssen. Evtl. liegt's daran. Ansonsten einfach mal die Datei zuschicken, oder hier einstellen, dann kann ich mir das mal genauer anschaun.

Gruß,
Andreas Vogel

Benutzeravatar
basho84
Beiträge: 25
Registriert: 16.05.2008, 15:32

Automotive - Ersatzteilbestellung Bremse

Beitrag von basho84 » 29.05.2008, 10:07

Hallo,

also habe nochmal die Dokument-Level-Scripts vom Originalbeispiel kopiert und auch das Bestellformular übernommen.

Entscheidend scheint wohl die genaue Referenzierung der Felder und der XML-Struktur des Zielfeldes "AddItemField" zu sein.

Auch der xfa.form Pfad der AddPartToOrder-Funktion muss passen, desshalb hat es scheinbar nicht mit meinem selbsterstellten Bestellformular geklappt, da dort nicht die folgende Hierarchie (im LifeCycle Designer) der Objekte eingehalten wurde. Mit dem Originalpfad:

ODoc = FindOpenDoc("Purchase Order.pdf";

oDoc.xfa.form.form1.purchaseOrder.header.AddItemField.rawValue = partNo;

funktioniert es.

Also nun werden meine Teile automatisch zur Bestellung per Knopfdruck hinzugefügt :)

Folgende Baustellen gibt es noch:


  • Leider öffnet sich die Anlage der pdf-Datei nach wie vor trotz OpenFile-Funktion nicht automatisch per Klick auf den Button (Haupt-PDF) :?
  • [fontsize=2]das Entfernen von der Bestellung per Button funktioniert nicht (Bestell-PDF) :?
    [/fontsize]
    [fontsize=2][color=black][/fontsize][/color][/list][fontsize=2][color=black]
  • Auf dem "Bestellung-Enfernen-Button" liegt im LifeCycle Designer ein JavaScript, das per instanceManager.removeInstance die Zeile entfernen sollte. Aber es fubktioniert nicht:

    ...[/fontsize][/color][fontsize=2]
    [/fontsize]
    [fontsize=2]var[/fontsize][fontsize=2] oSubform1 [/fontsize][fontsize=2]=[/fontsize][fontsize=2] xfa.resolveNode("detail");
    oSubform1.instanceManager.removeInstance(this.parent.index);
    ...

    Kann ich ein ein beliebiges PDF-Dokument als Bestellformular per "xfa.form..." ansprechen, oder muss man vorher noch etwas im LifeCycle Designer definieren?

    Leider kann ich die Datei hier nicht einstellen, aber ich sende Sie mal.

    Vielen Dank schon mal für die Hilfe!
    Thomas
    [/fontsize]

Benutzeravatar
basho84
Beiträge: 25
Registriert: 16.05.2008, 15:32

Automotive - Ersatzteilbestellung Bremse

Beitrag von basho84 » 29.05.2008, 11:09



Benutzeravatar
basho84
Beiträge: 25
Registriert: 16.05.2008, 15:32

Automotive - Ersatzteilbestellung Bremse

Beitrag von basho84 » 29.05.2008, 11:10

Also im Beitrag:

Forumsbeitrag http://www.acronaut.de/forum10/127.html

wird ja der Trick über "Gehe zu einer Seite wählen" vorgestellt. Dies ist auf den Acrobat 3D Version 7 bezogen.

Wenn ich dies im Adobe Acrobat 3d Version 8 machen möchte, ist das Ergebnis dieser Aktion folgendes:

Gehe zu einer Seite eines anderen Dokuments / Detei: PDF-Anlage / Seite:1 :?

Warum kommt dort nicht der Text:

Gehe zu einer Seite in diesem Dokument / Seite:1

Thomas

 

acronaut
Beiträge: 689
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Automotive - Ersatzteilbestellung Bremse

Beitrag von acronaut » 29.05.2008, 12:10

Hi Thomas,

jetzt müssen wir aber aufpassen, dass wir hier nicht 2 Sachen vermischen. Das Beispiel hier kann eben nicht einfach nur über das anhängen der Datei klappen, sondern muss über das von dir auch angesprochene Tool passieren. In dem Post: http://www.acronaut.de/forum10/127.html
geht es darum einfach nur das dokument aufzumachen. Dies funktioniert in dem Beispiel von unserer Diskussion hier deshalb nicht, weil sonst jedes mal beim Klicken auf den "Bestell-Button" die datei erneut aufgerufen werden würde und schließlich sollen ja einfach nur die neuen teile mit in die Liste reingezogen werden, wenn das Formular schon offen ist.

Deine Frage bzgl.
Gehe zu einer Seite eines anderen Dokuments / Detei: PDF-Anlage / Seite:1
und
Gehe zu einer Seite in diesem Dokument / Seite:1
lässt sich ganz einfach so beantworten: Du macht ja ein Attachment, also ein anderes Dokument auf und bewegst Dich nicht innerhalb des derzeit aktiven Dokuments einfach nur von Seite 1 auf Seite 3.


Nun aber zu den Problemen die wirklich mit diesem Post hier zu tun haben.

1. Ich hab Dir ja schon per Email geschrieben, dass Du einfach bei dem Script hinter dem "Bestell-Button" das "Untitled Document" mit dem eigentlichen Namen des Attachments austauschen musst. Dann sollte das schon mal funktionieren.

2. bzgl. des Instance Managers  für das Löschen der Zeilen im Bestellformular kam auf Grund einer Änderung beim Instance Manager im LCD von V7 zu V8. Sollte aber hoffentlich in der Hilfe (LCD-Hilfe) der richtige Weg beschrieben sein. Ich hab mir das jetzt erst mal auch nicht genauer angesehen, aber evtl. findest Du sogar im  Forumsbereich über den LCD hier sog schon eine Lösung. (Dieser Bereich wird ja hauptsächlich von gentleman und Webzopp bearbeitet. Hab da grad nicht mehr den kompletten Überblick)

Hoffe, ich konnte Dir aber damit schon mal weiter helfen.

Gruß,
Andi

Antworten