为了提高效率,我也建议您重新修改代码。
我的两分钱。。。
;;;--------------------------------------------------------------------;;;; Load personal settings function:(defun c:LPS (/ linList [color=#0000ff]linetypesTable[/color] layerTable layerName layerItem layerColor layerLineType) (vl-load-com) (vla-startundomark (cond (*activeDoc*) ((setq *activeDoc* (vla-get-activedocument (vlax-get-acad-object)))))) ;; Linetypes check (foreach lin '("hidden" "hidden2" "hiddenx2" "center" "center2" "centerx2" "phantom" "phantom2" "phantomx2") (if (not (tblsearch "LTYPE" lin)) (setq linList (cons lin linList)))) [color=blue](if linList[/color][color=blue] (foreach lin linList[/color][color=blue] (vla-load[/color][color=blue] (cond[/color][color=blue] (linetypesTable)[/color][color=blue] ((setq linetypesTable (vla-get-linetypes *activeDoc*))))[/color][color=blue] lin[/color][color=blue] "acad.lin")))[/color] ;; Layer check (foreach lay '(("BALLOON" "15" "CONTINUOUS") ("BORDER" "33" "CONTINUOUS") ("BOTTOM" "31" "CONTINUOUS") ("CENTER" "35" "CENTER" "") ("CONSTRUCTION" "5" "PHANTOM") ("DIMENSION" "40" "CONTINUOUS") ("FRONT" "83" "CONTINUOUS") ("GHOST" "12" "CONTINUOUS") ("HATCH" "123" "CONTINUOUS") ("HIDDEN" "252" "HIDDEN2") ("PART" "7" "CONTINUOUS") ("REV" "1" "CONTINUOUS") ("SECTION" "5" "PHANTOM2") ("SIDE" "30" "CONTINUOUS") ("NOTES" "40" "CONTINUOUS") ("TOP" "6" "CONTINUOUS")) (setq layerTable (vla-get-layers *activeDoc*)) (if (tblsearch "LAYER" (setq layerName (car lay))) (setq layerItem (vla-item layerTable layerName)) (setq layerItem (vla-add layerTable layerName))) (if (/= (setq layerColor (cadr lay)) (vla-get-color layerItem)) (vla-put-color layerItem layerColor)) (if (/= (setq layerLineType (caddr lay)) (vla-get-linetype layerItem)) (vla-put-linetype layerItem layerLineType)) ;; <- Additional layer checks go here, eg. freeze, description, etc. ) (vla-endundomark *activeDoc*) (princ));;;--------------------------------------------------------------------;(if (= 1 (getvar 'dwgtitled)) ; If drawing is named, (c:LPS)) ; Load personal settings;;;--------------------------------------------------------------------;(princ)