| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| AMB 2024 |
Autor
|
Thema: Api zum Teil öffnen (4684 mal gelesen)
|
Christoph Weise Mitglied Technischer Produktdesigner / Konstruktion / CAD-Admin
Beiträge: 204 Registriert: 22.03.2015 Dell 3650 Intel I7 11700k 32 GB RAM Nvidia RTX A4000 16GB Win 10 22H2 64-bit SolidWorks 2022SP5 QuickPress 6.3.3 PortaX 2.27 SAP ERP 6.0
|
erstellt am: 14. Sep. 2015 15:47 <-- editieren / zitieren --> Unities abgeben:
Hi Leute, ich komm grad nicht weiter und weiß nicht was ich falsch mach . Hier ist mal mein Code: Code: Sub Porta_X_Eigenschaften_löschen() Dim swApp As SldWorks.SldWorks Dim swModel2 As SldWorks.ModelDoc2 Dim boolstatus As Boolean Dim lErrors As Long Dim lWarnings As Long Dim i As Integer Dim fDateiname As String Dim fDateipfad As String Dim myFSO As Object Dim Zielordner As String Dim fileerror As Long Dim filewarning As Long Set swApp = CreateObject("SldWorks.Application") i = 2 Do While IsEmpty(Cells(i, 3)) = False fDateiname = Cells(i, 3) fDateipfad = Cells(i, 2) Debug.Print fDateipfad If Not Dir(fDateipfad) = "" Then swApp.Visible = True Set swModel2 = swApp.OpenDoc6(fDateipfad, swDocNONE, swOpenDocOptions_Silent, "", fileerror, filewarning) lösche_Eigenschaft 'swModel.ViewZoomtofit2 boolstatus = swModel2.Save3(swSaveAsOptions_Silent, lErrors, lWarnings) ' Errors Debug.Print ("Errors as defined in swFileSaveError_e: " & lErrors) ' Warnings Debug.Print ("Warnings as defined in swFileSaveWarning_e: " & lWarnings) swApp.CloseDoc "fDateipfad" End If i = i + 1 Loop End Sub
Das Problem ist das er die OpenDoc6 Anweisung durchläuft aber kein Dokument geöffnet wird. Alle meine Versuche sind bis jetzt erfolglos gewesen und nun sind die Ideen alle und die Sufu hat auch nichts mehr hergegeben. Vlt. findet ihr den Fehler wär super ------------------ Wer einen Fehler findet darf ihn behalten, wer zwei findet kann beide behalten, ab fünf Fehler gibs Rabatt :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 14. Sep. 2015 17:22 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Hallo, Ich vermute, du übergibst nur den Dateipfad, nicht aber den Dateinamen .... brauchen tut er: "Document name or full path if not in current directory, including Extension" Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 15. Sep. 2015 09:32 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 15. Sep. 2015 10:00 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
|
Christoph Weise Mitglied Technischer Produktdesigner / Konstruktion / CAD-Admin
Beiträge: 204 Registriert: 22.03.2015 Dell 3650 Intel I7 11700k 32 GB RAM Nvidia RTX A4000 16GB Win 10 22H2 64-bit SolidWorks 2022SP5 QuickPress 6.3.3 PortaX 2.27 SAP ERP 6.0
|
erstellt am: 15. Sep. 2015 20:54 <-- editieren / zitieren --> Unities abgeben:
Dank euch fürs drüberschaun @Christian_W Die Variable fDateipfad enthält den Dateipfad den Namen und die Endung. @StefanBerlitz Die Fehler frage ich später im Code ab allerdings ist der Code nie so weit durchgelaufen weil es beim Speichern natürlich ohne Datei nen Fehler gab. Ich werd morgen die Codezeilen davor einbauen und vlt. kommt ich dann dahinter. @KMassler das Problem ist das ich alle Dateitypen (Teil,Baugruppe und Zeichnung) öffnen muss. Was ich ganz vergessen hab zu schreiben: Kann es sein das es auch daran liegt das der Code in Excel geschrien ist?(evtl. noch fehlende Dll)
------------------ Wer einen Fehler findet darf ihn behalten, wer zwei findet kann beide behalten, ab fünf Fehler gibs Rabatt :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 16. Sep. 2015 06:57 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Hallo Christoph, Zitat: @KMassler das Problem ist das ich alle Dateitypen (Teil,Baugruppe und Zeichnung) öffnen muss.
Du hast doch schon ein Arry mit Dateinamen und Pfad, da könntest du doch auch den Datentyp zu deinem Dokument mit reinpacken und in der Schleife entsprechend rausholen. Und ich habe es auch mal getestet es liegt am "swDocNONE". 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 |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 16. Sep. 2015 08:15 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
So sieht's aus, du musst bei jedem OpenDoc6 den richtigen Typ angeben. Das kannst du ja anhand der Dateiendung einfach ermitteln. Und dann entweder mit in ein Array packen. Oder direkt vor der Ausführung von OpenDoc6 feststellen, in eine Variable schreiben und diese mit angeben. ------------------ Klaus www.al-ko.com | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christoph Weise Mitglied Technischer Produktdesigner / Konstruktion / CAD-Admin
Beiträge: 204 Registriert: 22.03.2015 Dell 3650 Intel I7 11700k 32 GB RAM Nvidia RTX A4000 16GB Win 10 22H2 64-bit SolidWorks 2022SP5 QuickPress 6.3.3 PortaX 2.27 SAP ERP 6.0
|
erstellt am: 16. Sep. 2015 09:43 <-- editieren / zitieren --> Unities abgeben:
@Klaus und Bernd Ihr habt natürlich beide recht mit den richtigen Typen funktioniert es fast. Zeichnungen und Baugruppen werden geöffnet. Teile dagegen nicht. Hier mein neuer Codeausschnitt. Code: fDateiname = Cells(i, 3) fDateipfad = Cells(i, 2) Dateityp = Cells(i, 4) Debug.Print fDateipfad If Not Dir(fDateipfad) = "" Then swApp.Visible = True If Dateityp = "SolidWorks Part Document" Then _ Set swModel2 = swApp.OpenDoc6(fDateipfad, swDocPART, swOpenDocOptions_Silent, "", fileerror, filewarning) If Dateityp = "SolidWorks Assembly Document" Then _ Set swModel2 = swApp.OpenDoc6(fDateipfad, swDocASSEMBLY, swOpenDocOptions_Silent, "", fileerror, filewarning) If Dateityp = "SolidWorks Drawing Document" Then _ Set swModel2 = swApp.OpenDoc6(fDateipfad, swDocDRAWING, swOpenDocOptions_Silent, "", fileerror, filewarning)
Wiso es sich so verhält kann ich mir nicht erklären da die Zeilen bis auf die Dateitypen identisch sind. ------------------ Wer einen Fehler findet darf ihn behalten, wer zwei findet kann beide behalten, ab fünf Fehler gibs Rabatt :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 16. Sep. 2015 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Ist schwer zu beantworten, ohne deine Tabelle zu sehen. Ich tippe zuerst mal auf unterschiedliche Schreibweise von "SolidWorks Part Document", vielleicht ein Leerzeichen mehr oder weniger, oder etwas ähnliches... Wenn ich eine Stringvariable (oder Texteigenschaft eines Controls o.ä.) mit einem Text vergleiche, mache ich eigentlich sicherheitshalber immer noch ein Trim dazu, um überflüssige Leerzeichen am Anfang und Ende zu entfernen. Und oft stelle ich das dann noch komplett auf Groß-oder Kleinschreibung um, um völlig sicher zu gehen. In VBA also z.B. ... If UCase(Trim(Dateityp)) = "SOLIDWORKS PART DOCUMENT" Then _ ... [Edit] Bist du sicher, dass fDateipfad den kompletten Dateinamen enthält? Irgendwie kommt mir der Umgang mit fDateipfad und fDateiname etwas seltsam vor (Wie Christian ja ganz oben schon geschrieben hat) [/Edit] ------------------ Klaus www.al-ko.com | mein Gästebuch [Diese Nachricht wurde von KMassler am 16. Sep. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christoph Weise Mitglied Technischer Produktdesigner / Konstruktion / CAD-Admin
Beiträge: 204 Registriert: 22.03.2015 Dell 3650 Intel I7 11700k 32 GB RAM Nvidia RTX A4000 16GB Win 10 22H2 64-bit SolidWorks 2022SP5 QuickPress 6.3.3 PortaX 2.27 SAP ERP 6.0
|
erstellt am: 17. Sep. 2015 00:23 <-- editieren / zitieren --> Unities abgeben:
Hallo Klaus Der Code funktioniert jetzt warum weiß ich nur nicht (hab nich nur das Programm geschlossen sondern einen kompletten neustart gemacht)Warscheinlich hat der PC irgendwas geladen und das hat in die Suppe gespuckt, Solid hatte sich auch immer seltsammer verhalten. Die Variable wird automatisch erzeugt und un der Spalte D gespeichert Spalte C enthählt den Dateinamen mit Endung. Spalte B enthält Den Kompletten Pfad. Spalte A ist noch leer ist aber für einen Kontrollhacken vorgesehn. In dieser Prozedur werden alle Daten aus der Liste abgearbeitet (öffnen, Eigenschaften löschen, speichern,schließen. Das ganze ist ein Teil des Makros um ein Pack`n Go aus einem Filesystem mit vielen Datensätzen heraus zu starten.
------------------ Wer einen Fehler findet darf ihn behalten, wer zwei findet kann beide behalten, ab fünf Fehler gibs Rabatt :-) 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: 17. Sep. 2015 08:28 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Hallo Christoph, alternativ zu dem OpenDoc6 kannst du auch den OpenDoc7 Befehl verwenden. Der ist gerade hinsichtlich Dateityp einfacher zu handhaben. Beispiel: Dim swDocSpec As DocumentSpecification Set swDocSpec = swApp.GetOpenDocSpec(fDateipfad) With swDocSpec .Silent = True .ReadOnly = True End With Set swModel = swApp.OpenDoc7(swDocSpec) Debug.Print swDocSpec.Error Debug.Print swDocSpec.Warning ' Vergleich des Fehlercodes mit bestimmten Fehlerkonstanten If (swDocSpec.Error And swFileLoadError_e.swFileNotFoundError) = swFileLoadError_e.swFileNotFoundError Then MsgBox "Datei konnte nicht geladen werden" End If 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 |
Christoph Weise Mitglied Technischer Produktdesigner / Konstruktion / CAD-Admin
Beiträge: 204 Registriert: 22.03.2015 Dell 3650 Intel I7 11700k 32 GB RAM Nvidia RTX A4000 16GB Win 10 22H2 64-bit SolidWorks 2022SP5 QuickPress 6.3.3 PortaX 2.27 SAP ERP 6.0
|
erstellt am: 17. Sep. 2015 10:52 <-- editieren / zitieren --> Unities abgeben:
Danke Andi, fürs nächste mal schau ich mir die Methode auch an. Aber inzwischen läuft das Makro und ist bis auf ein abzufangende Fehler fertig. Deswegen Never chance a running system Vielen Dank an alle Grüße Christoph ------------------ Wer einen Fehler findet darf ihn behalten, wer zwei findet kann beide behalten, ab fünf Fehler gibs Rabatt :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 17. Sep. 2015 11:27 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
|
Christoph Weise Mitglied Technischer Produktdesigner / Konstruktion / CAD-Admin
Beiträge: 204 Registriert: 22.03.2015 Dell 3650 Intel I7 11700k 32 GB RAM Nvidia RTX A4000 16GB Win 10 22H2 64-bit SolidWorks 2022SP5 QuickPress 6.3.3 PortaX 2.27 SAP ERP 6.0
|
erstellt am: 17. Sep. 2015 11:52 <-- editieren / zitieren --> Unities abgeben:
Hallo An das habe ich auch schon gedacht aber lieber wollte ich die Sache gleich Komplett im Hintergrund laufen lassen ob und wie das funktioniert weiß ich nicht. In der api hab ich schon gesucht und auch gefunden obs die richtige Funktion ist weiß ich aber trotzdem nicht und wie ich sie genau einsetz weiß ich auch nocht nicht, aber in so nem Fall heist es einfach: Probieren geht über studieren. Die API die ich im Sinn hab heißt: EnableBackgroundProcessing Property (ISldWorks) Aber da ich die nächsten Wochen in einer anderen Abteilung ohne PC-Zugang(Lehrlingsdurchlauf) bin muss das warten. Zeitersparnis ist jetzt schon enorm. Statt 8 h sinds noch 30 min bei ner großen Baugruppe, dabei braucht am meisten Zeit die Eigenschaft löschen Funktion die in der Ersten Methode nicht enthalten ist und deswegen später bei unsauberer Arbeitsweise zu Problemen führen kann/wird. Gruß Christoph ------------------ Wer einen Fehler findet darf ihn behalten, wer zwei findet kann beide behalten, ab fünf Fehler gibs Rabatt :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 17. Sep. 2015 13:30 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Hallo Christoph, Zitat: ...,dabei braucht am meisten Zeit die Eigenschaft löschen Funktion...
welche Methode verwendest du zum löschen der Eigenschaften? Weil eigentlich geht das ratzfatz, weil da ja nahezu null Rechenaufwand dahinter steckt. 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 |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 17. Sep. 2015 15:13 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Zitat: Original erstellt von Andi Beck: Hallo Christoph, alternativ zu dem OpenDoc6 kannst du auch den OpenDoc7 Befehl verwenden. Der ist gerade hinsichtlich Dateityp einfacher zu handhaben. ...
Danke für den Hinweis. Ich hab zwar schon mal darüber gelesen (in der Hilfe oder so), aber noch nie angewendet. Aber wenn ich das so bei dir sehe, ist das in der Summe doch eine enorme Vereinfachung. Ich werde das bestimmt beim nächsten Programm so machen, und wenn ich irgendwo eh am Ändern bin, vielleicht auch gleich umbauen. ------------------ Klaus www.al-ko.com | mein Gästebuch 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: 17. Sep. 2015 15:52 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Hallo Klaus, ging mir wie dir, aber beim API Lehrgang wurden die beiden Varianten behandelt. Das Beispiel ist von Thomas Liebezeit - DPS. Seit dem kenne ich nun das OpenDoc7 und möchte es bei den nächsten Projekten ebenfalls verwenden. Es soll aber nicht OpenDoc6 ersetzen, sondern eine weitere Variante sein. Bei OpenDoc7 gibt man eben nur die Optionen an, die man möchte und vom Standard abweichen. Es gibt ja noch mehr als die 2 Optionen aus meinem Beispiel, siehe Hilfe. Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) [Diese Nachricht wurde von Andi Beck am 17. Sep. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 18. Sep. 2015 08:07 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Der Knackpunkt ist ja, dass hier die nötigen Optionen über das "GetOpenDocSpec" automatisch ermittelt werden. Je nach Programm war das unter Umständen ja doch manchmal recht aufwändig. API-Lehrgang....hmmm..steht bei mir jedes Jahr neu in der Planung. Irgendwie komme ich nie dazu. Vielleicht sollte man ja doch mal ...? ------------------ Klaus www.al-ko.com | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 18. Sep. 2015 09:42 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Zitat: ... API-Lehrgang....hmmm..steht bei mir jedes Jahr neu in der Planung. Irgendwie komme ich nie dazu. Vielleicht sollte man ja doch mal ...?
kenne ich irgendwie - und bleibe deshalb wohl copy-paste Programmierer calink benutzt auch opendoc7, dadurch bin ich mal drauf aufmerksam geworden ... Gruß, Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christoph Weise Mitglied Technischer Produktdesigner / Konstruktion / CAD-Admin
Beiträge: 204 Registriert: 22.03.2015 Dell 3650 Intel I7 11700k 32 GB RAM Nvidia RTX A4000 16GB Win 10 22H2 64-bit SolidWorks 2022SP5 QuickPress 6.3.3 PortaX 2.27 SAP ERP 6.0
|
erstellt am: 18. Sep. 2015 10:23 <-- editieren / zitieren --> Unities abgeben:
@Bernd Das Löschen der Eigenschaften ist der kleine Teil davon. zuerst muss das Dokument geöffnet werden um an die Eigenschaften zu kommen. ------------------ Wer einen Fehler findet darf ihn behalten, wer zwei findet kann beide behalten, ab fünf Fehler gibs Rabatt :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 18. Sep. 2015 12:46 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Hallo Christoph, Zitat: Das Löschen der Eigenschaften ist der kleine Teil davon. zuerst muss das Dokument geöffnet werden um an die Eigenschaften zu kommen.
du könntest doch über die DocumentManager-API auch an die Eigenschaften kommen ohne das Dokument öffnen zu müssen, schonmal darüber nachgedacht. 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 |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 18. Sep. 2015 15:37 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
|
Christoph Weise Mitglied Technischer Produktdesigner / Konstruktion / CAD-Admin
Beiträge: 204 Registriert: 22.03.2015 Dell 3650 Intel I7 11700k 32 GB RAM Nvidia RTX A4000 16GB Win 10 22H2 64-bit SolidWorks 2022SP5 QuickPress 6.3.3 PortaX 2.27 SAP ERP 6.0
|
erstellt am: 20. Sep. 2015 21:15 <-- editieren / zitieren --> Unities abgeben:
@ Andreas Das Makro geht von einem bereits geöffnetem Dokument aus. Die Routine zum löschen benötigt selbst keine Zeit nur das Laden des Dkuments dauert lang. Zur 2. Lösung. Leider ist das ein Zusatzprogramm das 1. nicht installiert werden kann (IT sperrt fast alles) und 2. nicht automatisch mit meinem Makro anläuft sondern einen Zusatzschritt bedeutet.Außerdem muss ich nur bestimmte Eigenschaften löschen (die die das Dokument mit dem System verbinden) @ Bernd Die DocumentManger Api kenne ich nicht. Deswegen kann ich auch nicht sagen um sie die Lösung zum schnelleren Löschen ist. Irgendwo hab ich mal gelesen das es möglich ist Benutzerdefinierte Eigenschaften ohne die Datei zu öffnen zu verändern. Die Eigenschaften die ich löschen will sind aber Benutzerdefinierte und Konfigurationsspezifische Eigenschaften.
Gruß Christoph ------------------ Wer einen Fehler findet darf ihn behalten, wer zwei findet kann beide behalten, ab fünf Fehler gibs Rabatt :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 21. Sep. 2015 10:51 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Zitat: Original erstellt von Christoph Weise: ...Irgendwo hab ich mal gelesen das es möglich ist Benutzerdefinierte Eigenschaften ohne die Datei zu öffnen zu verändern. Die Eigenschaften die ich löschen will sind aber Benutzerdefinierte und Konfigurationsspezifische Eigenschaften. ...
Genau das kannst du mit dem DocumentManger (der zugegebenermaßen etwas sperrig ist): Eigenschaften ändern, sowohl benutzerdefinierte als auch konfigurationsspezifische (sind ja auch benutzerdefiniert, heißen nur anders), Referenzen umbiegen und und und ... nur eben, ohne die Datei in SolidWorks zu öffnen und damit viel schneller. Genauer gesagt dürfen die Dateien in SWX nicht geöffnet sein, sonst kann der DocumentManger nicht darauf zu greifen (nach meine Erfahrung). Ist ja auch logisch, denn um die Dateien per DocumentManger zu bearbeiten, müssen sie ja auch "geöffnet" werden. Nur eben ohne Darstellung und Berechnung. ------------------ Klaus www.al-ko.com | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 21. Sep. 2015 12:23 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Zitat: ... Eigenschaften ändern, sowohl benutzerdefinierte als auch konfigurationsspezifische (sind ja auch benutzerdefiniert, heißen nur anders) ...
Hallo, die benutzerdefinierten sehe ich auch mit rechter Maustaste im Windows-Explorer, die konfigurationsspezifischen (bisher) nicht. An die einen müsste man demnach auf ohne SWX rankommen ... Spätestens für die konfigurationsspezifischen wird vermutlich der Documentmanager notwendig ... war da nicht was mit der Lizenznummer, die man im Makro mitgeben muss? Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 22. Sep. 2015 16:05 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Die Lizenznummer musst du dir einmal besorgen, und dann in jedem Makro (oder auch "richtigen" Programmen) mit DocumentManager eintragen. Wie genau, kann ich dir gerade nicht sagen, ich bin zur Zeit nicht an meinem Platz. Aber Achtung: Vor dem Veröffentlichen dieser Makros solltest du diese Lizenznummer immer entfernen, kann leicht vergessen werden. ------------------ Klaus www.al-ko.com | mein Gästebuch [Diese Nachricht wurde von KMassler am 22. Sep. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 23. Sep. 2015 06:39 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Hallo, LINK]Hier kann nachgelesen werden wie man den SolidWorks DocumentManager startet. Es ist zu beachten das der DocumentManager Versionsgebunden ist, mit neuer Version von SolidWorks wird auch ein neuer Lizenzschlüssel benötigt, wenn ich mich richtig erinnere . Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete [Diese Nachricht wurde von bk.sc am 23. Sep. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 23. Sep. 2015 09:27 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Zitat: Original erstellt von bk.sc: Es ist zu beachten das der DocumentManager Versionsgebunden ist, mit neuer Version von SolidWorks wird auch ein neuer Lizenzschlüssel benötigt, wenn ich mich richtig erinnere .
Ich kann das gerade nicht probieren, aber ich glaube nicht, dass das so ist. Was, wenn du ein und das selbe Makro in verschiedenen Versionen einsetzen willst? ------------------ Klaus www.al-ko.com | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 23. Sep. 2015 09:47 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Hallo Klaus, ich glaube es ist nur Abwärtskompatibel aber nicht aufwärts. Sprich wenn du etwas für 2014 geschrieben hast funktioniert es nicht mit 2015 Datein, nur wenn du dir hierfür einen neuen Lizenzschlüssel besorgst. Aber das ist gefährliches halbwissen . [EDIT] Hier mal ein Auszug aus der Online API-Hilfe Zitat: Release NotesThis topic provides you with quick access to the enhancements in SOLIDWORKS Document Manager API 2015. Beginning with SOLIDWORKS Document Manager API 2015 FCS, existing SOLIDWORKS Document Manager API users must request new SOLIDWORKS Document Manager API license keys and renew their SOLIDWORKS Document Manager API license keys when installing any new major release of SOLIDWORKS or the SOLIDWORKS Document Manager API. See the License Key section in Getting Started for additional information.
[/EDIT] Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete [Diese Nachricht wurde von bk.sc am 23. Sep. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 23. Sep. 2015 16:08 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Ok, das scheint aber eben erst ab SWX 2015 der Fall zu sein. Ich habe meines Wissens erst einmal einen License key angefordert, den ich jetzt schon einige Jahre und seit mehreren Versionen benutze. Die entsprechenden Programme laufen auch noch mit SWX 2015, soweit ich das bisher testen konnte. Aber eigentlich ist das doof. Und total unnötig. Wie der Lizenzkey für den DocumentManager überhaupt völlig überflüssig ist. Liebe SolidWorks-Programmierer/-Verantwortliche: Was soll der Quatsch? Das macht nur jedem mehr Arbeit, euch wie uns! Lasst doch solche kundenfeindliche Aktionen in Zukunft. ------------------ Klaus www.al-ko.com | mein Gästebuch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 24. Sep. 2015 06:35 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Hallo Klaus, Zitat: Ok, das scheint aber eben erst ab SWX 2015 der Fall zu sein. Ich habe meines Wissens erst einmal einen License key angefordert, den ich jetzt schon einige Jahre und seit mehreren Versionen benutze. Die entsprechenden Programme laufen auch noch mit SWX 2015, soweit ich das bisher testen konnte.
ich könnte mir auch vorstellen das nur einmal ein Key für Versionen >2015 beantragt werden muss da sich ja im Dateiaufbau einiges geändert haben soll und die API das vielleicht dadurch erkennt wie sie Befehle auszuführen hat oder evtl. Funktionieren Funktionen bei SWX 2015 Datein einfach nicht mehr. 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 |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 24. Sep. 2015 09:57 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Hallo zusammen, ich weiß nicht, wie lange ich in der Beta und auch anschließend noch versucht habe mit den API Leuten darüber zu diskutieren, dass selbst solch eine kleine Änderung, die "nur" Programmierer betrifft, in meinen Augen kundenfeindlich, ressourcenverbrauchend und wenig nachhaltig ist. Aber es passt in die immer mehr managerlastigen Entscheidungen von Dassault in den letzten Jahren Das ist der Grund, warum es z.B. in meinem PAC4SWX für Dokumente der 2015 und aufwärts keine Vorschau mehr gibt, ich weigere mich schlichtweg die Versionsunabhängigkeit meines Tools aufzugeben und meinen kunden lieber nicht in "Wartung" oder Aktualisierungszyklen zu zwingen, die die gar nicht haben wollen. Auch die Hoffnung von Bernd kann ich nicht teilen: auf der Seite http://www.solidworks.com/sw/support/subscription/keyrequest.htm kannst du dir für die 2016 einen neuen Key anfordern (oder dir einen alten der 2015 noch mal schicken lassen). Das geht alles recht schnell und automatisiert, aber das ist nicht der Punkt, ich muss meine Makros und Codes in den Tools jedes Jahr wieder umbauen. Und das war einer der wirklich tollen Dingen an der SW-API, dass alter Code auch Jahre danach noch auch in neuen Versionen lief, wenn man keine neuen Funktionalität brauchte. Leider scheint das vorbei Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jörg.jwd Ehrenmitglied V.I.P. h.c. CAD-PDM Administrator
Beiträge: 3109 Registriert: 05.11.2003
|
erstellt am: 24. Sep. 2015 10:15 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
...es scheint immer schlimmer zu werden. Ich habe langsam den Eindruck dass die Herrschaften von Dassault zu viele Manager von der Autodesk holen oder denen alles "schlechte" abschauen. Dort haben die auch "Kleinigkeiten in im LISP verändert. Das seit 1000 Jahren funktionierende Command wurde da teilweise in ein Command_s umgemodelt so dass nahezu alle bisherigen Programme ohne Überarbeitung nicht mehr laufen. ------------------ Grüße Jörg da ich weiß daß ich nichts weiß weiß ich immer noch mehr als die die nicht wissen daß sie nichts wissen (weiß nicht von wem) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 24. Sep. 2015 14:30 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Zitat: Original erstellt von StefanBerlitz: .... auf der Seite http://www.solidworks.com/sw/support/subscription/keyrequest.htm kannst du dir für die 2016 einen neuen Key anfordern...
Ich habe mir damals (2008) den Schlüssel irgendwie mühsam über den API-Support besorgt. Der Link oben funktioniert inmeinem FF nicht, da lande ich nur auf der Anmeldung zum Customer-Portal von SolidWorks, und weiter geht's nicht. Mit Chrome funktioniert's. Im Prinzip gebe ich Stefan in allem Recht. Nur leider gibt es Programme, die ohne den DocumentManager nicht mehr (oder nicht mehr in gewohnter Qualität) funktionieren, drum kann und will ich da auch in Zukunft nicht darauf verzichten. Wobei ich meine Programme in der Regel nur intern verteile. Und das passiert sowieso immer mal wieder wegen irgendwelchen Änderungen. Den Zusatzärger habe also nur ich, nicht meine Kollegen. ------------------ Klaus www.al-ko.com | mein Gästebuch [Diese Nachricht wurde von KMassler am 24. Sep. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jörg.jwd Ehrenmitglied V.I.P. h.c. CAD-PDM Administrator
Beiträge: 3109 Registriert: 05.11.2003
|
erstellt am: 21. Nov. 2015 16:20 <-- editieren / zitieren --> Unities abgeben: Nur für Christoph Weise
Zitat: Original erstellt von StefanBerlitz:
Das ist der Grund, warum es z.B. in meinem PAC4SWX für Dokumente der 2015 und aufwärts keine Vorschau mehr gibt, ich weigere mich schlichtweg die Versions unabhängigkeit meines Tools aufzugeben und meinen kunden lieber nicht in "Wartung" oder Aktualisierungszyklen zu zwingen, die die gar nicht haben wollen.
Hallo Stefan, das mit der Vorschau scheint mit dem SP5 der 2015 erledigt sein ------------------ Grüße Jörg da ich weiß daß ich nichts weiß weiß ich immer noch mehr als die die nicht wissen daß sie nichts wissen (weiß nicht von wem) [Diese Nachricht wurde von jörg.jwd am 21. Nov. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |