| |
![](https://ww3.cad.de/php/image.php?resolution=width:20050) | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
![](https://ww3.cad.de/php/image.php?resolution=width:16185) | Passgenaue Teamarbeit: SOLIDWORKS und SOLIDWORKS Cloud Apps, ein Webinar am 06.09.2024
|
Autor
|
Thema: api zum Datenkarte ändern (setvar)ergibt fehler (1507 / mal gelesen)
|
LeonardStark Mitglied
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für LeonardStark](/foren/ubb/pmimages/gbu.gif) Beiträge: 105 Registriert: 14.08.2018
|
erstellt am: 28. Jun. 2019 13:15 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Hallo Ich bekomme immer eine Fehlermeldung, wenn ich über setvar ein Feld in einer Datenkarte ändern möchte: " Es wurde versucht eine Datei zu öffnen, die von einer anderen Anwendung geöffnet ist" Hat jemand eine Idee, was mein Fehler ist? Hier der Code: Code:
IEdmFile5 afile = null; swPart = swApp.ActiveDoc; //ModelDoc2 swModel = swApp.ActiveDoc; string Pfad = swPart.GetPathName(); object HArt = null; object Ben2 = null; afile = eVault.GetFileFromPath(Pfad, out ParentFolder); string mytemp=null; string[] ConfigNames; IEdmEnumeratorVariable5 myvarEnum_openPart = null; ConfigNames = swApp.GetConfigurationNames(swPart.GetPathName()); myvarEnum_openPart = afile.GetEnumeratorVariable(); myvarEnum_openPart.GetVar("HArtikelnummer", "@", out HArt); myvarEnum_openPart.GetVar("Benennung2", "@", out Ben2); foreach (string myConfigName in ConfigNames) { myvarEnum_openPart.SetVar("Benennung2 ", myConfigName, HArt.ToString()); //Diese Zeile Produziert den Fehler myvarEnum_openPart.Flush(); } MessageBox.Show("fertig");
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für CAD-Maler](/foren/ubb/pmimages/gbu.gif) Beiträge: 723 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: 28. Jun. 2019 14:03 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für LeonardStark
Zitat: Original erstellt von LeonardStark: Hat jemand eine Idee, was mein Fehler ist?
SolidWorks hat dir doch schon gesagt, was dein Fehler ist: "Es wurde versucht eine Datei zu öffnen, die von einer anderen Anwendung geöffnet ist." Du hast die Datei im SolidWorks offen. Währenddessen kannst du in der Datenkarte keine Änderungen vornehmen. Nicht per API und übrigens auch nicht von Hand. Genausowenig wie du eine Datei im Explorer ein- oder auschecken kannst, während sie geöffnet ist. Möglichkeit 1: Die Eigenschaft direkt im Modell ändern und das speichern. Möglichkeit 2: Die Änderung vornehmen ohne das Teil zu öffnen. Edit: Möglichkeit 3: Theoretisch kannst du im Admin-Tool die Warnung deaktivieren (lassen). Die Folgen von inkosistenten Daten malst du dir bitte selbst aus... Gruß, Jens ------------------ CSWE =) [Diese Nachricht wurde von CAD-Maler am 28. Jun. 2019 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LeonardStark Mitglied
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für LeonardStark](/foren/ubb/pmimages/gbu.gif) Beiträge: 105 Registriert: 14.08.2018
|
erstellt am: 28. Jun. 2019 14:51 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Hallo jens, vermutlich versteh ich dich da falsch, also korrigier mich bitte, aber von hand kann ich sehr wohl im geöffneten Solidworks die Datenkarte anzeigen lassen und dort Werte ändern. Aber wie stell ich denn das per API an? Ich geh jetzt den weg, die Datei zu schließen, stehe aber dann vor dem nächsten Problem, dass die Datei Schreibgeschützt ist, wenn ich sie wieder öffne. (Zur Erklärung, mein Makro läuft über eine separate WindowsForm). Damit ich daraus eine Lösung ziehen kann, könntest du mir bitte noch sagen, welche methode/Funktion/Ansatz/google suche du meinst mit“direkt im Modell und das speichern“? Und hat vielleicht noch jemand eine Idee, wie man das dokument nach der Bearbeitung wieder öffnet ohne dass es schreibgeschützt ist?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für Carsten1210](/foren/ubb/pmimages/gbu.gif) 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: 28. Jun. 2019 16:21 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für LeonardStark
Hi Leonard, Du wirst hier ".ForceReleaseLocks()" verwenden müssen da Solidworks die Datei in Zugriff hat und du so keine Änderungen durchführen kannst. Danach kannst du die Datei Solidworks mit ".ReloadOrReplace" wieder in Zugriff geben. Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Olls Lai Lolli Mitglied Konstrukteur
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für Olls Lai Lolli](/foren/ubb/pmimages/gbu.gif) Beiträge: 374 Registriert: 07.05.2009 MS Windows 10 Prof. Intel Xeon E5-1630 v 3 3.7 GHz 32 GB Ram Nvidia Quadro M4000 SWX 2019 x64 SP 5 PDM Enterprise 2019 SP 3
|
erstellt am: 29. Jun. 2019 16:08 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für LeonardStark
|
LeonardStark Mitglied
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für LeonardStark](/foren/ubb/pmimages/gbu.gif) Beiträge: 105 Registriert: 14.08.2018
|
erstellt am: 01. Jul. 2019 08:47 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Super Carsten, danke für den Tipp. Das probier ich aus. Nicht direkt OLL, ich ändere Bauteilabmessungen, die automatisiert in der Datenkarte geschrieben bzw dort aktualisiert werden sollen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LeonardStark Mitglied
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für LeonardStark](/foren/ubb/pmimages/gbu.gif) Beiträge: 105 Registriert: 14.08.2018
|
erstellt am: 01. Jul. 2019 14:11 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Mit dem Forcereleaslocks läuft das Makro jetzt gut durch und tut was es soll. Der Teil Code:
string Pfad = swPart.GetPathName(); swPart.ReloadOrReplace(false, Pfad, true);
scheint aber noch nicht zu funktionieren. Die Datei ist nach Ablauf wieder schreibgeschützt für SldWks. Benutze ich da was falsch? [Diese Nachricht wurde von LeonardStark am 01. Jul. 2019 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für Carsten1210](/foren/ubb/pmimages/gbu.gif) 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: 01. Jul. 2019 14:35 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für LeonardStark
|
LeonardStark Mitglied
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für LeonardStark](/foren/ubb/pmimages/gbu.gif) Beiträge: 105 Registriert: 14.08.2018
|
erstellt am: 01. Jul. 2019 14:39 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
|