Erstellen einer Baugruppenstückliste | SolidWorks API: Dokumenten-Manager

Hallo

Ich bin dabei, eine VB.net Anwendung zu erstellen, um den Datenaustausch zwischen SolidWorks und unserem ERP einzurichten.

Zu diesem Zweck verwende ich die SolidWorks Document Manager API, mit der Sie auf die Informationen in den Dateien zugreifen können, ohne sie in der Anwendung zu öffnen. Weitere Informationen: http://help.solidworks.com/2015/english/api/swdocmgrapi/GettingStarted-swdocmgrapi.html?id=c64a324db326402a84186311e072bc1c#Pg0

Ich kann benutzerdefinierte Eigenschaften lesen, bearbeiten und erstellen.

Ich möchte Baugruppenstücklisten erstellen. Dazu schaffe ich es, eine Stückliste zu extrahieren, falls sie bereits existiert, und sie dann in Excel zu importieren. Verwenden der GetTableNames-Methode und der GetTableCellText-Methode.

Trotz vieler Recherchen schaffe ich es jedoch nicht, eine Nomenklatur zu erstellen.

Vielen Dank im Voraus

2 „Gefällt mir“

Hallo

Möchten Sie eine Stückliste in einer Baugruppe 3D erstellen, ohne die Datei zu öffnen?

1 „Gefällt mir“

Ja. Ein bisschen wie SmartBom, aber auf meinem bescheidenen Niveau...

1 „Gefällt mir“

Ich bin auf einen Beitrag gestoßen, der die Lösung nicht gibt, aber ich habe gerade gesehen, dass du heute Morgen schon dort warst ;-) Ich glaube, die Person, die gesagt hat, dass es möglich ist, wusste nichts über Document Manager...

Auf dieser Seite (auf der alle Befehle des Dokumentenmanagers a priori aufgelistet sind) gibt es nur Anweisungen wie "Zugriff" oder "Abrufen", aber nichts zu erstellen, sorry:

http://help.solidworks.com/2015/english/api/swdocmgrapi/SolidWorks.Interop.swdocumentmgr~SolidWorks.Interop.swdocumentmgr_namespace.html?id=30a118bab16d4ebdb948d29c74dcfd9f#Pg0

Oder wenn wir nach TABLE suchen und uns die Mitglieder auf dieser Seite ansehen (mit dem + erweitern), finden wir auch nichts:

http://help.solidworks.com/2015/english/api/swdocmgrapi/SolidWorks.Interop.swdocumentmgr~SolidWorks.Interop.swdocumentmgr.ISwDMTable_members.html?id=b4f08e90682443dd91ef867afd8a2192#Pg0

A priori ist der untenstehende Link nur nützlich, wenn die Datei geöffnet wird, nicht wahr? Ich denke, das ist es, was Sie tun müssen.

http://help.solidworks.com/2015/English/api/sldworksapi/Insert_and_Show_BOM_Table_in_Assembly_Example_VBNET.htm

 

Oder eine andere kapillotractierte Lösung besteht darin, den gesamten SolidWorks Baum zu durchlaufen, um Ihre Tabelle zu erstellen und sie als Textdatei neu zu erstellen...

 

Übrigens, sind Sie sicher, dass SmartBOM die Datei nicht öffnet?

 

Redigieren:

Eine Antwort von jemandem, der den Domcument Manager verwendet, um meine Worte zu bestätigen:

https://forum.solidworks.com/message/467937#467937

Es geht gut durch alle Räume...

 

Edit 2: Es kann gefährlich sein, die Stückliste zu erstellen, ohne die Datei zu öffnen, denn wenn eine der Komponenten geändert wurde (Änderung des Codes, des Materials, in einer geschweißten Maschine usw.), ohne die Baugruppen zu aktualisieren, die sie enthalten, ist Ihre Stückliste falsch!

 

Edit 3: Eine Lösung könnte darin bestehen, eine Stückliste in die Modelle Ihrer Baugruppen aufzunehmen, zumindest sind alle neu erstellten Baugruppen kein Problem!

6 „Gefällt mir“

Vielen Dank .PL für diese Antwort.

Ich sehe, dass wir ähnliche Forschungsmethoden haben. ;-)

In der Tat hatte ich SmartBom schon lange nicht mehr an großen Baugruppen getestet, ich denke, er muss es öffnen...

Also werde ich versuchen, das Gleiche zu tun.

Ich komme hierher zurück, sobald es mir gelingt. :-)

1 „Gefällt mir“

Viel Glück, denn es ist keine leichte Aufgabe.

Haben Sie ein PDM zum Verwalten von Dateien? Denn ich gehe nicht auf die gleiche Weise vor.

Und hast du meine Bearbeitung 3 aus der vorherigen Frage gesehen?

Wenn ich meine Datei nicht öffne, kann es natürlich sein, dass die Tabelle nicht auf dem neuesten Stand ist.

Im Code werde ich:

  1. Überprüfen Sie, ob eine Tabelle (aus dem Skript) vorhanden ist, ohne sie zu öffnen.
  2. Wenn ja, teile ich dem Benutzer das Datum der letzten Registrierung mit, um zu wissen, ob sie veraltet ist.
  3. Wenn nicht, öffne ich die Datei, um eine Tabelle zu aktualisieren oder zu erstellen.

Schönen Tag.

Und haben Sie ein PDM, um Dateien zu verwalten? Oder ist es nur ein Slot auf dem Server?

Nein, nicht PDM.

Aber wir arbeiten daran...

Ok, und Sie möchten Ihr Makro für alle Dateien ausführen? Oder nur die neuen?

Zu Ihrer Information, ich denke, Sie können den Hintergrundmodus verwenden, um die Eröffnung nicht anzuzeigen:

http://help.solidworks.com/2011/English/api/sldworksapi/Enable_Background_Processing_When_Opening_Drawing_Document_Example_VB.htm

 

Hallo

Dies ist eine Anwendung Vb.net die wie folgt in Excel integriert ist: http://jfdeterme.developpez.com/tutoriels/dotnet/developper-add-in-pour-excel-2007-avec-visual-studio-2010/

Bis bald.

Dank .PL,

In der Tat, nachdem ich den APi-Support gefragt habe und im SW-Forum.

Es ist notwendig, die Dateien zu öffnen und dann die Methode IModelDocExtension::InsertBomTable3 zu verwenden.

Meine App funktioniert! ;-)

Vielen Dank.

 

 

1 „Gefällt mir“