编辑属性定义

AutoCAD ActiveX/VBA

 
编辑属性定义
 
 
 

可以使用 Attribute 对象特性和方法来编辑属性。属性上的部分特性如下:

Alignment

指定属性的水平对齐和垂直对齐方式

Backward

指定属性文字的方向

FieldLength

指定属性的字段长度

Height

指定属性的高度

InsertionPoint

指定属性的插入点

Mode

指定属性的模式

PromptString

指定属性的提示字符串

Rotation

指定属性的旋转角度

ScaleFactor

指定属性的缩放比例

TagString

指定属性的标记字符串

以下方法可用来编辑属性:

ArrayPolar

创建环形阵列

ArrayRectangular

创建矩形阵列

Copy

复制属性

Erase

删除属性

Mirror

镜像属性

Move

移动属性

Rotate

旋转属性

ScaleEntity

缩放属性

重定义属性定义

本例创建一个块,然后向块中添加属性。接着将块插入到图形中。然后更新属性文字,使其反向显示。

Sub Ch10_RedefiningAnAttribute()
    ' 定义块
    Dim blockObj As AcadBlock
    Dim insertionPnt(0 To 2) As Double
    insertionPnt(0) = 0
    insertionPnt(1) = 0
    insertionPnt(2) = 0
    Set blockObj = ThisDrawing.Blocks.Add _
                     (insertionPnt, "BlockWithAttribute")
      
    ' 向块添加属性
    Dim attributeObj As AcadAttribute
    Dim height As Double
    Dim mode As Long
    Dim prompt As String
    Dim insertionPoint(0 To 2) As Double
    Dim tag As String
    Dim value As String
    height = 1
    mode = acAttributeModeVerify
    prompt = "New Prompt"
    insertionPoint(0) = 5
    insertionPoint(1) = 5
    insertionPoint(2) = 0
    tag = "New Tag"
    value = "New Value"
    Set attributeObj = blockObj.AddAttribute(height, mode, _
                          prompt, insertionPoint, tag, value)
    ' 插入块,创建块参照
    ' 和属性参照
    Dim blockRefObj As AcadBlockReference
    insertionPnt(0) = 2
    insertionPnt(1) = 2
    insertionPnt(2) = 0
    Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock _
               (insertionPnt, "BlockWithAttribute", 1#, 1#, 1#, 0)
      
    ' 重定义属性文字,使其反向显示。
    attributeObj.Backward = True
    attributeObj.Update
End Sub