Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API nach auschecken bleibt Schreibschutz aktiv

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
SolidCAM Professor Videos | Tipps & Tricks (SolidCAM)
Autor Thema:  API nach auschecken bleibt Schreibschutz aktiv (1702 mal gelesen)
LeonardStark
Mitglied



Sehen Sie sich das Profil von LeonardStark an!   Senden Sie eine Private Message an LeonardStark  Schreiben Sie einen Gästebucheintrag für LeonardStark

Beiträge: 100
Registriert: 14.08.2018

erstellt am: 15. Apr. 2019 11:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo, ich möchte gerne per API ein Teil inklusive der Zeichnung auschecken. Allerdings bleibt dann für die Zeichnung der Schreibschutz aktiv. Weiß jemand, wie ich den folgenden Code ändern muss, damit das Verhalten ist, als ob ich manuell freigebe und auschecke?


afile = eVault.GetFileFromPath(only_path + Dateiname+".sldprt", out ParentFolder);//checkt immer die part Datei aus, auch wenn eine Zeichnung geöffnet ist.
myFolderpos = afile.GetFirstFolderPosition();
myFolder = afile.GetNextFolder(myFolderpos);
afile.LockFile(myFolder.ID, this.Handle.ToInt32(),0);

Danke

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nahe
Ehrenmitglied



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 15. Apr. 2019 11:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für LeonardStark 10 Unities + Antwort hilfreich

Hallo,

hab mit EPDM noch nicht viel am Hut, aber wenn Du

... +".sldprt"

holst wird wohl nur die Teiledatei und nicht die Zeichnung betroffen sein
meiner Meinung nach müsstest Du auch die "slddrw" ermitteln

------------------
Grüße
Heinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

LeonardStark
Mitglied



Sehen Sie sich das Profil von LeonardStark an!   Senden Sie eine Private Message an LeonardStark  Schreiben Sie einen Gästebucheintrag für LeonardStark

Beiträge: 100
Registriert: 14.08.2018

erstellt am: 15. Apr. 2019 11:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Die Zeichnung frag ich dann in einem zweiten Schritt ab und geb diese dann auch noch frei. Die .sldprt dient mir nur als Ausgangspunkt für einen gleichbleibenden Quellcode egal, ob ich eine Zeichnung oder ein Teil offen habe.

Im Teil bleibt der Schreibschutz auch aktiv. Als ausgecheckt bzw. freigegeben etc. werden die Dateien im PDM AddOn auf jeden Fall angezeigt, das scheint zu funktionieren.

[Diese Nachricht wurde von LeonardStark am 15. Apr. 2019 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rawo
Ehrenmitglied
technische Zeichnerin, Hobby-Admin


Sehen Sie sich das Profil von rawo an!   Senden Sie eine Private Message an rawo  Schreiben Sie einen Gästebucheintrag für rawo

Beiträge: 1617
Registriert: 29.03.2001

-----------------------------------
Nichtstun macht nur Spass, wenn man eigentlich viel zu tun hätte. (Sir Coward)<P>Status: "Konfigurations-Junkie"

erstellt am: 15. Apr. 2019 13:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für LeonardStark 10 Unities + Antwort hilfreich

aber wieso so kompliziert... das kann doch das PDM (falls Du SWX PDM meinst) auch selbst, per Einstellungen...
oder nicht?

------------------
Kein Mensch ist so beschäftigt, dass er nicht die Zeit hätte, jedem zu erzählen, wie beschäftig er ist.

SWX 2018 SP5 / PDM Professional
Office 2016
Windows 10 Pro 64 bit
Dell Precision T3600
Intel Xeon E5
16 Gb RAM
NVIDIA Quadro M2000
Space Pilot Pro

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

LeonardStark
Mitglied



Sehen Sie sich das Profil von LeonardStark an!   Senden Sie eine Private Message an LeonardStark  Schreiben Sie einen Gästebucheintrag für LeonardStark

Beiträge: 100
Registriert: 14.08.2018

erstellt am: 15. Apr. 2019 14:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

meinst du die allgemeine Funktion, des freigebens/auscheckens etc.? Das stimmt im Prinzip, bedarf aber einer Menge Klicks (insgesamt 10 inkl. Wartezeit bis die Datei am Ende wieder freigegeben ist. Das kann man so auf 2 reduzieren)

Hat noch jemand eine Idee?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Maler
Mitglied
Konstrukteur / CAD-Admin / Mädchen für alles


Sehen Sie sich das Profil von CAD-Maler an!   Senden Sie eine Private Message an CAD-Maler  Schreiben Sie einen Gästebucheintrag für CAD-Maler

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: 15. Apr. 2019 14:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für LeonardStark 10 Unities + Antwort hilfreich

Ich vermute mal, das hängt damit zusammen, dass die Zeichnung noch geöffnet ist. Ich versuche immer, PDM-Operationen nur an geschlossenen Dateien vorzunehmen, das ist wesentlich stressfreier als bei geöffneten Sachen.

Das hier müsste dir aber vielleicht weiterhelfen:

http://help.solidworks.com/2017/english/api/sldworksapi/SOLIDWORKS.Interop.sldworks~SOLIDWORKS.Interop.sldworks.ISldWorks~CloseAndReopen.html

Gruß, Jens

Edit:

Ansonsten die Holzhammermethode:

Code:

        'Schreibschutz aufheben
        Set FSO = CreateObject("Scripting.FileSystemObject")
        Set F1 = FSO.GetFile(Filename)
       
        If F1.Attributes > 0 Then
          If F1.Attributes Mod 2 = 1 Then 'wenn Schreibschutz aktiv...
              F1.Attributes = F1.Attributes - 1 '...deaktivieren
          End If
        End If

------------------
CSWE =)

