Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Benutzerdefinierte Eigenschaften aus Modellen ins Excel auslesen und zurückschreiben

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
Autor Thema:   Benutzerdefinierte Eigenschaften aus Modellen ins Excel auslesen und zurückschreiben (462 mal gelesen)
Dorgar
Mitglied


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

Beiträge: 3
Registriert: 23.03.2017

erstellt am: 23. Mrz. 2017 15: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

Ich arbeite mit einem selbsterstellten Exceltool, das die Benutzerdefinierten Eigenschaften von Solidworks Kaufteilmodellen eines Verzeichnisses ausließt und mit der Kaufteildatenbank aus dem SAP vergleicht. Korrigierte Benutzerdefinierte Eigenschaften werden in die Modelle zurückgeschrieben. Das Auslesen und Zurückschreiben erfolgt mit Hilfe der Datei dsofile.dll von Microsoft. Das Auslesen und Zurückschreiben funktioniert seit der Solidworks Version 2015 nicht mehr, weil sich die Properties jetzt an anderer Stelle im Modell befinden, wie ich von unsere IT erfahren habe.

Kann mir jemand sagen, wie ich an die Benutzerdefinierten Eigenschaften von Solidworks 2015 Modellen drankomme.

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

dopplerm
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 2758
Registriert: 11.02.2005

PNY FX 380
Win 7 64bit
SWX 2014 SP 4.0

erstellt am: 24. Mrz. 2017 09:07    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 Dorgar 10 Unities + Antwort hilfreich

https://ww3.cad.de/foren/ubb/Forum2/HTML/030409.shtml
[Edit Stefan]Link korrigiert[/edit]

------------------
ich spiel noch immer gern mit Bauklötzen, nur sind sie jetzt teurer   

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

Dorgar
Mitglied


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

Beiträge: 3
Registriert: 23.03.2017

erstellt am: 24. Mrz. 2017 09:52    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 dopplerm,

ich kann leider deinen Link nicht öffnen. Die Seite kann nicht gefunden oder angezeigt werden. 

LG
Dorgar

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8613
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. Mrz. 2017 11:10    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 Dorgar 10 Unities + Antwort hilfreich

Hallo Dorgar,

ich hab gerade bei Martin im Beitrag den Link korrigiert, ich befürchte aber, das ist nicht das, was du meinst.

Um Dateieigenschaften durch ein externes Tool auszulesen/zu setzen benutzt du ab der SW2015 nicht mehr dsofile.dll, sondern den SolidWorks Document Manager. Infos dazu findest du in der passenden Hilfedatei oder online unter http://help.solidworks.com/2017/english/api/swdocmgrapi/gettingstarted-swdocmgrapi.html 

Hier ist auch beschrieben, was du machen musst, um an einen Entwicklerschlüssel zu kommen, das geht mittlerweile recht einfach und automatisiert.

Darin gibt es die verschiedenen Calls, mit denen du Dateieigenschaften (auch konfigurationsspezifisch) lesen und schreiben kannst, z.B. ISwDocument.AddCustomProperty, ISwDocument.SetCustomProperty,  ISwDocument.DeleteCustomProperty oder auch ISwDMDocument3.GetAllCustomPropertyNamesAndValues

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

Dorgar
Mitglied


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

Beiträge: 3
Registriert: 23.03.2017

erstellt am: 24. Mrz. 2017 12:35    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

Vielen Dank Stefan!

Ich werde mal bei unserer IT den Entwicklerschlüssel erfragen bzw. selbst beantragen.

LG
Dorgar

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

dopplerm
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 2758
Registriert: 11.02.2005

PNY FX 380
Win 7 64bit
SWX 2014 SP 4.0

erstellt am: 24. Mrz. 2017 14:04    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 Dorgar 10 Unities + Antwort hilfreich

Auf Stefan kann man sich verlassen 

------------------
ich spiel noch immer gern mit Bauklötzen, nur sind sie jetzt teurer 

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

Nickel3011
Mitglied



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

Beiträge: 69
Registriert: 13.06.2014

Solid Works Premium 2014 x64-Edition SP 5.0
PC-Info: Windows 7; RAM 32Gb; NVIDIA Quadro M4000

erstellt am: 28. Mrz. 2017 08:17    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 Dorgar 10 Unities + Antwort hilfreich


Makro.JPG

 
Hallo Leute,

wir haben ein Makro zur Steuerung unserer Baugruppen im Einsatz, nun bin ich auch gerade dabei den Dateinamen aus den benutzerdefinierten Eigenschaften mit VBA auszulesen und diesen Wert in eine Excelzelle auszugeben, das funktioniert bescheiden.

Ich bin leider ein totaler Laie was VBA angeht aber versuche mein Bestens   . Nun die genaue Funktion die ich mir erhoffe. Im Makro auf den Button "Dateinamen anpassen" klicken somit werden der Dateiname von einer Baugruppe sowie von den darunter liegenden Dokumenten in die Spalte Dokumentnamen eingetragen. (Siehe Bild im Anhang)

