| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
 | SF WELDING EXPORT , eine App
|
Autor
|
Thema: RunMacro() (1172 mal gelesen)
|
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 04. Aug. 2006 08:59 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich lasse mir mit Hilfe von JLink und einem Macro bzw. Mapkey von einer geöffneten *.drw erst ne *.ps und daraus ein *.pdf erzeugen - mit dem gleichen Namen wie die drw (so macht das der Mapkey - in config.pro gespeichert).
Code:
curSession.RunMacro("%pdf");
Jetzt soll der Dateiname aber ein anderer sein, als der von ProE vorgegebene (dieser ist lediglich der Dateiname der drw). Den neuen Name lasse ich mir nämlich erzeugen und der setzt sich zusammen aus "Sachnummer__Dateiname" (vom übergeordneten prt). Lange Rede, kurzer Sinn... ich will irgendwie nen anderen Namen, als den vorgeschlagenen benutzen - hab aber keinen Plan, wie ich da erstmal rangehen sollte Bzw. wäre es schön, wenn ich irgendwie, bei evtl. bereits vorhandener Datei (ps und pdf), diese Sachen wie: "Datei ist bereits vorhanden" und "überschreiben ja/nein" unterdrücken bzw. automatisch mit ja beantworten könnte. Vielen Dank, Rico. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anagl Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 4566 Registriert: 28.05.2001 CREO2 M140 PDMLink 10.2 M020 HW diverse Das Schreiben bei CAD.de ist freiwillig und kein Muss !!!!!
|
erstellt am: 04. Aug. 2006 09:17 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Zitat: hab aber keinen Plan, wie ich da erstmal rangehen sollte
Scheinbar sollen wir sukzessive deine Probleme lösen. Du solltest aber deine Lösung hier reinstellen, wenn sie fertig ist, damit andere auch was davon haben z.B. Habe ich gelernt dass man einfach das vordefinierte Mapkey benutzen kannAlso Du musst dich mit der Mapkey Erzeugung auseinandersetzen Ein Mapkey aufzeichnen, bei dem Du den Namen eingibst und Überschreiben bestätigst. Dieses Mapkey speicherst Du in einer lokalen Config-Datei. Diese Datei editierst Du und bastelst dann in Java deinen spezifischen Mapkey mit dem Ziel-Dateinamen zusammen Mapkey1=erster Teil Mapkey (bis zu Dateinamen) Mapkey2=zweiter Teil Mapkey (nach Dateinamen) Mapkey= mapkey1+ZielDateiName+mapkey2 curSession.RunMacro("Mapkey"); HTH IM Übrigen SysINFO ausfüllen ------------------ Servus Alois [Diese Nachricht wurde von anagl am 04. Aug. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 04. Aug. 2006 09:59 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank erstmal und ich gelobe Besserung, was die Präsentation der Endlösung angelangt. Zitat: Scheinbar sollen wir sukzessive deine Probleme lösen. ...
...das ist ja nur ein kleiner Teil meiner Probleme, die ich hier reinstelle  .Ich bin ja echt bestrebt in Jlink und mit Hilfe der Doku weitestgehend eigenständig voran zu kommen, aber manche Sachen kann ich mir eben einfach nicht erklären und suche deshalb fachkunden Rat. Nichts für ungut
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
COMPUTERSPACE Mitglied Sysadmin und Anwender
   
 Beiträge: 1149 Registriert: 06.01.2005 Dell M90, T2400, 4Gb, FX 2500M, W7 32bit, WF5/M65/Produktiv MS Server 2008 64bit + INTRALINK 9.1 M040
|
erstellt am: 04. Aug. 2006 12:20 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
|
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 08. Aug. 2006 14:38 <-- editieren / zitieren --> Unities abgeben:         
So, das wäre auch geschafft Ich habe nun ein Macro, welches eine pdf-Datei der aktuellen Zeichnung erstellt - mit einem selbst definierten Dateinamen - und wenn der Dateiname bereits vorhanden ist, einfach überschreibt. Der Dateiname ist momentan bei mir noch fest definiert, wird allerdings später wo anders generiert und schließlich einfach der Funktion übergeben... Hier mal mein Code:
Code:
... String macrostring, filename; try{ //filename wird später übergeben werden filename = "test_ersetzen_des_namens"; //PDF erzeugen und wenn bereits vorhanden, dann gleich überschreiben macrostring = "~ Select `main_dlg_cur` `MenuBar1`1 `File`;"+ "~ Close `main_dlg_cur` `MenuBar1`;" + "~ Activate `main_dlg_cur` `File.psh_print`;"+ "~ Select `print` `CascadeButton1`;" + "~ Close `print` `CascadeButton1`;"+ "~ Activate `print` `.pdf_print`;" + "~ Activate `print` `OK`;"+ "~ Update `Print_file` `Filename` `"+filename+".ps`;" + "~ Activate `Print_file` `OK`;"+ "~ FocusIn `UI Message Dialog` `yes`;" + "~ Activate `UI Message Dialog` `yes`;"; curSession.RunMacro(macrostring); } ...
Anmerkung: Das fett geschriebene pdf_print im macrostring ist der Name der pcf-Datei, welche die pdf-Erzeugung regelt. Gruß und Danke, Rico. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |