Vla-getconstantattributes

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(vla-getconstantattributes vla-object ' ' ' )


機能
ブロックまたは外部参照内の一定属性を取得する。


引数
  • vla-object … VLAオブジェクト(BlockReference、ExternalReference、MInsertBlock)


戻り値
ブロック参照の定数である Attribute オブジェクトの配列。


  • MEMO:GetConstantAttributes メソッドは、ブロックまたは外部参照に付加された一定属性の配列を返す。戻り値の属性は一定属性定義であり、属性参照ではない。


サンプル
(vl-load-com)
(defun c:Example_GetConstantAttributes()
    ;; ブロックに定数の属性定義を作成し、ブロックを照会して属性を取得するサンプル。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; ブロックと属性の定義
    (setq insertionPnt (vlax-3d-point 0 0 0))
    (setq blockObj (vla-Add (vla-get-Blocks doc) insertionPnt "New_Block"))
    
    ;; 属性定義の定義
    (setq insertionPnt (vlax-3d-point 5 5 0)
          attHeight 1
          attMode acAttributeModeConstant
          attPrompt "Constant Prompt"
          attTag "Constant_Tag"
          attValue "Constant Value")
    
    ;; ブロックに属性を追加
    (setq attributeObj (vla-AddAttribute blockObj attHeight attMode attPrompt insertionPnt attTag attValue))
    
    ;; ブロックを挿入
    (setq insertionPnt (vlax-3d-point 2 2 0))
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq blockRefObj (vla-InsertBlock modelSpace insertionPnt "New_Block" 1 1 1 0))
    (vla-ZoomAll acadObj)

    ;; 属性を取得
    (setq queryAttribute (vlax-variant-value (vla-GetConstantAttributes blockRefObj)))
    
    (setq count (1+ (vlax-safearray-get-u-bound queryAttribute 1)))
    (alert (strcat "ブロックには " (itoa count) " 個の一定属性が有りもうすどすこい。"))
)

関連事項