First we need to create a AcadSecurityParams ActiveX object with some required properties, then call the SaveAs passing this parameter. The following code sample demonstrate it using AutoCAD default values.
(setq secparam
(vla-getinterfaceobject (vlax-get-acad-object)
(strcat "autocad.securityparams.19")))
(vla-put-Action secparam 1) ;; ACADSECURITYPARAMS_ENCRYPT_DATA
(vla-put-Algorithm secparam 26625) ;; ACADSECURITYPARAMS_ALGID_RC4
(vla-put-KeyLength secparam 40) ;; default
(vla-put-password secparam "MyPass") ;; specify here…
(vla-put-ProviderName secparam
"Microsoft Base Cryptographic Provider v1.0") ;; default
(vla-put-ProviderType secparam 1) ;; default
(setq activedoc (vla-get-ActiveDocument (vlax-get-Acad-Object)))
(setq fileName "c:\temp\passwordFile.dwg")
(setq version 60) ;; 2013 DWG
(vlax-invoke-method activedoc ‘SaveAs fileName version secparam)

Leave a Reply to Augusto GoncalvesCancel reply