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