[VB.net] Extraktion von Solidworks-Referenzen

Hallo

 

Gibt es eine Möglichkeit, die Referenzen aus einer Datei aus vb.net zu extrahieren?

Ich habe in der Solidworks Visual Basic API gesucht, aber nichts Konkretes gefunden :/

 

Herzliche Grüße

Hallo, a priori ist es möglich. Sie müssen SolidWorks deklarieren und die entsprechende Bibliothek hinzufügen, siehe diesen Link:

http://help.solidworks.com/2014/english/api/sldworksapiprogguide%5Cgettingstarted%5Cvisual_basic_.net_standalone_and_add-in_applications.htm

Siehe diesen Kommunikationsthread

http://www.lynkoa.com/forum/autres/vba-excel-pour-solidworks

@+ ;-)

Hallo .PL & gt22

In der Tat ist die Deklaration obligatorisch, was ich bereits getan habe, da ich derzeit bereits Referenzen mit meiner Software ändere, das Problem ist, dass ich sie einzeln in einer Tabelle ausfüllen muss, deshalb versuche ich, die Referenzen direkt zu extrahieren :)

Was genau bedeutet es, Referenzen zu extrahieren?
1 „Gefällt mir“

Ich möchte in der Lage sein, die Referenzen, die sie haben, aus einer ASM- oder DRW-Datei abzurufen

Beispiel:

Die Datei "drawing 1.SLDDRW" bezieht sich auf die Baugruppe "assembly1. SLDASM"

Die Datei "assembly1. SLDASM" Bezieht sich auf den Teil "Piece1.SLDPRT"

Ich möchte die Werte "assembly1. SLDASM" und "Piece1.SLDPRT" in der automatischen

Ich weiß nicht, ob ich verständlich bin :/

1 „Gefällt mir“
OK, ich denke, dass es von dem Moment an, in dem SolidWorks deklariert wird, dasselbe ist wie in VBA? Da es sich um eine Zeichnung handelt, müssen Sie die erste Ansicht abrufen, um das zugehörige 3D abzurufen.

Sie müssen getfirstview verwenden, um die Grundkarte abzurufen, dann getnextview, um die erste Ansicht abzurufen, und schließlich referenceddocument, um Zugriff auf die entsprechende 3D-Datei zu erhalten.

Ich glaube, es gibt ein Beispiel in diesem Makro, das ich auf Lynkoa gepostet habe:

http://www.lynkoa.com/tutos/3d/macro-enregistrer-sous-avec-solidworks

Vielen Dank für Ihre answer.PL

Ich habe mir gerade Ihren Code angesehen und er scheint mir komplex für das, was ich tun möchte, damit meine ich, dass Sie von Solidworks durch Klicken auf eine Zeichnung mehr auf Referenz das Fenster als Anhang erhalten und es würde mir sehr passen, da es den Ordner und den Namen des Teils enthält


ref.png
1 „Gefällt mir“

Hallo

Sie möchten tatsächlich die gleichen Ergebnisse erzielen, wie wenn Sie Datei/Suche nach Referenzen und dann die Schaltfläche "Liste kopieren" ausführen. Das stimmt?

Dann müssen Sie es nur noch in eine Excel-Datei einfügen.

2 „Gefällt mir“

Hallo Benoit.LF,

In der Tat, das ist es, was ich möchte, um die Informationen direkt zu bekommen, nachdem ich nicht durch Excel gegangen wäre, sondern direkt in vb.net gespeichert habe, aber das war's! :)

Es ist nicht so kompliziert und es ist die einzige Methode, die ich kenne! Eine kleine Erinnerung, es können mehrere verschiedene Dokumente auf einer Zeichnung sein, also mehrere Referenzen...

Das Makro, das ich gepostet habe, macht natürlich etwas anderes, aber es ist der Anfang des Codes, der für diese Anwendung interessant ist.

Siehe diesen Link, der die gleiche Lösung bietet:

http://help.solidworks.com/2012/English/api/sldworksapi/Get_Document_Referenced_by_Drawing_View_Example_VB.htm

Nachdem ich an einer Lösung interessiert bin, die dies in weniger als 3 Codezeilen tut!! (Natürlich ohne die Deklarationen!)
Andernfalls sollte für eine Assembly GetComponent verwendet werden:

http://help.solidworks.com/2012/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IAssemblyDoc~GetComponents.html

Eine Lösung für externe Referenzen (sind es alle Referenzen?) in ca. 50 Zeilen:

http://help.solidworks.com/2013/English/api/swdocmgrapi/Get_All_External_References_for_Drawing_Example_VBNET.htm

Ich habe eine provisorische Lösung gefunden, die lange dauern kann, ich ändere ALLE Referenzen, auch die, die nicht existiert, SOlidWorks zuckt nicht zusammen.

 

Hallo

Die zu verwendende API lautet  : GetDocumentDependencies2

http://help.solidworks.com/2013/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.isldworks~getdocumentdependencies2.html

Es werden alle externen Referenzen der Datei zurückgegeben

Philippe

1 „Gefällt mir“