| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO | | |  | Creo 12 - die Highlights der neuen Version, ein Webinar am 26.06.2025
|
Autor
|
Thema: DXF via Batch erstellen (1538 mal gelesen)
|
duffy6 Mitglied Konstrukteur
 
 Beiträge: 240 Registriert: 09.07.2005
|
erstellt am: 30. Sep. 2005 11:49 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, kennt jemand eine Möglichkeit, mittels sbatch o.ä. von mehreren Pro/E Zeichnungen automatisch DXFs erstellen zu lassen? Ideal wäre, wenn der Dateiname der Zeichnungsnummer (Pro/I Parameter) entsprechen würde. Danke für Eure Vorschläge! Pro/I Version: 3.4 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hlo Mitglied Ingenieur, CAD-Admin

 Beiträge: 86 Registriert: 11.11.2004 Intralink 3.3 (2000/XP) Pro/E WF 2 (2000/XP) ANSYS ADAMS
|
erstellt am: 30. Sep. 2005 12:00 <-- editieren / zitieren --> Unities abgeben:          Nur für duffy6
Hallo duffy, Deine Anforderung ist noch nicht ganz klar: Von wo aus willst Du das starten ? Aus Commonspace, Workspace oder Kommandozeile ? Wie soll die Liste entstehen, (z.B. alle im WS oder vielleicht manuell)? Was genau meinst du mit Zeichnungsnummer, ist das der Objektname ?
------------------ Gruß Lothar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
duffy6 Mitglied Konstrukteur
 
 Beiträge: 240 Registriert: 09.07.2005
|
erstellt am: 30. Sep. 2005 12:11 <-- editieren / zitieren --> Unities abgeben:         
Hallo! Wenn möglich aus dem Workspace. Evtl auch mal aus dem CS. Notfalls von der Kommandozeile. Zeichnungsnummer ist nicht der Objektname. Zeichnungsnummer ist ein selbst angelegter Paramter, der im zeichnungsrahmen auch über &drawing_number aufgerufen werden kann. Ich hoffe diese Informationen helfen weiter... Gruß duffy6 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hlo Mitglied Ingenieur, CAD-Admin

 Beiträge: 86 Registriert: 11.11.2004 Intralink 3.3 (2000/XP) Pro/E WF 2 (2000/XP) ANSYS ADAMS
