Vla-get-hasattributes
- 構文
- (vla-get-hasattributes vla-object ' ' ' )
- 機能
- ブロックが属性を持つかどうかを指定する。
- 引数
-
- vla-object … VLAオブジェクト(BlockReferences、ExternalReference、MInsertBlock)
- 戻り値
- ブール型
- :vlax-True: ブロック参照は属性を持つ。
- :vlax-False: ブロック参照は属性を持たない。
- MEMO : このプロパティは、ブロック参照が編集可能な属性または定数(編集不可能)属性を含む場合は True。属性を持たない場合は False。
- ブロックに関連付けられた Attribute オブジェクトの配列を取得するには、GetAttributes メソッドを使用する。
- サンプル
(vl-load-com) (defun c:Example_HasAttributes() ;; 属性を持たないブロックをまず作成する。 ;; ブロックを挿入し、属性を持っているかどうかを確認する。 ;; ブロックに属性を追加し、それを再度挿入する。 ;; それは新しいブロック参照の属性をチェックする。 (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 "CircleBlock")) ;; ブロックに円を追加 (setq center (vlax-3d-point 0 0 0)) (setq radius 1) (setq circleObj (vla-AddCircle blockObj center radius)) ;; ブロックを挿入 (setq insertionPnt (vlax-3d-point 2 2 0)) (setq modelSpace (vla-get-ModelSpace doc)) (setq blockRefObj (vla-InsertBlock modelSpace insertionPnt "CircleBlock" 1 1 1 0)) (vla-ZoomAll acadObj) (alert (strcat "このブロックは " (if (= (vla-get-HasAttributes blockRefObj) :vlax-true) "属性あり。" "属性なし。"))) ;; ブロックに属性を追加。 ;; 属性を定義します。 (setq insertionPoint (vlax-3d-point 1 1 0) attHeight 1 attMode acAttributeModeVerify attPrompt "属性プロンプト" attTag "属性タグ" attValue "属性の値") ;; 属性定義を作成する。 (setq attributeObj (vla-AddAttribute blockObj attHeight attMode attPrompt insertionPoint attTag attValue)) ;; ブロックを挿入 (setq insertionPnt (vlax-3d-point 3 3 0)) (setq blockRefObj2 (vla-InsertBlock modelSpace insertionPnt "CircleBlock" 1 1 1 0)) (vla-ZoomAll acadObj) (alert (strcat "最初のブロックは " (if (= (vla-get-HasAttributes blockRefObj) :vlax-true) "属性あり。" "属性なし") "\n2つ目のブロックは " (if (= (vla-get-HasAttributes blockRefObj2) :vlax-true) "属性あり。." "属性なし。"))) )
関連事項