添加线型
请教如何用lisp添加acad.lin中的全部线型?谢谢! 程序:(DEFUN C:LOADLTYPE ()
(SETVAR "CMDECHO" 0)
(IF (SETQ NM (FINDFILE "ACAD.LIN")) (PROGN
(SETQ F (OPEN NM "r") LINET '())
(WHILE (SETQ TXT (READ-LINE F))
(IF (= (SUBSTR TXT 1 1) "*") (PROGN
(SETQ I 2)
(WHILE (/= (SUBSTR TXT I 1) ",") (SETQ I (1+ I)))
(SETQ LINET (CONS (SUBSTR TXT 2 (- I 2)) LINET))
))
)
(CLOSE F)
(SETQ LINET (REVERSE LINET))
(SETQ I -1)
(COMMAND "LINETYPE")
(REPEAT (LENGTH LINET)
(COMMAND "L" (NTH (SETQ I (1+ I)) LINET) "")
)
(COMMAND "")
))
(PRINC)
)
(defun C:TT (/ HOLDECHO)<BR> (setvar "nomutt" 1)<BR> (setq HOLDECHO (getvar "cmdecho"))<BR> (setvar "cmdecho" 0)<BR> (command "_.LINETYPE" "L" "*" (findfile "ACAD.LIN"))<BR> (while (= 1 (getvar "cmdactive"))<BR> (command "")<BR> )<BR> (setvar "nomutt" 0)<BR> (setvar "cmdecho" HOLDECHO)<BR> (princ)<BR>) "entmake"可以办到吗? <P>entmake和entmod只能生成和修改实体.不能修改符号表</P>
<P> </P> (entmake (list '(0 . "LTYPE") '(100 . "AcDbSymbolTableRecord") '<br/> (100 . "AcDbLinetypeTableRecord") '(2 . "FFP") '(70 . 0) '<br/> (3 . "FIRE_FEEDER_PIPING ---- FFP -------- FFP ------") '<br/> (72 . 65) '(73 . 3) '(40 . 2.81) '(49 . 2.16) '(74 . 0) '<br/> (49 . -0.2) '(74 . 0) '(74 . 2) '(75 . 0) (cons 340 (tblobjname "STYLE" "Simplex"))<br/> '(46 . 0.2) '<br/> (50 . 0.0) '(44 . -0.1) '(45 . -0.09) '(9 . "FFP") '<br/> (49 . -0.45) '(74 . 0)<br/> ) ; list<br/>) (340)组码不正确。 不能用,楼主能不能给个带说明的。
页:
[1]