| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
| |
| What's new in Solid Edge 2025, ein Webinar am 04.12.2024
|
Autor
|
Thema: Anwendung wechseln in Journal (5541 mal gelesen)
|
Sirus Ehrenmitglied CAD Applikationsentwickler
Beiträge: 1571 Registriert: 03.06.2004 SolidWorks2022
|
erstellt am: 21. Jun. 2007 15:49 <-- editieren / zitieren --> Unities abgeben:
hallo zusammen ich möchte zu beginn oder am schluss eines journals die anwendung wechseln, von modeling ins drafting: zeichne ich das im journal auf, flackert die anw. zeichnungserstellung nur kurz auf, das modeling wird aber wieder aktiv, was ist hier falsch? mit makro würde ich den wehcsel machen können, aber mit journal kann ich ja kein makro zum schluss anstosen. oder? umgekehrt funkt es leider auch nicht, die die journal-abfragen im makro nicht übersprungen werden können, oder? ---------------------- Dim drawingSheet1 As Drawings.DrawingSheet = CType(workPart.DrawingSheets.FindObject("BLATT1"), Drawings.DrawingSheet) drawingSheet1.Open() ------------------ gruss urs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SMario Mitglied Konstrukteur/Designer
Beiträge: 114 Registriert: 31.03.2005 FSC Celsius Workstation CPU: Pentium 4 3.20GHz Speicher: 2.00GB RAM Grafik: Quadro FX 1400 Monitor: FSC P20-2 OS: Windows XP SP2 UG: NX4.0.2.2
|
erstellt am: 21. Jun. 2007 16:15 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo Sirus, ich hatte das gleiche Problem jedoch keine Funktion dafür gefunden . Eine Anfrage hier im Forum ergab, dass es wohl am besten mit Makros funktionieren würde. Bei mir scheitert's jedoch noch am Ausführen des Makros im Journal. Deswegen Frage ich die Anwendung ab, die beim Starten des Journals aktiv ist und fordere den User azf selbst in die vorgesehene Startanwendung zu wechseln. Naja, nicht gerade optimal.... Ciao Mario
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
älg Mitglied CADmin
Beiträge: 403 Registriert: 17.06.2003
|
erstellt am: 22. Jun. 2007 07:23 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
|
stefan.f Mitglied
Beiträge: 126 Registriert: 03.09.2002
|
erstellt am: 22. Jun. 2007 09:42 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Macro aus Journal aufrufen: --------------------------------- Module NXJournal Declare Sub MACRO_playback_from_usertool Lib "libugui" Alias "?MACRO_playback_from_usertool@@YAXPBD@Z" (ByVal lpName As String) Sub Main MACRO_playback_from_usertool("test.macro") End Sub End Module --------------------------------- Bsp ist für NX4. Bei anderen Versionen ändert sich der Funktionsname (MACRO_playback_from_usertool...)
Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SMario Mitglied Konstrukteur/Designer
Beiträge: 114 Registriert: 31.03.2005 FSC Celsius Workstation CPU: Pentium 4 3.20GHz Speicher: 2.00GB RAM Grafik: Quadro FX 1400 Monitor: FSC P20-2 OS: Windows XP SP2 UG: NX4.0.2.2
|
erstellt am: 22. Jun. 2007 10:18 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
|
SMario Mitglied Konstrukteur/Designer
Beiträge: 114 Registriert: 31.03.2005 FSC Celsius Workstation CPU: Pentium 4 3.20GHz Speicher: 2.00GB RAM Grafik: Quadro FX 1400 Monitor: FSC P20-2 OS: Windows XP SP2 UG: NX4.0.2.2
|
erstellt am: 22. Jun. 2007 11:02 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo Forum, hier noch ein Journal, wie man herausfinden kann welche Anwendung/Modul gerade aktiv ist:
Code: ' ' reports the current application module ' ' For a complete list of modules have a look at file: ' %UGII_BASE_DIR%\UGOPEN\uf.h ' Option Strict Off Imports System Imports NXOpen Imports NXOpen.UFModule ReportCurrentApplicationModule Sub Main Dim theUFSession As UFSession = UFSession.GetUFSession() Dim modules As Integer theUFSession.UF.AskApplicationModule(modules) Select Case modules Case = UFConstants.UF_APP_DRAFTING System.Windows.Forms.MessageBox.Show("module = Drafting") Case = UFConstants.UF_APP_MECHANISMS System.Windows.Forms.MessageBox.Show("module = CAE - Mechanisms") Case = UFConstants.UF_APP_CAM System.Windows.Forms.MessageBox.Show("module = Manufacturing") Case = UFConstants.UF_APP_MODELING System.Windows.Forms.MessageBox.Show("module = Modeling") Case = UFConstants.UF_APP_VALISYS System.Windows.Forms.MessageBox.Show("module = Valisys - Quality Control") Case = UFConstants.UF_APP_GATEWAY System.Windows.Forms.MessageBox.Show("module = Gateway") Case = UFConstants.UF_APP_UGMX System.Windows.Forms.MessageBox.Show("module = UGMX Interface") Case = UFConstants.UF_APP_HARNESS System.Windows.Forms.MessageBox.Show("module = HARNESS") Case = UFConstants.UF_APP_FLAT System.Windows.Forms.MessageBox.Show("module = Sheet Metal Design - Flat Patterns") Case = UFConstants.UF_APP_SHTNEST System.Windows.Forms.MessageBox.Show("module = Sheet Metal Design - Nesting") Case = UFConstants.UF_APP_PUNCH System.Windows.Forms.MessageBox.Show("module = Sheet Metal Design - Punch Press") Case = UFConstants.UF_APP_MPG System.Windows.Forms.MessageBox.Show("module = Sheet Metal Design - Multipart Gridding") Case = UFConstants.UF_APP_SSL System.Windows.Forms.MessageBox.Show("module = Sheet Metal Design - Surface Layout") Case = UFConstants.UF_APP_SHTFAB System.Windows.Forms.MessageBox.Show("module = Sheet Metal Design - Fabrication") Case = UFConstants.UF_APP_SMD System.Windows.Forms.MessageBox.Show("module = Sheet Metal Design Application") Case = UFConstants.UF_APP_BUILDER System.Windows.Forms.MessageBox.Show("module = UI Builder") Case = UFConstants.UF_APP_SFEM System.Windows.Forms.MessageBox.Show("module = CAE - SFEM (Basic FEM)") Case = UFConstants.UF_APP_ROUTE System.Windows.Forms.MessageBox.Show("module = PSA - Routing Applications") Case = UFConstants.UF_APP_PIPE System.Windows.Forms.MessageBox.Show("module = PSA - Routing - Piping") Case = UFConstants.UF_APP_TUBE System.Windows.Forms.MessageBox.Show("module = PSA - Routing - Tubing") Case = UFConstants.UF_APP_STEEL System.Windows.Forms.MessageBox.Show("module = PSA - Routing - Steel") Case = UFConstants.UF_APP_CONDUIT System.Windows.Forms.MessageBox.Show("module = PSA - Routing - Conduit") Case = UFConstants.UF_APP_RACEWAY System.Windows.Forms.MessageBox.Show("module = PSA - Routing - Raceway") Case = UFConstants.UF_APP_SHOPS System.Windows.Forms.MessageBox.Show("module = Manufacturing - Shop floor app") Case = UFConstants.UF_APP_WIRE System.Windows.Forms.MessageBox.Show("module = PSA - Routing - Wiring") Case = UFConstants.UF_APP_MTB System.Windows.Forms.MessageBox.Show("module = Manufacturing - Machine Tool Builder") Case = UFConstants.UF_APP_SKETCHER System.Windows.Forms.MessageBox.Show("module = Sketcher Task Environment") Case = UFConstants.UF_APP_NOPART System.Windows.Forms.MessageBox.Show("module = No Part loaded") Case = UFConstants.UF_APP_ADVFEM System.Windows.Forms.MessageBox.Show("module = CAE - Advanced FEM") Case = UFConstants.UF_APP_ROUTE_MECH System.Windows.Forms.MessageBox.Show("module = PSA - Routing - Mechanical") Case = UFConstants.UF_APP_ROUTE_ELEC System.Windows.Forms.MessageBox.Show("module = PSA - Routing - Electrical") Case = UFConstants.UF_APP_ROUTE_LGCL System.Windows.Forms.MessageBox.Show("module = PSA - Routing - Logical") Case = UFConstants.UF_APP_SBSM System.Windows.Forms.MessageBox.Show("module = SBSM - Straight Break Sheet Metal") Case = UFConstants.UF_APP_SEQUENCING System.Windows.Forms.MessageBox.Show("module = Sequencing Task Environment") Case = UFConstants.UF_APP_UFUN System.Windows.Forms.MessageBox.Show("module = UFUN app") Case = UFConstants.UF_APP_STUDIO System.Windows.Forms.MessageBox.Show("module = Shape Studio") Case = UFConstants.UF_APP_DESFEM System.Windows.Forms.MessageBox.Show("module = CAE - Designer FEM") Case = UFConstants.UF_APP_SHIP System.Windows.Forms.MessageBox.Show("module = PSA - Ship Building") Case = UFConstants.UF_APP_AEROSM System.Windows.Forms.MessageBox.Show("module = PSA - Aerospace Sheet Metal Application") End Select End Sub End Module
Ciao und ein schönes Wochenende! Mario
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sirus Ehrenmitglied CAD Applikationsentwickler
Beiträge: 1571 Registriert: 03.06.2004
|
erstellt am: 22. Jun. 2007 11:57 <-- editieren / zitieren --> Unities abgeben:
@stefan @mario vielen dank für eure unterstützung! ihr 2 seid für mich die grössten !!! mir der hilfe von euch habe ich alle programme nach firmen-wunsch erstellt, supper! vielen dank und bis zum nächsten mal, wenn ich eine frage an profis habe.... ------------------ gruss urs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Supermario Mitglied
Beiträge: 305 Registriert: 27.02.2004 UG NX10 TCUA
|
erstellt am: 27. Jun. 2007 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo, ich stehe ein wenig auf der Leitung! Meine Frage: Wo muß ich das Macro ablegen? Mir fehlt die Pfadangabe bzw. ich kann mit "MACRO_playback_from_usertool" wenig anfangen. Sorry meine Unwissenheit! Gruß Mario Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Supermario Mitglied
Beiträge: 305 Registriert: 27.02.2004 UG NX10 TCUA
|
erstellt am: 27. Jun. 2007 14:54 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
|
little_ug Mitglied CAX/PDM Admin / PM
Beiträge: 389 Registriert: 20.03.2003
|
erstellt am: 05. Mrz. 2009 08:59 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo zusammen, ich wollte nur mal wissen ob schon jemand rausgefunden hat ob man auch ohne Macro also nur im Journal die Anwendung wechseln kann. Habe jetzt auch schon alles mögliche ausgetestet. Danke, Michael ------------------ Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Supermario Mitglied
Beiträge: 305 Registriert: 27.02.2004 UG NX10 TCUA
|
erstellt am: 05. Mrz. 2009 09:04 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo Michael, versuch es mal damit: ' ---------------------------------------------- ' Umstellen vom Drawing auf Modell !! Trick!! ' ---------------------------------------------- Dim view_type As Integer = 1 ' 1 = Modeling View Dim ufs As UFSession = UFSession.GetUFSession() ufs.Draw.SetDisplayState(view_type) ------------------ Gruß Mario Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Overcast Mitglied
Beiträge: 111 Registriert: 21.12.2005 .
|
erstellt am: 05. Mrz. 2009 15:00 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Zitat: Original erstellt von Supermario: ufs.Draw.SetDisplayState(view_type)
Damit bleibt man im Drafting und schaltet nur die Darstellung des Zeichnungsblattes aus. Es gibt per API keine direkte Funktion, die Anwendung zu wechseln. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jevertz Mitglied
Beiträge: 15 Registriert: 05.04.2010 NX 8.5 WIN 7 64 MS VB 2010 Express
|
erstellt am: 07. Okt. 2010 22:13 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo, bei mir gibt es einen Unterschied in der Ausführung eines Makros, das die Anwendung wechselt (vom Modelling is Drafting). * Führe ich das Makro interaktiv aus, erfolgt der Wechsel einwandfrei * bette ich das Makro mittels MACRO_playback_from_usertool in ein Journal ein, so erfolgt kein Wechsel. Ich habe das Gefühl, das Journal rennt schon weiter, obwohl das Macro noch nicht mal geladen, geschweige denn ausgeführt wurde. Ich habe es probiert mit sleep (1000) oder einer Msgbox aber auch dann wird das Makro nicht ausgeführt.
Code: MACRO_playback_from_usertool("C:\starte_applikation_drafting.macro")
Jetzt ist meine Frage, woran das liegen kann. Kann ich die Ausführung erzwingen, ohne das VB weiterläuft? Oder gibt es noch Tricks während der Makro-Aufzeichnung? Habe gesehen, dass ich eine Pause im Makro erzwingen kann. Da wir ja feststellen können, welche Applikation gerade aktiv ist, könnte ich auch eine Schleife einbauen, die solange wartet, bis die Anwendung "Drafting" heisst... Der nächste Absturz kommt bestimmt. Wer weiss hier Bescheid? Gruss
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gfx-toxic.de Moderator Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 08. Okt. 2010 10:21 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
|
jevertz Mitglied
Beiträge: 15 Registriert: 05.04.2010 NX 8.5 WIN 7 64 MS VB 2010 Express
|
erstellt am: 08. Okt. 2010 10:58 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo Matthias, Mit dem Journal öffne ich zunächst ein Template (drawing), und nehme Firmenspezifische Einstellungen bzgl. Layer Settings, Reference sets usw. vor. Das funktioniert auch. Jetzt möchte ich ins drafting wechseln - eben mit besagtem Macro. Dann importiere ich unseren Zeichnungsrahmen (mittels pattern) Da ich nun (fälschlicherweise) nicht im Drafting bin, erscheinen die pattern "frame" und "headerbox" als Geometrieelemente im modelling - wo ich sie nicht gebrauchen kann. Anschliessend möchte dann noch einige Attribute vom master-part in die Zeichnung übertragen. D.H. ich bin mir nicht bewusst, ob ich durch das Öffnen des templates evtl. das Grafikfenster blockiere. Übrigens, wenn ich ein Journal schreibe, dass NUR das macro aufruft, erfolgt der Wechsel ins drafting problemlos. Hänge ich dann ans journal hinter dem Macroaufruf weitere Befehle an, geht das Macro nicht mehr. Gruss Jörg
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sirus Ehrenmitglied CAD Applikationsentwickler
Beiträge: 1571 Registriert: 03.06.2004
|
erstellt am: 08. Okt. 2010 14:06 <-- editieren / zitieren --> Unities abgeben:
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2704 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 11. Okt. 2010 09:05 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo zusammen, die Ausführung eines Macros geschieht m.W. erst, wenn die entsprechende Sub oder Function, in der der Aufruf erfolgt, abgearbeitet ist. Daneben darf keine modale Form, siehe Beitrag von Matthias, das NX- UI blockieren, da ein Macro die UI- Dialoge verwendet. Also Form, falls gebraucht, mit Form.Show, nicht mit .ShowDialog oder Application.Run(Form) starten. Was man tun kann, um nach Ausführung eines Macros weitere Funktionen im Journal ablaufen zu lassen, ist diese in einen separaten Thread zu packen und mit etwas Verzögerung zu starten. Code: Sub MakroAufruf() MACRO_playback_from_usertool(...) Dim thd as new System.Threading.Thread(Adress of RestVomJournal) thd.start() End Sub Sub RestVomJournal() System.Threading.Thread.Sleep(1000) ... End Sub
Ist zwar kein schöner Weg, aber er funktioniert in der Praxis. Was man auch mal umgekehrt versuchen könnte, ist ein Journal mittels Macro zu starten oder den Macro-Aufruf in einem Thread vorzunehmen. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jevertz Mitglied
Beiträge: 15 Registriert: 05.04.2010 NX 8.5 WIN 7 64 MS VB 2010 Express
|
erstellt am: 12. Okt. 2010 13:58 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo Urs und Michael, danke für Euren input. Meine Lösung besteht nun darin, alles vorher zu erledigen im Journal und zum Schluss das Macro zu starten. Dies funktioniert auch wenn ich eine Auswahl aus mehreren macros (Select until...) vornehme. Aber ich habe noch eine Ergänzung bei einer Fehlermeldung beim Wechsel von 32bit auf 64bit: Zitat: journal execution error System.EntryPointNotFoundExeption: Der Einstiegspunkt "MACRO_playback_from_usertool@@YAXPBD@Z" wurde nicht in der DLL gefunden. ...
Die Lösung ergab sich beim öffnen der libugui.dll mittels Editor: windows xp 32bit:
Code: Declare Sub MACRO_playback_from_usertool Lib "libugui" Alias "?MACRO_playback_from_usertool@@YAXPBD@Z" (ByVal lpName As String)
Windows 7 64bit:
Code: Declare Sub MACRO_playback_from_usertool Lib "libugui" Alias "?MACRO_playback_from_usertool@@YAXPEBD@Z" (ByVal lpName As String)
d.H. der Einstiegspunkt der 64bit libugui.dll heisst etwas anders - falls es jemand nutzt... Eigentlich möchte ich ja auf den macro-Aufruf verzichten, aber ich kann nur so in Drafting wechseln. Ob da wohl in NX8 was geändert wird? Soll ich das als ER platzieren? Gruss Jörg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gfx-toxic.de Moderator Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 12. Okt. 2010 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Ja wäre schön wenn du mal eine ER plazierst. Dann mach ich auch mal einen auf. Vielleicht bringt es ja was... ------------------ Gruß Matthias ------------------------------------ ICQ: 163190295 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied | |
jevertz Mitglied
Beiträge: 15 Registriert: 05.04.2010 NX 8.5 WIN 7 64 MS VB 2010 Express
|
erstellt am: 11. Nov. 2010 21:01 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo Sämmy Ich habe zunächst ein IR geschrieben. Antwort aus USA: Wechsel mittels Visual Basic ist von der Architektur her nicht vorgesehen und auch nicht geplant. Habe nun meinen regionalen Betreuer gebeten dennoch ein ER draus zu machen - weil es in der Community eben mehere Interessenten gibt... Melde mich wieder Jörg
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied | |
jevertz Mitglied
Beiträge: 15 Registriert: 05.04.2010 NX 8.5 WIN 7 64 MS VB 2010 Express
|
erstellt am: 12. Nov. 2010 16:15 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Hallo, unter der Nummer 1817973 läuft ein ER Enhancement request mit dem Titel "NXOpen methods to Change Application" Wenn sich mehrere an diesem Request beteiligen, kann dies die Chancen erhöhen, dass dies realisiert wird - ähm - wie beteiligen sich denn die anderen an dem ER? Gruss Jörg
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied | |
gfx-toxic.de Moderator Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 15. Nov. 2010 11:45 <-- editieren / zitieren --> Unities abgeben: Nur für Sirus
Sieht ganz ganz schlecht aus...Leider. Code: SYMPTOM/PROBLEM ~~~~~~~~~~~~~~~~~ Bitte IR an ER 1817973 anhängen.Vielen Dank ANALYSES ~~~~~~~~~~ 1- *** Date & Time: 15-nov-2010 11:37:10 User id: bergerf *** Es gibt zu diesem Thema bereits etliche ERs aus den vergangenen Jahren. Aus technischen Gruenden wird diese Funktionalitaet vermutlich aber nicht implementiert. Werde den IR dennoch als "Existing Enhancement" zuordnen lassen. 1- *** Date & Time: 15-nov-2010 11:38:25 User id: bergerf ***
2- *** Date & Time: 15-nov-2010 11:38:27 User id: bergerf *** Hi GTAC, same issue as reported in several ERs (580005, 4075192, 4880596, 1817973). Although this functionality probably will never be implemented for technical reasons, customer would like his IR being added to 1817973. See also PT. Thanks, Frank 2- *** Date & Time: 15-nov-2010 11:40:59 User id: bergerf ***
------------------ Gruß Matthias ------------------------------------ ICQ: 163190295 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied | |
| Projektleiter*in Anlagenbau (m/w/d) | Wellmann Engineering mit Sitz in Halle (Westf.) ist ein mittelständisches Familienunternehmen mit mehr als 145 Mitarbeitenden an 7 Standorten. Wir entwickeln verfahrenstechnische Lösungen im Anlagenbau für flüssige Produkte und vereinen dabei unsere Expertise aus Engineering, Automation und Montage. Zur Verstärkung unseres Teams in Halle Westf. suchen wir ab sofort eine*n Projektleiter*in ... | Anzeige ansehen | Controlling |
|
Ex-Mitglied | |