Einen kleinen Ansatz habe ich mal gestartet, denke aber dass hier noch irgendwas faul ist.

Private Sub CommandButton2_Click()

Set swApp = GetObject(, "SldWorks.Application")
Set Model = swApp.ActiveDoc
retval = ModelDoc2.GetCustomInfoValue(dateiname)
Sheets("Eingabe").Range("C20").value = "retval"

End Sub

Vielen Dank schon mal für eure Hilfe  

[Diese Nachricht wurde von Nickel3011 am 28. Mrz. 2017 editiert.]

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8613
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: 28. Mrz. 2017 09:20    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 Dorgar 10 Unities + Antwort hilfreich

Hallo Nickel3011,

Zitat:
Original erstellt von Nickel3011:
Nun die genaue Funktion die ich mir erhoffe. Im Makro auf den Button "Dateinamen anpassen" klicken somit werden der Dateiname von einer Baugruppe sowie von den darunter liegenden Dokumenten in die Spalte Dokumentnamen eingetragen. (Siehe Bild im Anhang)

Da bin ich mir schon gleich das erste mal nicht sicher: willst du dort den Dateinamen der Dokumente eintragen oder den Wert einer Dateieigenschaft namens "Dateiname" - das ist schon ein Unterschied. Dein Code unten lässt auf letzteres schließen, deine Ausdrucksweise eher auf das erste ...

Zitat:
Original erstellt von Nickel3011:
Einen kleinen Ansatz habe ich mal gestartet, denke aber dass hier noch irgendwas faul ist.

Private Sub CommandButton2_Click()

Set swApp = GetObject(, "SldWorks.Application")
Set Model = swApp.ActiveDoc
retval = ModelDoc2.GetCustomInfoValue(dateiname)
Sheets("Eingabe").Range("C20").value = "retval"

End Sub



So wie ich das sehe kann es in der dritten Zeile mit dem Auslesen der Dateieigenschaft nicht klappen, da bekommst du vermutlich einen Fehler. Der Call ModelDoc2.GetCustomInfoValue benötigt laut API-Hilfe zwei Paramter, zunächst den Konfigurationsnamen, dann den Namen der Dateieigenschaft. Wenn du auf benutzerdefinierte Dateieigenschaften gehen willst setzt du den Konfigurationsnamen als "", sonst den Konfigurationsnamen. Dann nimmst du dort eine Variable namens dateiname, was hat die für einen Wert?

Wenn das dann geht wird in deiner Zelle C20 retval drinstehen, nicht der Wert den du vorher ermittelt hast. Wenn du dort den Wert der Variablen retval drin stehen haben möchtest musst du die Hochkommas drumherum schon weglassen.

Zitat:
Original erstellt von Nickel3011:
Ich bin leider ein totaler Laie was VBA angeht aber versuche mein Bestens

Ich würde an deiner Stelle dann am Anfang beginnen und erst mal ein bisschen VBA-Grundlagenwissen anhäufen. Da gibt es online schöne Kurse, auch auf Youtube, damit du nicht schon bei solchen einfachen Dingen wie oben Fehlermeldungen bekommst und nur noch Bahnhof verstehst.

Ciao,
Stefan

PS: schau auch mal hier und hier rein 

PPS: ist nicht nett, den Thread von jemand anderem zu shanghaien 

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

Nickel3011
Mitglied



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

Beiträge: 69
Registriert: 13.06.2014

Solid Works Premium 2014 x64-Edition SP 5.0
PC-Info: Windows 7; RAM 32Gb; NVIDIA Quadro M4000

erstellt am: 28. Mrz. 2017 09:34    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 Dorgar 10 Unities + Antwort hilfreich

Hallo Stefan,

Danke für deine Antwort, Zeile wird jetzt befüllt  . Werde mich mal in nächster Zeit öfter mit VBA beschäftigen, ist ein sehr interessantes Thema. Ich habe deinen Wink mit den Links verstanden, war aber nicht meine Absicht ein fertiges Programm zu erhalten sondern nur einen Schubser in die richtige Richtung 

Viele Grüße
Nickel

P.S. Wollte zum selben Thema keinen extra Thread eröffnen.

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8613
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: 28. Mrz. 2017 09: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 Nur für Dorgar 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Nickel3011:
Werde mich mal in nächster Zeit öfter mit VBA beschäftigen, ist ein sehr interessantes Thema. Ich habe deinen Wink mit den Links verstanden, war aber nicht meine Absicht ein fertiges Programm zu erhalten sondern nur einen Schubser in die richtige Richtung  

Das ist prima, und Schubser geben hier eine Menge Leute sehr gerne. Automatisierung ist schon eine sehr spannende Sache und in meinen Augen auch in jedem Fall lohnenswert.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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)2017 CAD.de