[Diese Nachricht wurde von CAD-Maler am 15. Apr. 2019 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

LeonardStark
Mitglied



Sehen Sie sich das Profil von LeonardStark an!   Senden Sie eine Private Message an LeonardStark  Schreiben Sie einen Gästebucheintrag für LeonardStark

Beiträge: 100
Registriert: 14.08.2018

erstellt am: 15. Apr. 2019 15:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hmm, gute Idee mit dem schließen und wieder öffnen. Ich hab das programmiertechnisch noch nicht umgesetzt bekommen, aber manuell behebt es das problem. Ich kriege aber auch öfter die Fehlermeldung, das Teil wäre in einer anderen Anwendung aktiv. Hilft das vielleicht dem Fehler auf die Spur zu kommen?
ist das eigentliche in üblicher Weg zum Auschecken oder mach ich da was, das so vollkommen abwegig ist?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


Sehen Sie sich das Profil von Carsten1210 an!   Senden Sie eine Private Message an Carsten1210  Schreiben Sie einen Gästebucheintrag für Carsten1210

Beiträge: 1358
Registriert: 24.07.2002

AutoCAD ACA 2019
Solidworks 2021 Sp5.1
Enterprise PDM 2021 Sp5
Pascam Woodworks
Visual Studio 2017 Pro
Windows 10 64Bit
Dell T3620
Intel Core i7-7700K
16 GB Arbeitsspeicher
2x Dell Ultrasharp U2415
Dell M4800

erstellt am: 15. Apr. 2019 21:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für LeonardStark 10 Unities + Antwort hilfreich

Hi Leonard,

du musst erst den Zugriff von Solidworks auf die Datei lösen, dazu benötigst du die Funktion ".ForceReleaseLocks"
Nach dem Auschecken musst du die Datei wieder Solidworks mittels "ReloadOrReplace" für den Zugriff zur Verfügung stellen.
Daher kommt auch bei dir die Meldung das die Datei in einer anderen Anwendung geöffnet ist.

Gruss, Carsten

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Maler
Mitglied
Konstrukteur / CAD-Admin / Mädchen für alles


Sehen Sie sich das Profil von CAD-Maler an!   Senden Sie eine Private Message an CAD-Maler  Schreiben Sie einen Gästebucheintrag für CAD-Maler

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: 16. Apr. 2019 08:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für LeonardStark 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von LeonardStark:
Ich hab das programmiertechnisch noch nicht umgesetzt bekommen,

Codeschnipsel dazu:

Code:

'Datei auschecken
                Set file = vault.GetFileFromPath(Filename, folder)
       
                If file.IsLocked = False Then
                    iRelease = Part.ForceReleaseLocks
                    If iRelease = 1 Then
                        file.LockFile folder.ID, 0
                        nRetVal = Part.ReloadOrReplace(False, Part.GetPathName, True)
                    ElseIf iRelease = 0 Then
                        MsgBox "Unable to check out the file " & file.Name, vbOKOnly, "Error!"
                    End If
                End If

Ist irgendwo aus einem Beispiel in der SolidWorks-Hilfe. 

Gruß, Jens

------------------
CSWE =)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

LeonardStark
Mitglied



Sehen Sie sich das Profil von LeonardStark an!   Senden Sie eine Private Message an LeonardStark  Schreiben Sie einen Gästebucheintrag für LeonardStark

Beiträge: 100
Registriert: 14.08.2018

erstellt am: 16. Apr. 2019 10:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

super, vielen Dank für die ausführlichen Hinweise. Da wär ich nicht drauf gekommen.
Ich schaffs leider erst in den nächsten Tagen das auszuprobieren, sonst könnte ich gleich sagen, ob das funktioniert.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz