| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| SOLIDWORKS Cloud: Anleitung zum Konstruieren im Browser |
Autor
|
Thema: Kann man Mit Macro eine Baugruppe ein- und auschecken? (652 / mal gelesen)
|
Mutaz Yunan Mitglied Konstrukteur
Beiträge: 24 Registriert: 07.06.2017
|
erstellt am: 15. Feb. 2022 15:06 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen ich habe vorher das Thema "Kann man Mit Macro ein Teil ein- und auschecken?" erstellt und nach Besprechung war alles super gelaufen. Jetzt bin wieder mit dem Thema beschäftigt. Dieses Mal muss ich eine BG ein und auschecken. Die BG enthält ausgecheckte Teile. Dasselbe Code funktioniert aber nur wenn alle Teilen in der BG eingecheckt sind. wenn ein Teil im BG ausgecheckt ist, bekommt man eine Fehlermeldung. Auch wenn ein Teil in einen anderen Teil eingefügt funktioniert das Makro nicht. Also wie kann man mit Macro die BG ein- und auschecken, abgesehen von der Inhalt? ------------------ Mutaz Yunan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mutaz Yunan Mitglied Konstrukteur
Beiträge: 24 Registriert: 07.06.2017
|
erstellt am: 23. Feb. 2022 13:30 <-- editieren / zitieren --> Unities abgeben:
Hallo Profis Ich habe hier ein Code geschrieben . Code funktioniert aber das Problem ist: die BG muss vor Versionerhöhen geschloßen werden. Ist es möglisch die BG öffen lassen? Option Explicit
Sub Start() Dim swApp As SldWorks.SldWorks Dim ModelDoc As SldWorks.ModelDoc2 Dim Tresor As EdmVault5 Dim file As IEdmFile5 Dim ModelPathName As String Dim TresorName As String Dim Errors As Long Dim Warnings As Long Set swApp = Application.SldWorks Set ModelDoc = swApp.ActiveDoc Set Tresor = New EdmVault5 ' Pfad merken ModelPathName = ModelDoc.GetPathName ' Tresor entdecken und einlogen TresorName = Tresor.GetVaultNameFromPath(ModelPathName) Tresor.LoginAuto TresorName, 0 Set file = Tresor.GetFileFromPath(ModelPathName) ' Model Aktuellisieren und speishern(Version Erhöhen erfolgt nur wenn die Datei geändert ist) ModelDoc.ForceRebuild3 True ModelDoc.Save ' Schließen der Datei ist nötwendig für Version Erhöhen swApp.CloseDoc file.Name ' Version erhöhen file.UnlockFile 2, "Version automatisch erhöht über Makro", EdmUnlock_KeepLocked Set ModelDoc = swApp.OpenDoc6(ModelPathName, swDocumentTypes_e.swDocASSEMBLY, swOpenDocOptions_e.swOpenDocOptions_Silent, "", Errors, Warnings) End Sub ------------------ Mutaz Yunan 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: 23. Feb. 2022 15:26 <-- editieren / zitieren --> Unities abgeben: Nur für Mutaz Yunan
|
Mutaz Yunan Mitglied Konstrukteur
Beiträge: 24 Registriert: 07.06.2017
|
erstellt am: 24. Feb. 2022 08:40 <-- editieren / zitieren --> Unities abgeben:
Hallo riesi danke schön für deine Antwort wahrscheinlich hast du mein Problem nicht durchgelesen. Was du mir verlinkst hast, ist eine andere Hausnummer. ich versuche die BG ein- dan auschecken ohne den Inhalt zu berühen. Mein Fehler im Code war die EdmUnlockFlag Enumeration im Befehl UnlockFile, weil der Member EdmUnlock_KeepLocked die Teile in der BG mitauscheckt ich muss erstmal den Befehl UnlockFile mit dem Member EdmUnlock_IgnoreReferences verwenden, dann den Befehl LockFile. ForceReleaseLocks und ReloadOrReplace soll man auch nicht vergessen. ich bearbeite noch das Code und wenn es soweit ist, werde ich hier schreiben LG ------------------ Mutaz Yunan 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: 24. Feb. 2022 10:15 <-- editieren / zitieren --> Unities abgeben: Nur für Mutaz Yunan
Doch schon, der im Link verwendete Code kann eine geöffnete Datei in SolidWorks auschecken. Damit das geht, muss in SolidWorks der File-Lock aufgehoben werden, damit die PDM-Befehle etwas mit Datei machen können. Die zu nutzende Methode in SolidWorks ist vom Datei-Typ anbhängig, Zeichnungen sollen anders behandelt werden. Anschließend kann mit PDM-Befehlen etwas gemacht werden, z.B. die Datenkarte ändern. Aufpassen muss man bei gekoppelten Eigenschaften mit SolidWorks, dann muss man auch in SolidWorks ran. Im von mir verlinkten Makro wird zusätzlich auch der Status der Datei überprüft und korrigiert, bis ausgecheckt werden kann. Das ist dann die andere Hausnummer. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |