| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| SOLIDWORKS in der Prozesskette Blech – Teil 2 |
Autor
|
Thema: Makro für aktive Datei auschecken - einchecken (852 mal gelesen)
|
rwi Mitglied Konstrukteur; CAD Admin
Beiträge: 11 Registriert: 12.12.2007 SW 2020
|
erstellt am: 27. Okt. 2021 08:11 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, leider kenn ich mich mit Makroprogrammierung nicht aus. Wir haben eine EPDM im Einsatz und ich möchte folgenden Prozess vereinfachen durch ein Makro. Das neue Makro soll für eine aktiv geladenes Modell gelten. Stand jetzt: Der Cursor muß auf dem seitlichen Featurebaum auf der obersten Line stehen. Dann muß man die rechte Maustaste drücken auf "SOLIDWORKS EPDM" dann auf "auschecken". Genau diesen Prozess möchte ich mit einem Makro erschlagen. Ich habe jetzt mit der Funktion "Makro aufzeichnen" versucht, ein solches Makro zu erstellen. Leider ohne Erfolg, da jetzt in diesem Makro schon der Dateiname drin steht. Wie man unten sieht "TESTZEICHNUNG.SLDASM". Das Makro müßte jetzt automatisch den Dateinamen der aktiven Datei erkennen. Jetzt fehlen mir leider die Programmierkenntnisse, damit die automatische Bestimmung der aktiven Datei erkennt wird. Und so wie das Auschecken einer aktiven Datei automatisiert ablaufen soll, sollte auch das Einchecken funktionieren. Hier das automatisch aufgezeichnete Makro: Sub main()
Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc boolstatus = Part.Extension.SelectByID2("TESTZEICHNUNG.SLDASM", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0) Part.ClearSelection2 True boolstatus = Part.Extension.SelectByID2("TESTZEICHNUNG.SLDASM", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0) End Sub Wenn mir jetzt jemand so ein Makro hätte, wäre ich echt dankbar.
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 2019 SP5 AutoCAD 2019 Win 10 pro 64 bit Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 64GB RAM Nvidia Quadro M5000 SWx EPDM
|
erstellt am: 27. Okt. 2021 08:35 <-- editieren / zitieren --> Unities abgeben: Nur für rwi
|
riesi Mitglied CAD-Admin
Beiträge: 1073 Registriert: 06.05.2002 SWX Premium 2020-Sp5
|
erstellt am: 27. Okt. 2021 09:35 <-- editieren / zitieren --> Unities abgeben: Nur für rwi
Zum Ausschecken braucht es den Pfad, den bekommst Du mit: Dim PathToVault as string PathToVault = Part.GetPathName mit diesem Pfad kann die Datei im Tresor aus-/eingecheckt werden. Es gibt aber ein Problem: Du kommst von SWX aus und die Datei hat einen Filelock. Im Makro von Andi wird deswegen die Datei in SolidWorks geschlossen und wieder geladen. Etwas versteckt, aber möglich ist die Option die pdmsw.dll im VBA ein zu binden. Dann bequem aus dem geöffneten Datei aus-/ eingecheckt werden. Code: Sub test() Dim pdmsw As ConisioSWAddIn Set pdmsw = New ConisioSWAddIn pdmsw.Lock End Sub
Leider hat die dll keine Dokumentation und ob dieser Weg so von SWX gewollt ist kann ich nicht beurteilen. Praktisch ist es aber schon. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2572 Registriert: 02.10.2006 Firma: SW 2023-4.0 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2022-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 27. Okt. 2021 09:42 <-- editieren / zitieren --> Unities abgeben: Nur für rwi
|
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2572 Registriert: 02.10.2006 Firma: SW 2023-4.0 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2022-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 27. Okt. 2021 09:45 <-- editieren / zitieren --> Unities abgeben: Nur für rwi
Zitat: Original erstellt von riesi: Im Makro von Andi wird deswegen die Datei in SolidWorks geschlossen und wieder geladen.
Hallo riesi, nö, dem ist nicht so, das Dokument bleibt in SolidWorks geöffnet. Haben wir täglich im Einsatz und auf Tastatur gelegt. Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
riesi Mitglied CAD-Admin
Beiträge: 1073 Registriert: 06.05.2002 SWX Premium 2020-Sp5
|
erstellt am: 27. Okt. 2021 09:50 <-- editieren / zitieren --> Unities abgeben: Nur für rwi
|
rwi Mitglied Konstrukteur; CAD Admin
Beiträge: 11 Registriert: 12.12.2007 SW 2020
|
erstellt am: 27. Okt. 2021 11:50 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen. Zuerst mal 1000 Dank für die schnellen Antworten. Wie gesagt ich weiß gerade wie man Makro schreibt und sonst nur sehr wenig Ahnung. Habe jetzt in dem Makro den Namen unseres Tresors eingetragen. Const sVaultname As String = "_EPDMPROD" 'Name des Tresors PDM Professional Das Makro läuft ohne eine Meldung durch. Ändern tut sich leider nichts! Müßte ich sonst noch was ändern oder beachten? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
riesi Mitglied CAD-Admin
Beiträge: 1073 Registriert: 06.05.2002 SWX Premium 2020-Sp5
|
erstellt am: 27. Okt. 2021 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für rwi
Unter Extras => Verweise prüfen, ob die Referenzen stimmen und ggf. neu setzen. In meinem Fall musste ich alles für 2020 setzen. Wenn das okay ist, unter Ansicht ==> Lokal-Fenster und Direktfenster anmachen, Cursor auf sub main stellen und mit F8 jeden Befehl abarbeiten.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rwi Mitglied Konstrukteur; CAD Admin
Beiträge: 11 Registriert: 12.12.2007 SW 2020
|
erstellt am: 27. Okt. 2021 15:00 <-- editieren / zitieren --> Unities abgeben:
|
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 27. Okt. 2021 15:15 <-- editieren / zitieren --> Unities abgeben: Nur für rwi
Hallo, dir scheint der Verweis auf die Enterprise PDM Bib. (PDMWorks Enterprise 20xx Type Library) zu fehlen. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
riesi Mitglied CAD-Admin
Beiträge: 1073 Registriert: 06.05.2002 SWX Premium 2020-Sp5
|
erstellt am: 27. Okt. 2021 15:29 <-- editieren / zitieren --> Unities abgeben: Nur für rwi
|
rwi Mitglied Konstrukteur; CAD Admin
Beiträge: 11 Registriert: 12.12.2007 SW 2020
|
erstellt am: 28. Okt. 2021 07:47 <-- editieren / zitieren --> Unities abgeben:
Juhu das war noch der entscheidende Tipp. Nochmals vielen Dank. Schade das man keinen Kaffee durch die Leitung senden kann. Ich getraue mich kaum zu fragen, aber wie würde jetzt der Befehl dann für das einchecken lauten? Ich hoffe ich bin nicht unverschämt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2572 Registriert: 02.10.2006 Firma: SW 2023-4.0 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2022-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 28. Okt. 2021 08:57 <-- editieren / zitieren --> Unities abgeben: Nur für rwi
Zitat: Original erstellt von rwi:
Ich getraue mich kaum zu fragen, aber wie würde jetzt der Befehl dann für das einchecken lauten? Ich hoffe ich bin nicht unverschämt.
Hallo, freut mich, wenn dir das Makro gefällt. Für das einchecken habe ich ein separates Makro geschrieben, welches ich hier aber nicht veröffentlicht habe. Wir verwenden es im Alltag auch nicht. Und zwar deshalb, weil ich keinen Weg gefunden habe, wie ich einen Speicherzustand im Tresor überschreiben kann. Dies machen wir manuell, um nur einfache retouchen zu überschreiben. Neue Speicherstände machen wir nur bei Revisionserhöhungen etc.. Das Makro würde beim Einchecken jedes Mal einen neuen Speicherstand (Version) erzeugen, was wir nicht haben wollen. Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rwi Mitglied Konstrukteur; CAD Admin
Beiträge: 11 Registriert: 12.12.2007 SW 2020
|
erstellt am: 28. Okt. 2021 11:37 <-- editieren / zitieren --> Unities abgeben:
Hallo, alles klar. Ja tatsächlich dieser Eincheckprozess ist komplexer. Vor allem bei Baugruppen. Im Prinzip wäre es wahrscheinlich einfacher, wenn man quasi ein Makro hätte, welches nur den Prozess "rechte Maustaste - einchecken" erledigt und dann erscheint ja das Fender "Einchecken". Man müßte dann wieder handisch eingreifen, um eben dann den Eincheckvorgang zu beenden. Wir arbeiten tatsächlich mit Versionen. Mir ist ja schon geholfen worden mit dem auschecken.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
riesi Mitglied CAD-Admin
Beiträge: 1073 Registriert: 06.05.2002 SWX Premium 2020-Sp5
|
erstellt am: 28. Okt. 2021 11:46 <-- editieren / zitieren --> Unities abgeben: Nur für rwi
|