Hi,
I want to prevent a layer from being plotted and I have found a few ways to do this but which way is the best?
1.
(command "_.-layer" "p" "n" "LAYERNAME" "")
2.
(defun PlotLayer2 (layerName bool / en output)
(if (setq en (tblobjname "LAYER" layerName))
(progn
(entmod (subst (cons 290 (if bool 1 0)) (assoc 290 (entget en)) (entget en)))
(setq output T)
)
)
output
)
3.
(defun PlotLayer3 (layerName bool / acadObj doc layers layer output)
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-activedocument acadObj))
(setq layers (vla-get-layers doc))
(setq layer (vl-catch-all-apply 'vla-item (list layers layerName)))
(if (not (vl-catch-all-error-p layer))
(progn
(vla-put-plottable layer (if bool :vlax-true :vlax-false))
(vlax-release-object layer)
(setq output T)
)
)
(mapcar 'vlax-release-object (list layers doc acadObj))
output
)
I know that it doesn´t play a big role in this example, but which is the best programming technique theoretically?
Is it needed to release the objects in PlotLayer3?
Thanks in advance!