Jeff
I like that method. Here is taking it one step further.
(defun c:ltld (/ lt_data ltypes fname ltname usercmd)
(setq usercmd (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(vl-load-com)
(setq ltypes (vla-get-linetypes
(vla-get-activedocument
(vlax-get-acad-object)
)
)
)
;; load the linetypes
(foreach lt_data '(("hidden" . "acad.lin")
("dashed" . "acad.lin")
("batting" . "acad.lin")
("center" . "acad.lin")
("border" . "acad.lin")
("dot" . "acad.lin")
("tracks" . "C:\\l-type\\Ln.lin")
("phantom" . "C:\\l-type\\Ln.lin")
("xyz" . "cab.lin")
)
(setq ltname (car lt_data)
fname (cdr lt_data)
)
(cond
((tblsearch "ltype" ltname)
(prompt (strcat "\nLinetype " ltname " already loaded."))
)
((not (findfile fname))
(prompt (strcat "\nCan not find file " fname))
)
(t
(setq err (vl-catch-all-apply 'vla-load (list ltypes ltname fname)))
(cond
((vl-catch-all-error-p err)
(prompt (strcat "\n" (vl-catch-all-error-message err) " " ltname " from file " fname))
)
((vla-item ltypes ltname)
(prompt (strcat "\nLinetype " ltname " loaded from file " fname "."))
)
(t
(prompt (strcat "\nError Linetype " ltname " not loaded, file " fname "."))
)
)
)
)
)
(setvar "CMDECHO" usercmd)
(princ)
)