Hallo Heinz,
(sorry habe gerade gesehen, dass du noch mit SW2020 arbeitest - den Befehl gibt es erst seit SW2021)
versuchs mal damit: für Entwurfsqualität bei SetDisplayMode4 letzten Wert auf False stellen
Dim ViewCount As Long
Dim displayMode As Integer
Dim displayEdgesInShadedMode As Boolean
Dim displayUseParentDisplayMode As Boolean
Dim i As Long ' loop counter
Const swDocNONE = 0 ' Used to be TYPE_NONE
Const swDocPart = 1 ' Used to be TYPE_PART
Const swDocASSEMBLY = 2 ' Used to be TYPE_ASSEMBLY
Const swDocDRAWING = 3 ' Used to be TYPE_DRAWING
Const swDocSDM = 4 ' Solid data manager.
Sub main()
Set swApp = CreateObject("SldWorks.Application")
Set DrawingDoc = swApp.ActiveDoc
' kein Dokumewnt -> User benachrichtigen
If DrawingDoc Is Nothing Then
MsgBox "Kein Dokument offen, was sollte ich denn wohl tun?"
Exit Sub
End If
' dito wenn es keine Zeichnung ist
If (DrawingDoc.GetType <> swDocDRAWING) Then
MsgBox "Nur sinnvoll bei Zeichnungen"
Exit Sub
End If
Set ActiveSheet = DrawingDoc.GetCurrentSheet
ActiveSheetName = ActiveSheet.GetName
SheetCount = DrawingDoc.GetSheetCount
Names = DrawingDoc.GetSheetNames
For i = 0 To SheetCount - 1
' nächstes Blatt aktivieren
DrawingDoc.ActivateSheet Names(i)
Set View = DrawingDoc.GetFirstView
While Not View Is Nothing
' dann den aktuelle Anzeigeart holen
displayMode = View.GetDisplayMode
' schattierter Mode holen
displayEdgesInShadedMode = View.GetDisplayEdgesInShadedMode
displayUseParentDisplayMode = View.GetUseParentDisplayMode
' SetDisplayMode4 works for SW2021 and above
View.SetDisplayMode4 displayUseParentDisplayMode, displayMode, False, displayEdgesInShadedMode, True
Set View = View.GetNextView
Wend
Next i
' dann das vorher aktuelle Blatt reaktivieren
DrawingDoc.ActivateSheet ActiveSheetName
End Sub
[Diese Nachricht wurde von Winni-two am 14. Nov. 2024 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP