| |
| Zusammenspiel zwischen DraftSight und SOLIDWORKS |
Autor
|
Thema: per SWX-Makro nächste Seriennummer abfragen (1315 mal gelesen)
|
magge84 Mitglied Dipl.-Ing. (Entwicklung)
Beiträge: 66 Registriert: 04.09.2008 Solid Works 2018 + PDM Windows 10 64-bit HP Z-Book Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz NVIDIA Quadro M3000M
|
erstellt am: 19. Okt. 2018 08:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Gemeinde, ich stehe mal wieder vor einem Problem und weiß nicht weiter. Ich schreibe gerade an einem Makro für SWX, dass unter anderem die nächste Seriennr. aus dem Tresor auslesen soll. Hier den Code-Schnipsel den ich dafür im Netz (SWX-Api-Hilfe) gefunden habe. Code:
Set serialNbrs = vault.CreateUtility(11) Dim serialNbrValue Set serialNbrValue = serialNbrs.AllocSerNoValue("Projektnummer") Dim serialNbrValueValue serialNbrValueValue = serialNbrValue.Value
Problem ist nun, dass schon in der ersten Zeile (...CreateUtility...) schon der Fehler auftritt. serialNbrs wird als vault-Object deklariert und nicht wie gewünscht als SerialNumber. Somit funktionieren auch die weiteren Abfragen nicht. Weiß irgendwer wo mein Fehler liegt? Bzw. wie ich das anders machen kann. ------------------ Gruß, Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulf St. Mitglied IT-Verantwortlicher ERP/PDM/CAD
Beiträge: 36 Registriert: 10.04.2017 SolidWorks 2017 SP5 SQL-Server 2008-2016
|
erstellt am: 21. Okt. 2018 10:44 <-- editieren / zitieren --> Unities abgeben: Nur für magge84
|
magge84 Mitglied Dipl.-Ing. (Entwicklung)
Beiträge: 66 Registriert: 04.09.2008 Solid Works 2018 + PDM Windows 10 64-bit HP Z-Book Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz NVIDIA Quadro M3000M
|
erstellt am: 22. Okt. 2018 09:36 <-- editieren / zitieren --> Unities abgeben:
Hallo Ulf, soweit war ich schon. Problem ist, dass ich die Integration der Type-Libary vermeiden will. Was ich vielleicht beim letzten Mal vergessen habe ist, dass ich den Code in einen PDM-Task packen möchte. Wenn ich auf die Type-DLL verweise und denn Code dann in den Task kopiere, bricht der Task einfach ab. Gibt es hier einen Ausweg? ------------------ Gruß, Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulf St. Mitglied IT-Verantwortlicher ERP/PDM/CAD
Beiträge: 36 Registriert: 10.04.2017 SolidWorks 2017 SP5 SQL-Server 2008-2016
|
erstellt am: 22. Okt. 2018 12:32 <-- editieren / zitieren --> Unities abgeben: Nur für magge84
Hallo Markus, ich habe es für mich so gelöst, dass ich die Seriennummer per SQL (select [Counter] from dbo.[SerialNumbers] where [Name] = '<serial number name>') durch eine Stored Procedure abfrage. ------------------ Mit freundlichen Grüßen Ulf-Dirk Stockburger BiI SAP-PDM Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2017 SP5 AutoCAD 2017 Win 8.1 pro 64 bit Intel Xeon 3,5GHz 16GB RAM Nvidia Quadro K2200 SWx EPDM AP+
|
erstellt am: 22. Okt. 2018 16:12 <-- editieren / zitieren --> Unities abgeben: Nur für magge84
Zitat: Original erstellt von magge84: PDM-Task
Was ich an so einer Stelle ganz gern mache: Ein normales SWX-Makro schreiben und dieses dann im Task-Skript einfach aufrufen. Dort hast du dann mit dem binding keine Probleme mehr. Code:
Dim swApp As Object Dim FilePathName As String Dim ModuleName As String Dim ProcedureName As String Dim Options As Long Dim Error As Long Dim value As BooleanSub main() Set swApp = Application.SldWorks FilePathName = "D:\..... .swp" ModuleName = "Modul1" ProcedureName = "main" swApp.UserControl = True value = swApp.RunMacro2(FilePathName, ModuleName, ProcedureName, Options, Error) End Sub
Gruß, Jens ------------------ CSWE =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
magge84 Mitglied Dipl.-Ing. (Entwicklung)
Beiträge: 66 Registriert: 04.09.2008 Solid Works 2018 + PDM Windows 10 64-bit HP Z-Book Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz NVIDIA Quadro M3000M
|
erstellt am: 23. Okt. 2018 15:51 <-- editieren / zitieren --> Unities abgeben:
Hallo Jens, dein Work-Around scheint am einfachsten zu sein. Hab deinen Vorschlag auch schon umgesetzt und funktioniert. Allerdings bekomme ich eine Fehlermeldung. 'Konnte keine Lizenz für SolidWorks Task Scheduler erhalten.' Danach läuft das Makro problemlos weiter. Gibt es einen Grund für die Fehlermeldung? ------------------ Gruß, Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2017 SP5 AutoCAD 2017 Win 8.1 pro 64 bit Intel Xeon 3,5GHz 16GB RAM Nvidia Quadro K2200 SWx EPDM AP+
|
erstellt am: 23. Okt. 2018 16:27 <-- editieren / zitieren --> Unities abgeben: Nur für magge84
|
magge84 Mitglied Dipl.-Ing. (Entwicklung)
Beiträge: 66 Registriert: 04.09.2008 Solid Works 2018 + PDM Windows 10 64-bit HP Z-Book Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz NVIDIA Quadro M3000M
|
erstellt am: 23. Okt. 2018 16:54 <-- editieren / zitieren --> Unities abgeben:
|
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2017 SP5 AutoCAD 2017 Win 8.1 pro 64 bit Intel Xeon 3,5GHz 16GB RAM Nvidia Quadro K2200 SWx EPDM AP+
|
erstellt am: 24. Okt. 2018 08:43 <-- editieren / zitieren --> Unities abgeben: Nur für magge84
Spekulation: Die Fehlermeldung ist a) unglücklich formuliert oder b) der Fehler wird an der falschen Stelle abgefangen. Kennt man als Programmierer ja zur Genüge. Vielleicht meckert er nur kurz rum, dass nur eine Standard-Lizenz geladen ist (-> Fehlermeldung) und lädt dann automatisch eine Prof. nach und macht weiter? Keine Ahnung. Am besten mal den Reseller drauf ansetzen. Dafür bekommen die schließlich ihr Geld. (Hallo an alle Reseller da draußen ) Edit: Nein, mit dem Taskplaner hat der Code theoretisch nichts zu tun. Außer vielleicht in der verqueren Logik eines Programmierers aus Massachusetts, der zuviel Peanutbutter-Jelly-Sandwiches gefuttert hat. Gruß, Jens ------------------ CSWE =) [Diese Nachricht wurde von CAD-Maler am 24. Okt. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |