Vla-put-mode

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年10月31日 (土) 16:24時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-mode ''vla-object'' ''mode'') ; 機能 : 属性を確認するように設定されているかどうか設定する。 ; 引数 :* v...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-put-mode vla-object mode)


機能
属性を確認するように設定されているかどうか設定する。


引数
  • vla-object … Attribute の VLAオブジェクト
  • mode … acAttributeMode 列挙型
  • acAttributeModeNormal: それぞれの属性の現在の表示状態を保つ。
  • acAttributeModeInvisible: ブロックの挿入時に属性値を表示しない。ATTDISP[属性表示]コマンドにより、非表示モードは無効になる。
  • acAttributeModeConstant: ブロックを挿入する際に、属性に固定値を割り当てる。
  • acAttributeModeVerify: ブロックを挿入する際に、属性値が正確かどうか確認するように要求する。
  • acAttributeModeLockPosition: 属性の位置をロックする。
  • acAttributeModeMultipleLine: 複数行の属性を許可する。
  • acAttributeModePreset: プリセット属性を持つブロックを挿入したときに、属性が既定値に設定される。


戻り値
nil
  • 注意
このプロパティの値は、システム変数 AFLAGS に格納される。


サンプル
(vl-load-com)
(defun c:Example_Mode()
    ;; モデル空間内の属性定義を作成して Modeプロパティの初期値を
    ;; 取得・変更し、元三戻すサンプル。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; 属性の設定
    (setq insertionPoint (vlax-3d-point 5 5 0) 
          attHeight 1
          attMode acAttributeModeVerify
          attPrompt "New Prompt"
          attTag "NEW_TAG"
          attValue "New Value")
    
    ;; 属性を作成
    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq attributeObj (vla-AddAttribute modelSpace attHeight attMode attPrompt insertionPoint attTag attValue))
    (vla-ZoomAll acadObj)
    
    ;; 属性値確認
    (setq currMode (vla-get-Mode attributeObj))

    ;; 定数取得
    (setq constant (cond
                       ((= (vla-get-Mode attributeObj) 0) "acAttributeModeNormal")
                       ((= (vla-get-Mode attributeObj) 1) "acAttributeModeInvisible")
                       ((= (vla-get-Mode attributeObj) 2) "acAttributeModeConstant")
                       ((= (vla-get-Mode attributeObj) 4) "acAttributeModeVerify")
                       ((= (vla-get-Mode attributeObj) 8) "acAttributeModePreset")
                   ))

    (alert (strcat "属性モードは " constant))
    
    ;; 変更
    (vla-put-Mode attributeObj acAttributeModeInvisible)
  
    (setq constant (cond
                       ((= (vla-get-Mode attributeObj) 0) "acAttributeModeNormal")
                       ((= (vla-get-Mode attributeObj) 1) "acAttributeModeInvisible")
                       ((= (vla-get-Mode attributeObj) 2) "acAttributeModeConstant")
                       ((= (vla-get-Mode attributeObj) 4) "acAttributeModeVerify")
                       ((= (vla-get-Mode attributeObj) 8) "acAttributeModePreset")
                   ))
  
    (vla-Update attributeObj)
    (alert (strcat "新しい属性モードは " constant))
    
    ;; リセット
    (vla-put-Mode attributeObj currMode)
    (setq constant (cond
                       ((= (vla-get-Mode attributeObj) 0) "acAttributeModeNormal")
                       ((= (vla-get-Mode attributeObj) 1) "acAttributeModeInvisible")
                       ((= (vla-get-Mode attributeObj) 2) "acAttributeModeConstant")
                       ((= (vla-get-Mode attributeObj) 4) "acAttributeModeVerify")
                       ((= (vla-get-Mode attributeObj) 8) "acAttributeModePreset")
                   ))

    (vla-Update attributeObj)
    (alert (strcat "属性モードを戻しました " constant))
)

関連事項