| |
| KISTERS 3DViewStation: Mehr CAD Lizenzen durch 3D-Viewer ersetzen und Geld sparen, eine Pressemitteilung
|
Autor
|
Thema: DemoRotor von Jens Hanse (3066 mal gelesen)
|
SvenBoehm Mitglied
Beiträge: 19 Registriert: 09.01.2014 Catia V5 R24 SP6 HF0 Windows 10 Enterprise 64bit Intel Xeon CPU E5-1650v3 32,0GB 2x Quadro K2200
|
erstellt am: 13. Jan. 2014 10:19 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich versuche mich so langsam in die Makro Programmierung einzuarbeiten. Nachdem ich jetzt auch das Buch von Jens Hansen habe "Kochbuch CATIA v5 automatisieren", versuche ich mich an den ersten Beispielen darin. Leider bisher mehr schlecht als recht. Es geht um den Windows API, bin mir aber jetzt nicht sicher ob der nun Falsch angesprochen wird oder sogar gegenwärtig auf meinem Rechner teilweise nicht zu verfügung steht. VB ist aktuell auch nicht drauf, warte auf den Administrator das er mir das aufspielt. Hier das Makro: Declare Sub Sleep Lib "kernel32" (ByVal milliseconds As Long) Private Declare Function GetAsyncKeyState Lib"user32" ( _ ByVal vKey As Long) As Integer Dim version, makroname Sub CATMain() version = "1.0" makroname = "Demo_Rotation_v1.0" On Error Resume Nest Set activedoc = CATIA.ActiveDocument If Err.Number <> 0 then MsgBox "Es ist kein Dokument geöffnet", 16, makroname + " " + version Exit Sub End If MsgBox " Abbruch der Rotation durch drücken der ESC-Taste", vbInformation, makroname + " " + version Set viewer1 = CATIA.Application.ActiveWindows.ActiveViewer Set Viewpoint3D1 = viewer1.Viewpoint3D Dim Direction(2) Viewpoint3D1.GetUpDirection Direction Do While Zeit <> "Abbruch" If GetAsyncKeyState(vbKeyEscape) Then Zeit = "Abbruch" End If DoEvents viewer1.Rotate Direction, 0.5 viewer.Update Sleep 10 Loop iErr = Err.Number If (iErr <> 0) Then MsgBox (Err.Description) Exit Sub End If End Sub Ergebniss ist ein Syntaxfehler Linie.1 Spalte.8
Wäre nett wenn ihr mir da auf die Sprünge helfen könntet. MFG Sven Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied CAx-Spezialist
Beiträge: 1056 Registriert: 05.08.2000
|
erstellt am: 13. Jan. 2014 10:31 <-- editieren / zitieren --> Unities abgeben: Nur für SvenBoehm
|
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 13. Jan. 2014 15:56 <-- editieren / zitieren --> Unities abgeben: Nur für SvenBoehm
Ich hätte eine andere Vermutung: Du bist vielleicht nicht in der VBA-Umgebung? Von welchem Typ ist denn Dein Makro? ist es ein CATVBA, VB, CATScript, CATVBS oder gar in .NET geschrieben? Ansonsten sehe ich auch nicht, warum Sleep As Public deklariert wird, GetAsyncKeyState aber als Private. Theoretisch müsste beides Private sein. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SvenBoehm Mitglied
Beiträge: 19 Registriert: 09.01.2014 Catia V5 R24 SP6 HF0 Windows 10 Enterprise 64bit Intel Xeon CPU E5-1650v3 32,0GB 2x Quadro K2200
|
erstellt am: 14. Jan. 2014 08:31 <-- editieren / zitieren --> Unities abgeben:
Haben nun die vba6.msi mit Adminrechten installiert ohne Erfolg. Die Fehlermeldung (siehe Anhang) besteht weiterhin, noch jemand eine Tip, dass ich die arbeit des Systemadministrator erleichtern kann? Achso die in den anderen Posts erwähnte CNext.exe /regserver kann ich nicht finden im Installationsordner. MFG Sven [Diese Nachricht wurde von SvenBoehm am 14. Jan. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001
|
erstellt am: 14. Jan. 2014 08:54 <-- editieren / zitieren --> Unities abgeben: Nur für SvenBoehm
|
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 14. Jan. 2014 09:23 <-- editieren / zitieren --> Unities abgeben: Nur für SvenBoehm
Wie kann die Meldung weiterhin bestehen, wenn es doch eindeutig eine andere Meldung ist? Wieso beantwortest Du nicht wenigstens unsere Fragen? Wie sollte man die Arbeit des Admins noch leichter machen als mit dem RegServer? Wann tritt der Fehler genau auf? Also bei welcher Tätigkeit? mach mal ein einfacheres Makro Code:
Public Sub CATMain() Call Msgbox("Blubb") End Sub
------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SvenBoehm Mitglied
Beiträge: 19 Registriert: 09.01.2014 Catia V5 R24 SP6 HF0 Windows 10 Enterprise 64bit Intel Xeon CPU E5-1650v3 32,0GB 2x Quadro K2200
|
erstellt am: 14. Jan. 2014 09:31 <-- editieren / zitieren --> Unities abgeben:
Die Fehlermeldung tritt auf wenn ich aus Catia raus den Visuel Basic Editor starte. Deshalb gehe ich dann über Tools - Makro - Makros... wähle mir dort ein zuvor kopiertes Makro und ändere es über die Bearbeiten... Schaltfläche. Die MSGBox von dir funktioniert auf diese Art sowohl als .CATScript wie auch als .catvbs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 14. Jan. 2014 09:53 <-- editieren / zitieren --> Unities abgeben: Nur für SvenBoehm
Ahhh okay, wir kommen der Sache näher. Dann ist eure VBA-Installation wirklich murks. Versucht mal das VBA und das VBE (6.5 oder höher) aus der CATIA-installation zu installieren. Ihr braucht mit R19 beide Anteile. Dann noch etwas: Dein CATIA ist für Dein Betriebssystem nicht zulässig. Vielleicht funktioniert es auch deshalb nicht. Wieso macht ihr solch eine Installation? ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing [Diese Nachricht wurde von HoBLila am 14. Jan. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SvenBoehm Mitglied
Beiträge: 19 Registriert: 09.01.2014 Catia V5 R24 SP6 HF0 Windows 10 Enterprise 64bit Intel Xeon CPU E5-1650v3 32,0GB 2x Quadro K2200
|
erstellt am: 14. Jan. 2014 10:19 <-- editieren / zitieren --> Unities abgeben:
Zitat: Versucht mal das VBA und das VBE (7.5) aus der CATIA-installation zu installieren. Ihr braucht mit R19 beide Anteile.
und regserver per Admin registriert hat geholfen. Visuel Basic Editor startet jetzt über Alt+F11. Zitat: Dann noch etwas: Dein CATIA ist für Dein Betriebssystem nicht zulässig. Vielleicht funktioniert es auch deshalb nicht.
inwiefern nicht zulässig, das erschreckt mich jetzt etwas Nachdem nun Visuel Basic Editor läuft habe ich erneut das Makro von Jens Hansen laufen lassen. Allerdings mit dem selben resultat. (siehe Anhang) Hier ist warscheinlich so einiges im argen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moppesle Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3425 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 14. Jan. 2014 10:59 <-- editieren / zitieren --> Unities abgeben: Nur für SvenBoehm
Hallo SvenBoehm, V5R19 mit SP0 sieht mir hier sehr verdächtig aus was deine Fehlermeldung betrifft. Installiere mal das aktuelle SP. SP9 unter Win7 läuft bei uns zumindest stabil. ------------------ Gruß Uwe Auch Catia ist nur ein Mensch! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SvenBoehm Mitglied
Beiträge: 19 Registriert: 09.01.2014 Catia V5 R24 SP6 HF0 Windows 10 Enterprise 64bit Intel Xeon CPU E5-1650v3 32,0GB 2x Quadro K2200
|
erstellt am: 14. Jan. 2014 11:47 <-- editieren / zitieren --> Unities abgeben:
|
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 14. Jan. 2014 17:08 <-- editieren / zitieren --> Unities abgeben: Nur für SvenBoehm
Zitat: Original erstellt von HoBLila: Ich hätte eine andere Vermutung:Du bist vielleicht nicht in der VBA-Umgebung? Von welchem Typ ist denn Dein Makro? ist es ein CATVBA, VB, CATScript, CATVBS oder gar in .NET geschrieben? Ansonsten sehe ich auch nicht, warum Sleep As Public deklariert wird, GetAsyncKeyState aber als Private. Theoretisch müsste beides Private sein.
Ich bleib dabei, es funktioniert nur im VBA, nicht im VBS Edit: Ja SP09 haben wir auch extra von Dassault anfertigen und freigeben lassen für Windows 7. Damit läufts auch. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing [Diese Nachricht wurde von HoBLila am 14. Jan. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SvenBoehm Mitglied
Beiträge: 19 Registriert: 09.01.2014 Catia V5 R24 SP6 HF0 Windows 10 Enterprise 64bit Intel Xeon CPU E5-1650v3 32,0GB 2x Quadro K2200
|
erstellt am: 15. Jan. 2014 11:46 <-- editieren / zitieren --> Unities abgeben:
ähm...also ich blick noch nicht ganz durch, wie gesagt bin ich noch neuling. Im Buch steht ja das der Makro Typ VBA sein soll. Jetzt stehe ich schon da! Wenn ich Makros über den Makro-Editor von Catia mache, kann ich die ja garnicht als catvba abspeichern, nur als catvbs und CATScript. Muss ich das Makro also im Wordpad schreiben, oder gibts noch ne andere möglichkeit? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 15. Jan. 2014 11:55 <-- editieren / zitieren --> Unities abgeben: Nur für SvenBoehm
|
SvenBoehm Mitglied
Beiträge: 19 Registriert: 09.01.2014 Catia V5 R24 SP6 HF0 Windows 10 Enterprise 64bit Intel Xeon CPU E5-1650v3 32,0GB 2x Quadro K2200
|
erstellt am: 15. Jan. 2014 12:14 <-- editieren / zitieren --> Unities abgeben:
so das hab ich jetzt gemacht. hab das makro als Modul angelegt. alles ohne fehler durchgelaufen, bloss dreht sich nix auf meinem bildschirm kann das damit zu tun haben das ich 2 Monitore habe? hier nochmal das makro: Zitat: Declare Sub Sleep Lib "kernel32" (ByVal milliseconds As Long) Private Declare Function GetAsyncKeyState Lib "user32" ( _ ByVal vKey As Long) As IntegerDim version, makroname Sub CATMain() version = "1.0" makroname = "Demo_Rota" On Error Resume Next Set activedoc = CATIA.ActiveDocument If Err.Number <> 0 Then MsgBox "Es ist kein Dokument geöffnet", 16, makroname + " " + version Exit Sub End If MsgBox " Abbruch der Rotation durch drücken der ESC-Taste", vbInformation, makroname + " " + version Set viewer1 = CATIA.Application.ActiveWindows.ActiveViewer Set Viewpoint3D1 = viewer1.Viewpoint3D Dim Direction(2) Viewpoint3D1.GetUpDirection Direction Do While Zeit <> "Abbruch" If GetAsyncKeyState(vbKeyEscape) Then Zeit = "Abbruch" End If DoEvents viewer1.Rotate Direction, 0.5 Viewer.Update Sleep 10 Loop iErr = Err.Number If (iErr <> 0) Then MsgBox (Err.Description) Exit Sub End If End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 15. Jan. 2014 12:58 <-- editieren / zitieren --> Unities abgeben: Nur für SvenBoehm
Servus Probiere mal folgende Korrekturen: Code: Declare Sub Sleep Lib "kernel32" (ByVal milliseconds As Long) Private Declare Function GetAsyncKeyState Lib "user32" ( ByVal vKey As Long) As IntegerDim version, makroname Sub CATMain() version = "1.0" makroname = "Demo_Rota" On Error Resume Next Set activedoc = CATIA.ActiveDocument If Err.Number <> 0 Then MsgBox "Es ist kein Dokument geöffnet", 16, makroname + " " + version Exit Sub End If MsgBox " Abbruch der Rotation durch drücken der ESC-Taste", vbInformation, makroname + " " + version Set viewer1 = CATIA.ActiveWindow.ActiveViewer Set Viewpoint3D1 = viewer1.Viewpoint3D Dim Direction(2) Viewpoint3D1.GetUpDirection Direction Do While Zeit <> "Abbruch" If GetAsyncKeyState(vbKeyEscape) Then Zeit = "Abbruch" End If DoEvents viewer1.Rotate Direction, 0.5 Viewer1.Update Sleep 10 Loop iErr = Err.Number If (iErr <> 0) Then MsgBox (Err.Description) Exit Sub End If End Sub
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. [Diese Nachricht wurde von bgrittmann am 15. Jan. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SvenBoehm Mitglied
Beiträge: 19 Registriert: 09.01.2014 Catia V5 R24 SP6 HF0 Windows 10 Enterprise 64bit Intel Xeon CPU E5-1650v3 32,0GB 2x Quadro K2200
|
erstellt am: 15. Jan. 2014 13:05 <-- editieren / zitieren --> Unities abgeben:
wir kommen der sache näher, makro startet auch. allerdings keine visuelle rotation sichtbar, drück ich dann nach einer weile auf ESC, springt das bauteil in eine andere/verdrehte lage. Anscheinend wird gedreht, man sieht es nur nicht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Schabloneur Mitglied Konstrukteur, Programmierer
Beiträge: 19 Registriert: 09.04.2014 Dell Precision T3610 Win7 Pro 64bit CatiaV5 R19 SP9 H106
|
erstellt am: 15. Apr. 2014 14:03 <-- editieren / zitieren --> Unities abgeben: Nur für SvenBoehm
Hallo Sven, vielleicht interessiert es dich ja noch, aber aus dem Bauch heraus geschossen (Wie geht das eigentlich? ) hast du die zweite Korrektur...
Code: viewer1.update
...nicht mit übernommen?! Oder läuft dein Makro mittlerweile? Grüße, Tilo
------------------ Dem Schabloneur ist nichts zu schwör... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SvenBoehm Mitglied
Beiträge: 19 Registriert: 09.01.2014 Catia V5 R24 SP6 HF0 Windows 10 Enterprise 64bit Intel Xeon CPU E5-1650v3 32,0GB 2x Quadro K2200
|
erstellt am: 15. Apr. 2014 15:48 <-- editieren / zitieren --> Unities abgeben:
Hallo Schabloneur, doch diese Änderung hatte ich auch gesehen. Hab es letzlich komplett mal kopiert. Fehler bleibt noch immer bestehen. Zitat: allerdings keine visuelle rotation sichtbar, drück ich dann nach einer weile auf ESC, springt das bauteil in eine andere/verdrehte lage. Anscheinend wird gedreht, man sieht es nur nicht.
Bin weiterhin für Hilfe offen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CadV5UserR Mitglied Dipl.Ing. Maschinenbau
Beiträge: 79 Registriert: 18.04.2008 Windows 7 x64 Professional SP1 Dell Precision T3500 Intel Xeon CPU W3580 3.33GHz 24Gb Ram NVIDIA Qudro 4000 Catia V5R20 Sp6 SmarTeam V5R20 SP6
|
erstellt am: 16. Apr. 2014 09:52 <-- editieren / zitieren --> Unities abgeben: Nur für SvenBoehm
Hallo Sven, soweit ich mich erinnern kann, musst du folgende Anweisung vor dem drehen setzen. CATIA.RefreshDisplay = True Bei false dreht Catia den Bildschirm erst nach beenden des Scriptes. Grüße, Ralf
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SvenBoehm Mitglied
Beiträge: 19 Registriert: 09.01.2014 Catia V5 R24 SP6 HF0 Windows 10 Enterprise 64bit Intel Xeon CPU E5-1650v3 32,0GB 2x Quadro K2200
|
erstellt am: 16. Apr. 2014 11:41 <-- editieren / zitieren --> Unities abgeben:
|