Farben von Ebenen per VBA ändern


  
 Bezieht sich auf 
  
 Produkt(e):MicroStation
 Version(en):08.11.09.578
 Umgebung: Windows 7 64 bit
 Produktbereich: Programmierung
 Produktunterbereich: VBA
 Ursprünglicher Autor:Artur Goldsweer, Bentley Technical Support Group
  

Wenn die Farben von Ebenen geändert bzw. angepasst werden müssen, kann dies per Keyin durchgeführt werden, jedoch sind dabei die Ebenen einzeln zu bearbeiten, wenn beispielsweise pauschal bei allen Ebenen mit Farbeinstellung x diese auf den Wert y geändert werden sollen.
Beispielsweise kann dies mit folgnder VBA Routine gemacht werden, wobei hier die beiden Farbwerte (alt und neu) als Parameter beim Aufruf der  VBA Routine mitgegeben werden müssen.
D.h. wenn die VBA Routine geladen ist kann folgender Keyin ausgeführt werden, um bei Ebenen mit Farbe 0 diese auf FArbe 3 zu ändern::

vba run levelColorFromto 0 3

Option Base 0
Sub LevelColorFrom2to0()
Dim oLv As Level
Dim l() As String
l = Split(KeyinArguments, " ")
If UBound(l) <> 1 Then
    MsgBox "Aufruf mit 2 Parametern: Alter Farbwert + neuer Farbwert"
    Exit Sub
End If
For Each oLv In ActiveDesignFile.Levels
    If Not oLv.IsFromLevelLibrary Then
        If oLv.ElementColor = Val(l(0)) Then oLv.ElementColor = Val(l(1))
    End If
Next
ActiveDesignFile.Levels.Rewrite
End Sub

 

Sehen Sie hierzu auch