Author Topic: LISP check  (Read 1116 times)

0 Members and 1 Guest are viewing this topic.

w64bit

  • Newt
  • Posts: 78
LISP check
« on: September 01, 2021, 06:01:35 AM »
Hello,
This lisp code I use it in a scr file to clean drawings.
The code seems to work but maybe someone can take a look over it to see if it's something wrong.
I don't want a rewrite or to convert it to .lsp files. I will use it in this format.
Thank you

Code: [Select]
; ---------
; Delete Express Tools Layer States
(while (setq lyr (tblnext "layer" (not lyr)))
(setq ent (entget (tblobjname "layer" (cdr (assoc 2 lyr)))'("RAK")))
(if (and ent (assoc -3 ent))
(progn
(setq ent (subst '(-3 ("RAK")) (assoc -3 ent) ent))
(entmod ent)))
(princ))
; ---------
; Delete Layer States
(setq ActDoc (vla-get-ActiveDocument (vlax-get-Acad-Object)))
(setq LayCol (vla-get-Layers ActDoc))
(setq LayDict (vla-GetExtensionDictionary LayCol))
(setq LayStDict (vl-catch-all-apply 'vla-Item (list LayDict "ACAD_LAYERSTATES")))
(vlax-for State LayStDict
(vla-Delete State))
; ---------
; Delete Layer Filters
(lambda (_vla-remove dictionary)
(_vla-remove "ACLYDICTIONARY" dictionary)
(_vla-remove "ACAD_LAYERFILTERS" dictionary))
(lambda (item dictionary)
(vl-catch-all-apply 'vla-remove (list dictionary item)))
(vla-getextensiondictionary
(vla-get-layers (vla-get-activedocument (vlax-get-acad-object))))
; ---------
; Delete Page Setups
(setq
curdwg   (vla-get-ActiveDocument (vlax-get-Acad-Object))
pslayout (vla-get-Layout (vla-get-PaperSpace curdwg)))
(vla-RefreshPlotDeviceInfo pslayout)
(vlax-for x (vla-get-Plotconfigurations curdwg)
(vla-delete x))
; ---------
« Last Edit: September 01, 2021, 10:22:42 AM by w64bit »