Vla-put-value

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年10月31日 (土) 14:56時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-value ''vla-object'' ''val'') ; 機能 : 新しく作成されるクローン オブジェクトのプロパティの現在の値、ま...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-put-value vla-object val)


機能
新しく作成されるクローン オブジェクトのプロパティの現在の値、またはオブジェクト ID を取得する。


引数
  • vla-object … DynamicBlockReferenceProperty、IDPair の VLAオブジェクト
  • val … バリアント型(DynamicBlockReferenceProperty)、Long_PTR (IDPair)
  • DynamicBlockReferenceProperty: プロパティの現在の値。
  • IDPair: CopyObjects オペレーション内の新しく作成されたクローン オブジェクトのオブジェクト ID。


戻り値
nil


  • 注意 :
  • DynamicBlockReferenceProperty: 指定されたプロパティの値を設定できない場合、エラーは返されない。たとえば、プロパティに有効な値のリストや上限下限範囲が設定されており、かつ指定された値がリストに存在しなかったり範囲外であっても、エラーは返されない。
  • IDPair: コピー元オブジェクトのオブジェクト ID は Key プロパティを使用して取得する。


サンプル
(vl-load-com)
(defun setdynprops ( blk lst / item )
  ; 連想リストを使用して、ダイナミックブロックプロパティの値を変更するサンプル
    (setq lst (mapcar '(lambda ( x ) (cons (strcase (car x)) (cdr x))) lst))
    (foreach x (vlax-invoke blk 'getdynamicblockproperties)
        (if (setq item (assoc (strcase (vla-get-propertyname x)) lst))
            (vla-put-value x (vlax-make-variant (cdr item) (vlax-variant-type (vla-get-value x))))
        )
    )
)


関連事項