- (defun c:CLT () (c:ChangeLinetypes))
- (defun c:ChangeLinetypes (/ ss layerItem lineType)
- (princ "CHANGE LINETYPES")
- (vl-load-com)
- (if
- (and (setq eName (car (entsel "\nSelect object on desired layer: ")))
- (setq ss
- (ssget "_x"
- (list (setq layerName (assoc 8 (entget eName)))))))
- (if (and (setq layerItem
- (vla-item (vla-get-layers
- (cond (*activeDoc*)
- ((setq *activeDoc*
- (vla-get-activedocument
- (vlax-get-acad-object))))))
- (vla-get-layer (vlax-ename->vla-object eName))))
- (= :vlax-false (vla-get-lock layerItem)))
- (progn
- (vla-startundomark *activeDoc*)
- (vlax-for x (setq ss (vla-get-activeselectionset *activeDoc*))
- (vla-put-linetype
- x
- (cond (lineType)
- ((setq lineType (vla-get-linetype layerItem))))))
- (vla-delete ss)
- (vla-endundomark *activeDoc*))
- (prompt "** Layer is locked ** "))
- (prompt "\n** Nothing selected ** "))
- (princ))
|