What does too few arguments mean?
This is what I've put together:
(setq linelist '(("Cable Television" . "utilities.lin")
("Electrical" . "utilities.lin")
("Fiber Optics" . "utilities.lin")
("Fire_Line" . "utilities.lin")
("Gas_line" . "utilities.lin")
("Sewer_Line" . "utilities.lin")
("Storm Sewer" . "utilities.lin")
("Telephone" . "utilities.lin")
("OHE" . "utilities.lin")
("UGE" . "utilities.lin")
("Water" . "utilities.lin")
)
)
(foreach lin linelist
(if (tblsearch "LTYPE" (car lin))
(command ".-linetype" "load" (car lin) (cdr lin) "_Yes" "")
(command ".-linetype" "load" (car lin) (cdr lin) "")
)
)
(defun _layer (name plot color linetype lineweight plotstyle)
(if (null (tblsearch "LAYER" name))
(entmake
(list
'(000 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(070 . 0)
(cons 002 name)
(cons 290 plot)
(cons 062 color)
(cons 006 linetype)
(cons 370 lineweight)
(cons 390 plotstyle)
(if
(and (= 'str (type pst))
(zerop (getvar 'pstylemode))
(setq
dic (dictsearch (namedobjdict) "acad_plotstylename"))
(setq dic (dictsearch (cdr (assoc -1 dic)) pst))
)
)
)
)
)
)
)
(defun c:test ( / )
(foreach _layer
'(
("newlay" 1 12 "Continuous" 100 "100-10")
)
(apply '_layer item)
)
(princ)
)
Note: Credit to whom credit is due.