| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Macro mit Journal starten (5695 mal gelesen)
|
wipc3d59 Mitglied CAD Administrator
Beiträge: 66 Registriert: 24.06.2008 NX11.0.2.7 MP13 NX1899 Test ECTR 4.6 DSC Software AG Windows 10 HP Workstation z4 Intel Xeon W-2135 3,7GHz 32 GB Ram, Nvidia Quadro P4000
|
erstellt am: 29. Jul. 2010 12:44 <-- editieren / zitieren --> Unities abgeben:
Hallo UG-Gemeinde, ist es möglich in NX6 mit Hilfe eines Journal ein Macro zu starten? Ich habe bereits einige Beiträge dazu gefunden komme aber nicht weiter. Bei folgendem Eintrag kommt immer die gleiche Fehlermeldung(siehe JPG) Declare Sub MACRO_playback_from_usertool Lib "libugui" Alias "?MACRO_playback_from_usertool@@YAXPBD@Z" (ByVal lpName As String) MACRO_playback_from_usertool("macroname.macro") Gruß wipc3d59 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 29. Jul. 2010 14:45 <-- editieren / zitieren --> Unities abgeben: Nur für wipc3d59
Hallo wipc3d59, die Deklaration scheint i.O. zu sein, der Aufruf der Funktion sollte in einer separaten Sub/Function erfolgen. Folgendes läuft bei mir mit NX5 & NX6: Code: 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
Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wipc3d59 Mitglied CAD Administrator
Beiträge: 66 Registriert: 24.06.2008 NX11.0.2.7 MP13 NX1899 Test ECTR 4.6 DSC Software AG Windows 10 HP Workstation z4 Intel Xeon W-2135 3,7GHz 32 GB Ram, Nvidia Quadro P4000
|
erstellt am: 29. Jul. 2010 15:24 <-- editieren / zitieren --> Unities abgeben:
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 29. Jul. 2010 21:17 <-- editieren / zitieren --> Unities abgeben: Nur für wipc3d59
Hallo Thorsten, merkwürdig, daß ein Journal bei Dir nicht, bei mir dagegen läuft. Tippfehler in der Declare- Zeile ausgeschlossen, nehm' ich mal an. Dann könnt's noch Unterschiede zwischen 32- und 64-Bit Version der externen Lib geben, möglicherweise ein Bug in der 64er. Oder irgenwelche Besonderheiten in Deiner Installation? Das sind aber alles nur Vermutungen, debuggen bringt bei den paar Zeilen vermutlich auch nichts, aber wenn Du willst, kannst Du dein Journal mal reinstellen, dann versuch' ich's auf meiner Kiste mal. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stefan.f Mitglied
Beiträge: 126 Registriert: 03.09.2002
|
erstellt am: 30. Jul. 2010 07:07 <-- editieren / zitieren --> Unities abgeben: Nur für wipc3d59
|
wipc3d59 Mitglied CAD Administrator
Beiträge: 66 Registriert: 24.06.2008 NX11.0.2.7 MP13 NX1899 Test ECTR 4.6 DSC Software AG Windows 10 HP Workstation z4 Intel Xeon W-2135 3,7GHz 32 GB Ram, Nvidia Quadro P4000
|
erstellt am: 30. Jul. 2010 07:44 <-- editieren / zitieren --> Unities abgeben:
|
RobertM Mitglied
Beiträge: 223 Registriert: 03.12.2008 noch NX 8.5 + TC Teamcenter 9.1.2.2 64-Bit
|
erstellt am: 23. Sep. 2013 07:35 <-- editieren / zitieren --> Unities abgeben: Nur für wipc3d59
|
dirk Mitglied
Beiträge: 164 Registriert: 16.11.2000
|
erstellt am: 02. Jun. 2014 11:25 <-- editieren / zitieren --> Unities abgeben: Nur für wipc3d59
Hallo zusammen, leider muss ich diesen alten Beitrag nochmal nach vorne holen, da ich es nicht schaffe den Code in ein vorhandenes Journal einzubinden. Das Journal von mseufert mit der 64Bit Ergänzung von stefan.f funktioniert, wenn ich es als einzelnes Journal starte, tadellos. Diesen Macro Aufruf möchte ich nun ans Ende eines bereits bestehenden (und auch funktionierenden) Journals einbinden, nur hierbei kommt es zu Fehlermeldungen, die ich nicht verstehe. (Wobei ich ergänzen muss, dass meine Journale eher durch „try and error“ entstehen, denn durch Wissen. Hatte keine VB Schulung und fange momentan an, damit zu experimentieren.) ----------------------------------------------------- Dies ist der Beginn meines vorhandenen Journals: Option Strict Off Imports System Imports System.IO Imports System.Collections Imports System.Windows.Forms Imports System.Windows.Forms.MessageBox Imports NXOpen Imports NXOpenUI Imports NXOpen.UF Module NXJournal Dim theSession As Session = Session.GetSession() Dim workPart As Part = theSession.Parts.Work Dim theUISession As UI = UI.GetUI Dim answer As String = "" Dim angauf As String = "" Dim haupt As String = "" Dim teilv As String = "" Dim teilh As String = "" Dim teil As String = "" Dim pfad As String = "" Dim datei As String = "" Dim anzahl As Integer Dim angauf_wert As Integer Dim haupt_wert As Integer Dim inhalt As String = "" Dim vorlage As String = "O:\SiemensNX\PLMShare\nx85\win\ugii\templates\protect.prt" Sub Main (ByVal args() As String) -------------------------------------------------------------------------- Dies ist das Ende meines vorhandenen Journals: If File.Exists(pfad) Then My.Computer.FileSystem.DeleteFile(vorlage) My.Computer.FileSystem.CopyFile(pfad, vorlage) MsgBox("Die Datei wurde erzeugt") Else MsgBox("Die Datei: " & answer & " existiert nicht!" & vbCrLf & "Das Journal wird beendet") Exit Sub End If End Sub End Module -------------------------------------------------------------------------- Und so hatte ich es mir gedacht: If File.Exists(pfad) Then My.Computer.FileSystem.DeleteFile(vorlage) My.Computer.FileSystem.CopyFile(pfad, vorlage) MsgBox("Die Datei wurde erzeugt") Else MsgBox("Die Datei: " & answer & " existiert nicht!" & vbCrLf & "Das Journal wird beendet") Exit Sub End If Declare Sub MACRO_playback_from_usertool Lib "libugui" Alias "?MACRO_playback_from_usertool@@YAXPEBD@Z" (ByVal lpName As String) Sub Main MACRO_playback_from_usertool("O:\SiemensNX\PLMShare\nx85\A+F\Macro\datei_schreibgeschuetzt_oeffnen.macro") End Sub End Module ---------------------------------------------------------------------------- Anbei die Fehlermeldung. Wäre nett, wenn mir jemand einen Tipp geben würde. Danke und Gruß Dirk
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 02. Jun. 2014 13:36 <-- editieren / zitieren --> Unities abgeben: Nur für wipc3d59
Hallo Dirk, die zweite Sub Main ist das, was mir auf den ersten Blick auffällt. Wo soll das Programm nun anfangen ?? Daneben gibt's einige Probleme, wenn ein Journal ein weiteres startet: Welche Session wird verwendet ? Wie findet Nr. 2 die Session von Nr.1 ? Müssen Variablen übergeben werden ? ......... Wenn's nicht zuviele Umstände macht, kopier' die Funktionen aus 2 in 1 und ruf' sie dann direkt auf. Alles andere ist im Journal nicht vorgesehen, auch der Aufruf via Macro ist nur eine schlechte Bastlelei. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dirk Mitglied
Beiträge: 164 Registriert: 16.11.2000
|
erstellt am: 02. Jun. 2014 14:15 <-- editieren / zitieren --> Unities abgeben: Nur für wipc3d59
Hallo Michael, zuerstmal Danke für die Antwort. Habs nur nicht ganz verstanden. Mit dem 2ten Sub Main: ok Ich möchte allerdings kein Journal mit einem weiteren starten; sondern ein Marco aus einem Journal heraus starten. Dazu habe ich ein existierendes Journal (Nr.1), welches Dateien sucht, ggf findet wenn existent und kopiert. Dieses Journal soll am Schluß ein Macro starten. Das Journal Nr. 2 (nämlich dein Code aus deinem Beitrag vom 29.07.10 (den Aufruf eines Macros)) habe ich nur für mich zum Verständnis erstellt und gestetet. Dieses Journal funktioniert auch für sich. Ich hatte nun versucht den Inhalt von Journal Nr.2 ans Ende von Journal Nr.1 zu kopieren. Eben ohne Erfolg. Wenn ich das 2te Sub Main weglasse kommt es weiterhin zu einer Fehlermeldung. Danke und Gruß Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stefan.f Mitglied
Beiträge: 126 Registriert: 03.09.2002
|
erstellt am: 02. Jun. 2014 15:26 <-- editieren / zitieren --> Unities abgeben: Nur für wipc3d59
|
jo.sch Mitglied
Beiträge: 66 Registriert: 29.01.2013 NX7.5.5.4 MP2 NX8.5.3.3 SAP PLM mit Ectr
|
erstellt am: 02. Jun. 2014 15:30 <-- editieren / zitieren --> Unities abgeben: Nur für wipc3d59
Hi, ich klinke mich hierzu mal ein. Bei mir funtioniert es so sehr gut:
Code: Module NXJournal Declare Sub MACRO_playback_from_usertool Lib "libugui" Alias "?MACRO_playback_from_usertool@@YAXPEBD@Z" (ByVal lpName As String) Sub Main MACRO_playback_from_usertool("C:\temp\test.macro") End Sub End Module
Aber das Journal ist schon lange durch und das Macro kommt erst später zum Ende... gibt es ne Möglichkeit das Journal so lange warten zu lassen, bis das Macro durch ist? gruß jo.sch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dirk Mitglied
Beiträge: 164 Registriert: 16.11.2000
|
erstellt am: 02. Jun. 2014 15:57 <-- editieren / zitieren --> Unities abgeben: Nur für wipc3d59
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 02. Jun. 2014 18:40 <-- editieren / zitieren --> Unities abgeben: Nur für wipc3d59
@ Dirk: Hab' wegen der zwei erwähnten Journals zuerst gedacht, Du willst mit dem Makro wieder ein Journal (die Nr. 2) anstossen. @jo.sch: Das Makro macht sein eigenes Ding, nicht synchron zum Journal. Es läuft, nachdem es angestossen wurde, einfach wann es will. Aber Du kannst ff. machen: Nach dem Makro-Aufruf im Journal eine Warteschleife einbauen, die auf irgendwas wartet, was das Makro am Ende, quasi als Signal, erzeugt. z.B. ein bestimmtes Attribut anlegen. Sobald das existiert, weis das Journal: Makro ist durch, es kann jetzt weitergehen. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
myplatti Mitglied
Beiträge: 2 Registriert: 16.11.2018
|
erstellt am: 16. Nov. 2018 15:19 <-- editieren / zitieren --> Unities abgeben: Nur für wipc3d59
|
| IT-Administrator/Fachinformatiker-Systemintegration (m/w/d) | Im Bonner Stadtteil Friesdorf betreibt SICAT ein Rechenzentrum zur Unterstützung der Entwickler bei 3D-Visualisierung und Hightech CAD/CAM Produktion. Auch Künstliche Intelligenz spielt zunehmend bei Softwareentwicklung und Produktion eine wichtige Rolle, was den Einsatz moderner IT-Ausstattung erfordert. Werden Sie Teil unseres Teams und helfen Sie dabei, diese moderne Infrastruktur zu betreiben, weiterzuentwickeln und dabei gleichzeitig Ihre eigenen Kenntnisse auszubauen.... | Anzeige ansehen | Feste Anstellung |
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 28. Nov. 2018 10:22 <-- editieren / zitieren --> Unities abgeben: Nur für wipc3d59
... ein x-beliebiges Attribut eben, Bsp: StringAttribute, Title MacroFinished. ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |