VBA: Bearbeiten Sie eine Datei, ohne die 3D-Datei zu öffnen

Hallo

Ich habe in Excel-Makros festgestellt, dass, wenn ich mehrere Dateien öffne, einige nicht im Solidworks-Bildschirm geladen werden, sie unterliegen jedoch den Änderungen (es ist kein Problem der Geschwindigkeit, da ich es bereits mit F8 gesehen habe).

Mir ist aufgefallen, dass ich manchmal die Aktion Sichtbar = Wahr ausführen muss, damit die Datei auf dem Bildschirm angezeigt wird.

Jetzt frage ich mich, ob es eine Methode gibt, mit der Sie Dateien öffnen können, ohne sie physisch in den Solidworks-Bildschirm zu laden. Nur um diesen Fehler auszunutzen, um zu überprüfen, ob das Makro nicht schneller ist. Ein bisschen wie bei Excel, wenn man die automatische Berechnung oder die Bildschirmaktualisierung abbricht.

 

Vielen Dank.

Hallo

Es ist kein Fehler, es ermöglicht Ihnen nur, es zu öffnen und Änderungen schneller vorzunehmen. (kein Neuaufbau oder grafisches Laden)

Dieser Modus wird daher absichtlich ausgeführt, aber es ist nicht möglich, Änderungen in SOLIDWORKS zu starten, ohne zumindest ein SOLIDWORKS in einer versteckten Version zu öffnen.

1 „Gefällt mir“

Hallo

Für "aber es ist nicht möglich, Änderungen in SOLIDWORKS zu starten, ohne zumindest eine SOLIDWORKS in versteckter Version zu öffnen", mit Ausnahme einiger Manipulationen über die Solidworks Document Manager APIs, bei denen es nicht erforderlich ist, Solidworks installiert zu haben. Ansonsten stimme ich sbadenis zu .

Herzliche Grüße

1 „Gefällt mir“

"Dieser Modus ist also absichtlich gemacht"

Das Öffnen von Solidworks ist kein Problem, aber wie kann man Dateien auf diese Weise freiwillig öffnen?

Um ein Makro zu beschleunigen, gibt es mehrere Methoden, die eingesetzt werden können.

Mögen:

swApp.UserControl = Falsch
swApp.Visible = Falsch

swModel.Visible = Falsch

swApp.DocumentVisible(False, swDocumentTypes_e.swDocPART)
swApp.DocumentVisible(False, swDocumentTypes_e.swDocASSEMBLY)
swApp.DocumentVisible(False, swDocumentTypes_e.swDocDRAWING)

swModel.FeatureManager.EnableFeatureTree = Falsch

swModel.FeatureManager.EnableFeatureTreeWindow = Falsch

swApp.CommandInProgress = Wahr

ModView als ModelView dimmen
set modView = swModel.ActiveView
modView.EnableGraphicsUpdate = Falsch

Weitere Informationen finden Sie hier 

Hinweis: Einige API-Funktionen funktionieren nicht, wenn das Teil nicht sichtbar ist.

2 „Gefällt mir“

Ich weiß nicht, welche Funktion Sie verwenden, um Ihre Dokumente zu öffnen , aber hier ist zum Beispiel ein kleiner Auszug aus dem Dokument über die OpenDoc7-Funktion :

"ISldWorks::OpenDoc7 aktiviert oder zeigt das Dokument nicht an, wenn die Datei bereits im Speicher in einer Baugruppe oder Zeichnung geöffnet ist. ISldWorks::OpenDoc7 muss jedoch einen gültigen IModelDoc2-Zeiger  zurückgeben, der mit Funktionen verwendet werden kann, für die kein Dokument angezeigt werden muss.

Optional wird das Dokument mit ISldWorks::ActivateDoc2 oder ISldWorks::IActivateDoc3  aktiviert und angezeigt. Da die Datei durch den Aufruf von ISldWorks::OpenDoc7 nicht aktiviert oder angezeigt wird, wird beim Aufrufen der ISldWorks::ActiveDoc - oder ISldWorks::IActiveDoc2-Eigenschaft  kein Zeiger auf dieses Dokument zurückgegeben."

Herzliche Grüße

1 „Gefällt mir“