Hi Sherm!
----------
I'll try to help you but I have one question:
Why do you use VL methods? Is it essentially to you? ; )
I give you the example how to get this info with pure AutoLISP
and you will made changes to modify PSLTSCALE:
;; =================================================================
;; Example: (getpsltscale (getvar "ctab"))
;; =================================================================
(defun getpsltscale ( layout_name / getlayoutinfo layoutinfo
layout_psltscale)
;; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(defun getlayoutinfo ( layout_name / allayouts cps_en cps_elist )
(setq allayouts (dictsearch (namedobjdict) "acad_layout"))
(setq cps_en (cdr (assoc 350 (member (cons 3 layout_name)
allayouts))))
(setq cps_elist (entget cps_en))
cps_elist
) ; - 'defun'
;; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(setq layoutinfo (getlayoutinfo layout_name))
;; the "trick" :^) to get the DXF70 of your dream!
(setq layoutinfo (member (cons 100 "AcDbLayout") layoutinfo))
(setq layout_psltscale (cdr (assoc 70 layoutinfo)))
layout_psltscale
) ; - 'defun'
;; =================================================================
Now you have to
- save the beginning of the entire list,
- then modify DXF70,
- then reconstruct the list back,
- then ENTMOD it.
AutoCAD loves you!
--------------------------
Alexander V. Koshman