|
erstellt am: 30. Sep. 2005 12:58 <-- editieren / zitieren --> Unities abgeben:          Nur für duffy6
Das aus dem CS wird schwierig ohne Toolkit Programmierung Wenn alle Objekte im WS liegen, dann kann man z.B. per Intralink-Script eine formatierte Liste aller selektierten Objekte ausgeben (Java programmierung, siehe http://ww3.cad.de/foren/ubb/Forum69/HTML/000270-2.shtml ) und dann in einem Batchscript oder einfach als Liste an den Converter übergeben. Als Information brauchst Du dann den echten Dateinamen der Zeichnung auf der WS-Festplatte, dieser muss nicht zwangsläufig mit dem Objektnamen übereinstimmen, aber das ist eine Info, die im selektiertn Objekt steckt und ich denke mit ausgegeben werden kann). Hab schon 'mal sowas zur Objektinfo programmiert, ein Beispiel ist im o.g. Thread. ------------------ Gruß Lothar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hlo Mitglied Ingenieur, CAD-Admin

 Beiträge: 86 Registriert: 11.11.2004 Intralink 3.3 (2000/XP) Pro/E WF 2 (2000/XP) ANSYS ADAMS
|
erstellt am: 30. Sep. 2005 22:05 <-- editieren / zitieren --> Unities abgeben:          Nur für duffy6
Versuchs 'mal mit diesem Programmcode Details zum Kompilieren, Java-Umgebung, Integration ins Intralink entnimmst Du o.g. Thread Code startet hier: import com.ptc.intralink.client.script.*; import com.ptc.intralink.script.*; import com.ptc.intralink.ila.*; import java.lang.Object; import java.lang.reflect.*; import java.io.*; public class name_path extends ILIntralinkScript { ILIntralinkScriptInterface IL = (ILIntralinkScriptInterface)getScriptInterface(); WSPIObjectInfo woi; private void run0 () throws Exception { FileOutputStream out; // declare a file output object PrintStream p; // declare a print stream object Object os[]; AttrValInfo a[]; String aname="", aval=""; // Ausgewählte Objecte im Workspace ermitteln; os = IL.getSelectedObjects(null); try { // Create a new file output stream // connected to "myfile.txt" out = new FileOutputStream("C:\\temp\\myfile.txt"); // Connect print stream to the output stream p = new PrintStream( out ); // Schleife über alle selekt. Objekte (Reihenfolge wie WS-Browser) for (int i = 0; i < os.length; i++) { //System.out.println((String)os[i]); //Object handle erzeugen woi=WSPIObjectInfo.createByKey((String)os[i]); //System.out.println(woi.getFilePath()); //Attributliste einlesen a=woi.attrValues() ; // Attribut suchen for (int j = 0; j < a.length; j++) { if(a[j].name().equals("Drawing_Number")) { aname=a[j].name(); aval=a[j].attrValue().toString(); } } p.println (aval+" "+woi.getFilePath()); } // Ende for i p.close(); } catch (Exception e) { System.err.println ("Error writing file"); } } // Ende run0 public void run () throws Exception { run0 (); } }
------------------ Gruß Lothar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
eic Mitglied
 
 Beiträge: 128 Registriert: 28.03.2001 Pro/ENGINEER WF2 Pro/INTRALINK 3.4 Windows XP Pro SP2
|
erstellt am: 03. Okt. 2005 09:40 <-- editieren / zitieren --> Unities abgeben:          Nur für duffy6
hi, habe mir auch an dem Thema die Zähne ausgebissen. Gleich eines vorweg: Dieser Lösungsansatz speichert dxf-Files unter dem Filenamen. Für das Einbringen deines Parameters "Zeichnungsnummer" habe ich keine Lösung! Mein Lösungsansatz war (ich zähle mal die Schritte auf, ein paar Erklärungen folgen unten): 1.) alle notwendigen Daten in einen WS auschecken. 2.) aus WS mit sBatch für alle betroffenen Zeichnungen einen Mapkey aufrufen, der "Daten sichern" in ein bestimmtes Verzeichnis für alle Zeichnungen ausführt 3.) mit dem Pro/E internen Pro/Batch die dxf-Files erzeugen. Einige Erklärungen: OK, auf den ersten Blick sieht das aus, als würde man sich mit der rechten Hand hinter'm linken Ohr kratzen, aber: - wie schon oben erwähnt wurde, ist er Objetname den Du in Pro/E in ener verbundenen Sitzung öffnest nicht immer der echte Filename (such mal im Forum, da gibts einiges zu Thema INTRALINK und Umbenennen). - Durch "Daten sichern" speichert Pro/E die Daten mit dem aus Pro/E bekannten Namen auf die Festplatte. - Mit sBatch ist es nicht möglich (d.h. nich ohne großen Aufwand) dxf-Daten von Zeichnungen zu erstellen, die mehr aus ein Blatt haben. - Pro/Batch kann das. Pro/Batch erstellt automatisch dxf-Files im Format xxx_1.dxf (Blatt1), xxx_2.dxf (Blatt2) usw. - Da Pro/Batch aber eine "nackte" Pro/E Sitzung ist, und nicht verbunden mit INTRALINK kann, benötigt man die richtigen Filenamen. - Damit schließt sich der Kreis. Kling sehr aufwendig, funktioniert aber. Und wenn man das ganze öffter macht, ist es gar nicht so schlimm.
------------------ mfg EiC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hlo Mitglied Ingenieur, CAD-Admin

 Beiträge: 86 Registriert: 11.11.2004 Intralink 3.3 (2000/XP) Pro/E WF 2 (2000/XP) ANSYS ADAMS
|
erstellt am: 03. Okt. 2005 14:38 <-- editieren / zitieren --> Unities abgeben:          Nur für duffy6
Hallo, ich vergaß (Asche auf mein Haupt) zu erwähnen, dass die Zeichnung alleine natürlich nicht reicht, Du brauchtst alle notwendigen Objekte, die evtl. auch andere Dateinamen haben können. Ein Ansatz könnte sein, ohne vorherige Pro/E Datensicherung: 1) Für die Zeichnung den WS-Beziehungsbericht aufrufen, alle Obj markieren. 2) Mit Scriptfunktion wie oben (muss für Varianten noch angepaßt werden, da bastle ich dran) Objektfilenamen ermitteln und in ein Arbeitsverzeichnis kopieren, sowie Batchliste erstellen lassen 3) Batch mit den kopierten Daten ausführen Ein weiterer Ansatz: 1) Zeichnung mit IL-Funktion "Exportieren" in Arbeitsverzeichnis kopieren lassen 2) Batch ausführen Mit den (Java-) Scriptfunktionen kann man das ohne Interaktion laufen lassen. IL-Startparameter -- -p <meine_java_class> evtl. (-nographics) Einloggen, WS erzeugen, Auschecken des Objekts, Markieren des O. Beziehungbrowser öffnen..... bis hin zum Erzeugen der Batchliste ------------------ Gruß Lothar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |