AddAttribute メソッド(ActiveX)

指定されたプロパティで、指定された挿入点に属性定義を作成します。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

RetVal = object.AddAttribute(Height, Mode, Prompt, InsertionPoint, Tag, Value)
object

タイプ: BlockModelSpacePaperSpace

このメソッドが適用されるオブジェクト。

Height

アクセス: 入力のみ

タイプ: 倍精度浮動小数点数型

現在の作図単位での文字の高さ。

Mode

アクセス: 入力のみ

タイプ: AcAttributeMode 列挙型

どの定数の組み合わせも、定数を加算することで使用できます。

  • acAttributeModeInvisible: ブロックを挿入する際に、属性値が表示されないように指定します。AutoCAD の ATTDISP[属性表示]コマンドにより、非表示モードは無効になります。
  • acAttributeModeConstant: ブロックを挿入する際に、属性に固定値を割り当てます。
  • acAttributeModeVerify: ブロックを挿入する際に、属性値が正確かどうか確認するように要求されます。
  • acAttributeModeLockPosition: 属性の位置をロックします。
  • acAttributeModeMultipleLine: 複数行の属性を許可します。ブロックを挿入するときに、属性値が正しいかどうかを確認するように求めるプロンプトが表示されます。
  • acAttributeModePreset: 現在の属性を含むブロックを挿入する際に、属性を既定値に設定します。このモードでは、値を編集することはできません。
Prompt

アクセス: 入力のみ

タイプ: 文字列

この文字列は、属性を含むブロックが挿入された際に表示されます。既定の文字列はタグ文字列です。Mode パラメータに acAttributeModeConstant を入力すると、プロンプト文字列は無効になります。

InsertionPoint

アクセス: 入力のみ

タイプ: バリアント型(3 要素の倍精度浮動小数点数型配列)

属性の位置を指定する 3D WCS 座標。

Tag

アクセス: 入力のみ

タイプ: 文字列

この非 null 文字列は、属性が出現するたびにそれを識別します。スペースと感嘆符以外のどんな文字でも使用できます。小文字は自動的に大文字に変更されます。

Value

アクセス: 入力のみ

タイプ: 文字列

この非 null 文字列は、既定の属性値です。

戻り値(RetVal)

タイプ: Attribute

新しく作成される Attribute オブジェクト。

注意

属性定義は、作成されたブロックに関連付けられます。モデル空間またはペーパー空間に作成された属性定義は、特定のブロックにアタッチされているとはみなされません。

モードの設定は、AutoCAD のシステム変数 AFLAGS に格納されます。GetVariable メソッドを使用すればこの値を取得することができ、SetVariable メソッドを使用すれば値を設定することができます。

VBA:

Sub Example_AddAttribute()
    ' This example creates an attribute definition in model space.
    
    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
    
    ' Define the attribute definition
    height = 1#
    mode = acAttributeModeVerify
    prompt = "New Prompt"
    insertionPoint(0) = 5#: insertionPoint(1) = 5#: insertionPoint(2) = 0
    tag = "NEW_TAG"
    value = "New Value"
    
    ' Create the attribute definition object in model space
    Set attributeObj = ThisDrawing.ModelSpace.AddAttribute(height, mode, prompt, insertionPoint, tag, value)
    ZoomAll
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_AddAttribute()
    ;; This example creates an attribute definition in model space.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
   
    ;; Define the attribute definition
    (setq insertionPoint (vlax-3d-point 5 5 0) 
          attHeight 1
          attMode acAttributeModeVerify
          attPrompt "New Prompt"
          attTag "NEW_TAG"
          attValue "New Value")
    
    ;; Create the attribute definition object in model space
    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq attributeObj (vla-AddAttribute modelSpace attHeight attMode attPrompt insertionPoint attTag attValue))
    (vla-ZoomAll acadObj)
)