Vla-put-action

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


機能
図面で実行するセキュリティオプションを設定する。


引数
  • vla-object … SecurityParams の VLA オブジェクト
  • action … AcadSecurityParamsType 列挙型。以下の定数の和。
  • ACADSECURITYPARAMS_ENCRYPT_DATA : 1 (図面暗号化)
  • ACADSECURITYPARAMS_ENCRYPT_PROPS : 2 (図面プロパティ暗号化)
  • ACADSECURITYPARAMS_SIGN_DATA : 16 (デジタル署名)
  • ACADSECURITYPARAMS_ADD_TIMESTAMP : 32 (タイムスタンプ)


戻り値
nil


  • MEMO :各定数はセキュリティ関連操作を表す。Action プロパティを使用するとき、一連の操作のある時点で、Action プロパティを定数 ACADSECURITYPARAMS_ENCRYPT_DATA、定数 ACADSECURITYPARAMS_SIGN_DATA、またはその両方に設定する必要がある。
  • 複数のセキュリティ関連操作を指定するには、それらの操作を表す定数を追加する。

ex. 図面に署名し、タイムスタンプを使用する場合。 ACADSECURITYPARAMS_SIGN_DATA + ACADSECURITYPARAMS_ADD_TIMESTAMP 16 + 32 = 48

サンプル
(setq secparam 
  (vla-getinterfaceobject 
    (vlax-get-acad-object)
    (strcat "autocad.securityparams.18"))) ;ACAD 2012
; 取得
(setq sec-act (vla-get-Action secparam))
(setq sec-alg (vla-get-Algorithm secparam))
(setq sec-klen (vla-get-KeyLength secparam))
(setq sec-pwd (vla-get-password secparam))
(setq sec-pname (vla-get-ProviderName secparam))
(setq sec-ptype (vla-get-ProviderType secparam))

; 設定
(vla-put-Action secparam 1)          ;; ACADSECURITYPARAMS_ENCRYPT_DATA
(vla-put-Algorithm secparam 26625)   ;; ACADSECURITYPARAMS_ALGID_RC4
(vla-put-KeyLength secparam 40)      ;; デフォルト
(vla-put-password secparam "MyPass") ;; パスワード
(vla-put-ProviderName secparam 
  "Microsoft Base Cryptographic Provider v1.0") ;; デフォルト
(vla-put-ProviderType secparam 1)    ;; デフォルト

(setq *ActDoc* (vla-get-ActiveDocument (vlax-get-Acad-Object)))
(setq fileName "c:\\temp\\passwordFile.dwg")
(setq version 48) ;; 2010 DWG
(vlax-invoke-method *actdoc* 'SaveAs fileName version secparam)



関連事項