| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: run_journal.exe automat. -part laden, expressions importieren, parasolid exportieren (5637 mal gelesen)
|
hetvtkjc Mitglied
Beiträge: 21 Registriert: 25.11.2008 HP Compaq 8710w Intel Core2 Duo CPU T7700@2,4GHz 2 GB Ram, 80GB HD, WinXP SP3,nVidia Quadro FX 1600M Unigraphics NX4.0.4.2MP08,NX6.1.0.5MP01
|
erstellt am: 25. Nov. 2008 16:47 <-- editieren / zitieren --> Unities abgeben:
Liebe Community: Ich häng da gerade vor einer interessanten Aufgabenstellung. Der Aufbau ist folgender: Ein Excel-Spreadsheet berechnet die Parameter-Werte und exportiert über Makros eine .exp-Datei, die wiederum in NX4 in ein sogenanntes Expressions-Modell importiert wird, um danach ein Parasolid zu exportieren, welches wiederum dann von Ansys verarbeitet wird. Die Idee ist jetzt natürlich, diese Operationen ab Excel abwärts zu automatisieren, sprich der User sollte möglichst keine Finger mehr rühren.Von Ansys Seite mach ich mir keine Sorgen, aber in NX hänge ich gerade in der Luft. Ich hab mich natürlich umgehört, und dabei erfahren, dass UGS die "run_journal.exe" mitliefert. Das "Journal aufzeichnen" funktioniert ja recht praktisch mit der VB-Referenz. Um die ganze Geschichte zu automatisieren, fällt einem ja sofort der Start über eine Batch-Datei ein. Da ich zum Projekt-Umgebung definieren schon mit der Batch-Programmierung Erfahrung hatte, habe ich mir das etwas einfacher vorgestellt. Testweise konnte ich die "run_journal.exe" an einem einfachen Quader erfolgreich ausprobieren.Und diese "run_journal.exe" muss ja in der NX-Eingabeaufforderung (besteht ja aus einer Anweisung cmd.exe --> ugiicmd.bat) ausgeführt werden. Mein Hängepunkt ist jetzt jener, wie ich durch eventuelles Editieren von Pfaden im Quellcode des start.bat-Files von egal welchen Lageplatz meiner Dateien diese Start-Bat einwandfrei starten kann. Also diese start.bat sollte in sich die nächste bat oder so (NX-Eingabeaufforderung cmd.exe+ugiicmd.bat) laden und die run_journal.exe mit journaldateiangabe(part --> import parameter --> export parasolid) ausführen, so dass der neue parametrisierte Teil als parasolid neu abgespeichert wird. Besonders die Verschachtelung der start.bat feigelt. Habt ihr da schon Erfahrungen gemacht bzw. so ein Projekt realisieren können? thx forward gruss j.c. [Diese Nachricht wurde von hetvtkjc am 25. Nov. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hetvtkjc Mitglied
Beiträge: 21 Registriert: 25.11.2008 HP Compaq 8710w Intel Core2 Duo CPU T7700@2,4GHz 2 GB Ram, 80GB HD, WinXP SP3,nVidia Quadro FX 1600M Unigraphics NX4.0.4.2MP08,NX6.1.0.5MP01
|
erstellt am: 25. Nov. 2008 17:11 <-- editieren / zitieren --> Unities abgeben:
|
hetvtkjc Mitglied
Beiträge: 21 Registriert: 25.11.2008 HP Compaq 8710w Intel Core2 Duo CPU T7700@2,4GHz 2 GB Ram, 80GB HD, WinXP SP3,nVidia Quadro FX 1600M Unigraphics NX4.0.4.2MP08,NX6.1.0.5MP01
|
erstellt am: 25. Nov. 2008 17:13 <-- editieren / zitieren --> Unities abgeben:
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 25. Nov. 2008 18:18 <-- editieren / zitieren --> Unities abgeben: Nur für hetvtkjc
Hallo j.c., zunächst mal herzlich willkommen hier im Forum. Offensichtlich steckst Du schon recht tief im Detail, daher ist es nicht ganz einfach, den Wald vor lauter Bäumen zu erkennen. Deshalb gleich ein paar Fragen zum besseren Verständnis: Du willst aus (mehreren ?) vorliegenden Excel-Sheets Parameter in ein oder mehrere (?) Parts importieren und die resultierende Geometrie jeweils als Parasolid abspeichern ? Ist es das im wesentlichen ? Oder hängt's nur an irgend einem Detail des Batch- Files, wie z.B. einer zusätzlichen Pfadangabe ? Warum Du Dein Heil überhaupt in einem Batch- File suchst, ist mir daneben auch vollkommen unklar. Und der Weg über run_journal muß auch nicht unbedingt sein: Ein Journal, das Parameter via Excel ändert und die Geometrie abspeichert, kann auch innerhalb von NX gestartet werden. Damit hättest Du schon mal zwei mögliche Probleme umgangen. Der Rest an Arbeit wäre dann, dem Journal zu sagen, was es "for each ..." machen soll, da sehe ich die eigentliche Detailarbeit, nicht auf DOS- Ebene. Oder hab' ich da grundsätzlich was falsch verstanden ? Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hetvtkjc Mitglied
Beiträge: 21 Registriert: 25.11.2008 HP Compaq 8710w Intel Core2 Duo CPU T7700@2,4GHz 2 GB Ram, 80GB HD, WinXP SP3,nVidia Quadro FX 1600M Unigraphics NX4.0.4.2MP08,NX6.1.0.5MP01
|
erstellt am: 26. Nov. 2008 09:16 <-- editieren / zitieren --> Unities abgeben:
Also...der Kunde/Auftraggeber exportiert eben durch 1 eigenständige externe Exceldatei (ohne jeglichen Bezug programmtechnischer Natur zu NX) div. Ansys-Files und eben ein *.exp-File. Bis dato muss man NX händisch starten, den Expressions-Part laden, die Parameter-Liste importieren, anwenden und regenerieren. Abschließend wird der noch händisch als Parasolid exportiert. Dies ist das Übergangsformat zu Ansys.Ansys importiert den Parasolid und führt ebenfalls parametrisch-basierte Berechnungen aus...und Ansys geht laut Vernehmen nach sehr einfach über einen .bat-Datei zustarten...außerdem hätte ich da frühere Anwendungen, nach denen ich mich halten könnte. Ich habe mich zur Lösung des Problems mal bissl über NX Open und Konsorten informiert, und leider erkannt, dass dies zuviel Aufwand für ein recht kleines Ziel ist. Dann bin ich darauf gekommen, dass UGS ein fertiges kleines Programm mitliefert, "run_journal.exe". Und das kleine Programm wäre perfekt. Nur muss ich (laut Vorgabe) diese "run_journal.exe" über eine *.bat-Datei starten, die über Excel aufgerufen wird. Diese *.bat-Datei führt seine Operationen mit NX durch, um danach Ansys zu laden... Also meine Zutaten: 1 Excel --> 1 Expressionstextdatei --> 1 Expressionspart --> 1 Parasolid Das Problem: Man kann diese "run_journal.exe" nicht so einfach über die cmd.exe des Win-Systems laufen lassen...deshalb startet man es immer über die NX-Eingabeaufforderung. Nun diese spezielle Eingabeaufforderung ist cmd.exe+ugiicmd.bat, die die Umgebung definiert. start.bat: cmd.exe --> ugiicmd.bat --> Code: run_journal.exe journal.vb -args exp_part.prt
und dann wenn fertig abgelaufen, läuft die *.bat weiter und startet die nächste Sache (Ansys und so weiter...).Also die Schwierigkeit liegt tatsächlich im DOS. Ich hab vor der VB-Nachbearbeitung im Journal eher weniger Angst, da ich nur einen Part und eine exp habe, deshalb heisst es nur einmal aufzeichnen und eventuell nur die Speicheraktion nacheinfügen in den Quellcode... mfg j.c. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 26. Nov. 2008 10:45 <-- editieren / zitieren --> Unities abgeben: Nur für hetvtkjc
|
little_ug Mitglied CAX/PDM Admin / PM
Beiträge: 389 Registriert: 20.03.2003
|
erstellt am: 26. Nov. 2008 15:14 <-- editieren / zitieren --> Unities abgeben: Nur für hetvtkjc
Hallo J.c. ich bin mir nicht sicher ob der export-->parasolid in den journalen verfügbar ist mit vb. Du könntest es vieleicht auch mit ug_inspect... exportieren. Viel glück beim probieren. ------------------ Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hetvtkjc Mitglied
Beiträge: 21 Registriert: 25.11.2008 HP Compaq 8710w Intel Core2 Duo CPU T7700@2,4GHz 2 GB Ram, 80GB HD, WinXP SP3,nVidia Quadro FX 1600M Unigraphics NX4.0.4.2MP08,NX6.1.0.5MP01
|
erstellt am: 26. Nov. 2008 15:48 <-- editieren / zitieren --> Unities abgeben:
Status quo: hehe hab im Laufe des Vormittages die Integration von run_journal.exe zum Laufen gebracht, und leider bemerkt, dass selbst in VB (laut Referenz) keine Funktion zum Parasolid-Export gibt, wenn man keine NXOpen development_lizenz hat. Über die Suchfunktion hier hab dann auch die ug_inspect.exe gefunden, die in UGII_ROOT_DIR liegt. Mittels Doku habe ich auch die zu laufen bekommen, auch mit der Datei, die es zu parasolidisieren gilt. Aber wenn ich beides zusammenschalte, so dass run_journal.exe sequentiell vor ug_inspect.exe lauft, bricht er mit fehlermeldung ab... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
little_ug Mitglied CAX/PDM Admin / PM
Beiträge: 389 Registriert: 20.03.2003
|
erstellt am: 26. Nov. 2008 15:52 <-- editieren / zitieren --> Unities abgeben: Nur für hetvtkjc
Das ganze leben ist ein quiz.... :-) Bist du dir sicher das er es sequenziell ab arbeitet? Hatte da mal ein Problem mit einem JT export der nicht warten wollte... Kannst es ja mal reinstellen dann schau ich es mir mal an.
------------------ Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hetvtkjc Mitglied
Beiträge: 21 Registriert: 25.11.2008 HP Compaq 8710w Intel Core2 Duo CPU T7700@2,4GHz 2 GB Ram, 80GB HD, WinXP SP3,nVidia Quadro FX 1600M Unigraphics NX4.0.4.2MP08,NX6.1.0.5MP01
|
erstellt am: 26. Nov. 2008 15:58 <-- editieren / zitieren --> Unities abgeben:
Das ist das, was ich zusammenschustern konnte, mit meiner kaum vorhandenen Programmiererfahrung... Code: @echo offecho . echo Startskript fuer NX-Automation ueber run_journal.exe echo . echo coded by KJC rem del test_1.prt rem del test_2.prt rem del *.x_b set UGII_BASE_DIR=C:\Programme\UGS\NX 4.0 set UGII_ROOT_DIR=%UGII_BASE_DIR%\UGII start "UGIICMD" "%UGII_ROOT_DIR%\ugiicmd.bat" start /w "run_journal" "%UGII_ROOT_DIR%\run_journal.exe" C:\PROJECTS\LB_AUTOMATION\applied_testing\param_journal.vb -args C:\PROJECTS\LB_AUTOMATION\applied_testing\WAVELINK-ASM.prt start /w "ug_inspect" "%UGII_ROOT_DIR%\ug_inspect.exe" -extract_all C:\PROJECTS\LB_AUTOMATION\applied_testing\ps.prt C:\PROJECTS\LB_AUTOMATION\applied_testing\lb.xmt_bin rem start "wish.exe" "C:\Programme\ANSYS Inc\v110\CommonFiles\tcl\bin\intel\wish.exe" "C:\Programme\ANSYS Inc\v110\CommonFiles\Launcher\LauncherMain.itcl" rem start /w notepad test.log
[Diese Nachricht wurde von hetvtkjc am 26. Nov. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
little_ug Mitglied CAX/PDM Admin / PM
Beiträge: 389 Registriert: 20.03.2003
|
erstellt am: 26. Nov. 2008 16:09 <-- editieren / zitieren --> Unities abgeben: Nur für hetvtkjc
|
hetvtkjc Mitglied
Beiträge: 21 Registriert: 25.11.2008 HP Compaq 8710w Intel Core2 Duo CPU T7700@2,4GHz 2 GB Ram, 80GB HD, WinXP SP3,nVidia Quadro FX 1600M Unigraphics NX4.0.4.2MP08,NX6.1.0.5MP01
|
erstellt am: 26. Nov. 2008 16:23 <-- editieren / zitieren --> Unities abgeben:
Es funkt ja, das Ergebnis des Journals passt. Vor dem allerersten Journal-Durchlauf durch die Baugruppe hat die ug_inspect.exe den Parasolid ohne weiteres erzeugen können. Nach dem ersten Journal-Durchlauf bricht die ug_inspect.exe den Export mit folgender Fehlermeldung ab, siehe Attachement: Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
little_ug Mitglied CAX/PDM Admin / PM
Beiträge: 389 Registriert: 20.03.2003
|
erstellt am: 27. Nov. 2008 08:51 <-- editieren / zitieren --> Unities abgeben: Nur für hetvtkjc
Hi, kann ich leider nicht helfen, vieleicht greift das journal noch auf das file zu während ug_inspect es auslesen will. Ich würde es wirklich mal nacheinander einzeln probieren. Wenn es hier dann funktioniert kann man weitersehen. ------------------ Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Hogger Moderator Maschinenbauingenieur
Beiträge: 3886 Registriert: 06.10.2000 UG V2 bis UG V18 NX1 bis NX2206 ("NX20")
|
erstellt am: 27. Nov. 2008 09:15 <-- editieren / zitieren --> Unities abgeben: Nur für hetvtkjc
Hallo het..., bei uns sieht ug_inspect so aus wie im Anhang. Wir haben uns vom "Steinzeitdialog" gelöst und eine schmucke Oberfläche über das Programm gelegt. Was ich aber eigentlich sagen will: Bei den Programmierarbeiten kamen wir drauf, dass jeder einzelne Solid in eine eigene Parasoliddatei überführt wird. Das wollten wir nicht haben. wir haben es dann mit GRIP gelöst. Gruß
------------------ Walter Hogger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hetvtkjc Mitglied
Beiträge: 21 Registriert: 25.11.2008 HP Compaq 8710w Intel Core2 Duo CPU T7700@2,4GHz 2 GB Ram, 80GB HD, WinXP SP3,nVidia Quadro FX 1600M Unigraphics NX4.0.4.2MP08,NX6.1.0.5MP01
|
erstellt am: 01. Dez. 2008 16:12 <-- editieren / zitieren --> Unities abgeben:
@little_ug: Hab ja schon viele div.Testläufe gehabt, und da wurde immer zuerst auf die *.exe (UG-Programmchen) geschaut, so dass sie seperat einwandfrei läuft. Dort kommt folgende Fehlermeldung zu Tage: Zitat: Note: partition 1 contains pseudo entries ug_inspect: Cannot find PS file format ug_inspect: Cannot find PS file format
bei folgender Befehlsangabe über NX-Eingabeaufforderung:
Code: ug_inspect -extract_all C:\..\teil_prt.prt C:\..\export\lower_bracket.xmt_bin
@Walter Hogger: Schaut ja fein aus, und lässt sich ja sicher flotter und komfortabler bedienen (und kostet sicher ). Aber eben dieser Steinzeitdialog wär ja sehr fein zum Integrieren in eine zentrale Batch-Datei... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Konstrukteur Sondermaschinenbau (m/w/d) | Du teilst unsere Leidenschaft für Innovationen und Technologien und willst dich den Herausforderungen der Zukunft stellen? Dann komme zu FERCHAU Rosenheim: Wir realisieren spannende Projekte für namhafte Kunden in allen Technologien und für verschiedene Branchen. Ready for the next Level? Dann bist DU bei uns genau richtig!
Konstrukteur Sondermaschinenbau (m/w/d) Traunstein Das ... | Anzeige ansehen | Konstruktion, Visualisierung |
|
Overcast Mitglied
Beiträge: 111 Registriert: 21.12.2005 .
|
erstellt am: 04. Dez. 2008 11:54 <-- editieren / zitieren --> Unities abgeben: Nur für hetvtkjc
Hier mal ein paar Gedanken zu den bisherigen Beiträgen: Zitat:
ug_inspect: Cannot find PS file format
Das passiert z.B., wenn man mit NX4 auf ein NX6 Part losgeht. NX6 nutzt halt eine höherer Parasolidversion als NX4. Zitat:
Nun diese spezielle Eingabeaufforderung ist cmd.exe+ugiicmd.bat, die die Umgebung definiert.
Eigentlich braucht man nur den Pfad zu erweitern, damit die DLLs gefunden werden können. Folgendes würde im Batch-Skript reichen: set UGII_BASE_DIR=... set UGII_ROOT_DIR=... set PATH=%UGII_ROOT_DIR%;%PATH% Zitat:
ich bin mir nicht sicher ob der export-->parasolid in den journalen verfügbar ist mit vb
Doch, natürlich und im UG/Answer ist auch ein Sample Source verfügbar. Wurde auch im anderen Fred bereits behandelt: http://ww3.cad.de/foren/ubb/Forum442/HTML/000399.shtml
Der Code müsste noch entsprechend mit dem Öffnen des Parts und dem Import der Expressions erweitert werden. Der Ablauf wäre dann ungefähr so: theSession.Parts.OpenDisplay(...) theSession.Parts.Work.Expressions.ImportFromFile(...) theUFSession.Ps.ExportData(...) theSession.Parts.Work.Close(...) Cheers
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |