Mit VBA Eckenmodus von benutzerdefinierten Linienarten ändern


 Produkt(e):MicroStation
 Version(en):08.11.09.752
 Umgebung:Windows 8
 Produktbereich:Programmierung
 Produktunterbereich:VBA

 

Hintergrundinformation

 

 Bei benutzderdedinierten Linienarten gibt es verschiedene Einstellungen, die man über die Elementeigenschaften ändern kann. Bei einer größeren Anzahl von Elementen kann dies sehr mühsam sein und aus verschiedenen Beispielen hier haben wir gezeigt, dass es mit dem Objekttyp Propertyhandler eine Möglichkeit gibt diese Eigenschaften mit VBA zu ändern.

In diesem konkreten Beispiel soll nun das Eckenverhalten von benutzerdefinierten Linienarten beinflußt werden.
Hier eine Auflistung der Eigenschaften, die für benutzerdefinierte Linienarten verändert werden können:

 

Der Eckenmodus (cornermode) kann 3 verschiedene Zustände einnehmen:

0: From Line Style

1: Break at Corners

2: Run Through Corners

Erforderliche Schritte:

Mit VBA kann nun diese Einstellung automatisiert vorgenommen werden, hier dazu ein Besipiel, wie dies aussehen kann, um bei Linien mit benutzerdefinierten Linienarten die Einstellung auf den Wert 2 (Run Through Corners) einzustellen:

Sub CornerModeAendern()
Dim Ee As ElementEnumerator
Dim oProp As PropertyHandler
Set Ee = ActiveModelReference.GraphicalElementCache.Scan
Do While Ee.MoveNext
    Set oProp = CreatePropertyHandler(Ee.Current)
            If oProp.SelectByAccessString("LineStyleParams.LSCornerMode") Then
                oProp.SetValue (2)   ' 2 steht für "run through corners"
            End If
Loop
End Sub

 

 

 Ursprünglicher Autor:Artur Goldsweer