Hallo ihr alle; Die Anzeigezustände verschmutzen meine "part"- und "asm"-Dateien (u.a. wegen des entfalteten, mechanisch verschweißten und jeder Konfigurationserstellung (manchmal vergesse ich, das Häkchen bei "Link appearances" zu entfernen)). Ich habe ein kleines Makro gefunden, das alle Anzeigezustände löscht - außer dem aktuellen - und das Kontrollkästchen "Darstellungszustände mit Konfigurationen verknüpfen" deaktiviert
[VB]
Dimmen swApp als Objekt
Teil als Objekt dimmen
Dim boolstatus als boolescher Wert
Dim longstatus As Long
Dim longwarnings So lange
Dim modelDoc As SldWorks.ModelDoc2
Sub main()
Legen Sie swApp = Application.SldWorks fest
Legen Sie modelDoc = swApp.ActiveDoc fest
Teil festlegen = swApp.ActiveDoc
boolstatus = ModellDoc.RemoveAllDisplayStates
Ende Sub
[VB]
Nur dieses Makro funktioniert nur bei Teilen. Wissen Sie, wie Sie den Code so ändern können, dass er sowohl auf Teile als auch auf Baugruppen angewendet wird?
Hinweis: Denken Sie daran, dass ich eine Solidworks-Makrodüse bin....
> Entfernt alle Anzeigestatus und Darstellungen aus diesem Teiledokument.
Ich lasse Sie sehen, wie Sie die DeleteDisplayState-Funktion im Dokument verwenden, Sie müssen ihr den Namen des zu löschenden Anzeigezustands mitteilen. Zu diesem Zweck müssen Sie eine Schleife erstellen, die alle Anzeigezustände abruft.
Vielen Dank an KVuilleumier für diese Informationen. Ich werde beiseite graben... und nutze die Gelegenheit, ein Training zu APIs zu machen, es wird mir nicht schaden.