Anmerkungszellen mit VBA platzieren


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

 

Es sollen mit VBA neue Zellen platziert werden und dabei sichergestellt werden, dass diese als Anmerkungszellen platziert sind.

Eine Möglichkeit besteht darin, die Zellen zu platzieren und anschließend die Eigenschaft "IsAnnotation" zu setzen.
Eine Zelle besitzt jedoch nur dann diese Eigenschaft, wenn sie vorher so eingestellt ist, dass sie als Anmerkungszelle platziert werden darf.
Diese EInstellung kann in den Modelleigenschaften der Zelle eingestellt werden


Ob sie als Anmerkungszelle platziert werden kann, wird durch die Eigenschaft:
"AnnotationPurpose" abgefragt. Falls dies auf True gesetzt ist, kann die Eigenschaft "IsAnnotation" auch auf True gesetzt werden.

Ein VBA Beipiel kann etwa so aussehen, Voraussetzung für dieses konkete Beispiel ist, dass ein Zellbibliothek angehängt ist, in der die Zelle mit dem Namen "CellToPlace" existiert:

Sub ZellemitAnnoScale()
 Dim oCell As CellElement
 Dim pScale As Point3d
 Dim oProp As PropertyHandler
 
 pScale.X = 2
 pScale.Y = 2
 pScale.Z = 1

 Set oCell = CreateCellElement2("CellToPlace", Point3dZero, pScale, True, Matrix3dIdentity)
 ActiveModelReference.AddElement oCell

 Set oProp = CreatePropertyHandler(oCell)
 oProp.SelectByAccessString "AnnotationPurpose"
 If oProp.GetValue = True Then
    oProp.SelectByAccessString "IsAnnotation"
    oProp.SetValue (True)
 End If
End Sub