YDYD
24.10.2007, 08:47
hi. there
I have got lisp routine wich i used for many years staring with autocad R2000 but it does not work with R2007 and R2008,
help please.
;LTXT.LSP Linetype Generator (c)2001, Darren Marker
(defun C:LTXT () (setvar "cmdecho" 0) (setq V:CLAYER (getvar "clayer")) (setq V:EXPERT (getvar "expert")) (if (not V:LINET) (setq V:LINET "XX") ) ;_ end of if (setq V:LINET_X (getstring (strcat "\n \n \nEnter line text: <" V:LINET ">" ) ;_ end of strcat ) ;_ end of getstring ) ;_ end of setq (if (/= V:LINET_X "") (setq V:LINET (strcase V:LINET_X)) ) ;_ end of if (setq V:LINET (strcase V:LINET)) (LT_MAKER)) ;_ end of defun
(defun LT_MAKER () (setvar "expert" 4) (setq V:LINET_L (strlen V:LINET)) (setq V:LINET_W (rtos (* V:LINET_L 0.1) 2 1)) (setq V:LT_FILE "c:\\temp\\lt_temp.lin") (setq V:LT_VAR1 (open V:LT_FILE "w")) (setq V:LT_TEXTL1 (strcat "*" V:LINET "," V:LINET "----" V:LINET "----" V:LINET "----" V:LINET ) ;_ end of strcat ) ;_ end of setq (setq V:LT_TEXTL2 (strcat "A,3.0,-0.2,[" (chr 34) V:LINET (chr 34 ) ;_ end of chr ",SIMPLEX,S=0.1,R=0.0,X=-0.1,Y=-.05],-" V:LINET_W ) ;_ end of strcat ) ;_ end of setq (setq V:LT_VAR2 (write-line V:LT_TEXTL1 V:LT_VAR1)) (setq V:LT_VAR3 (write-line V:LT_TEXTL2 V:LT_VAR1)) (close V:LT_VAR1) (command "-linetype" "l" V:LINET V:LT_FILE "") (setvar "expert" V:EXPERT) (command ".celtype" V:LINET) (princ (strcat "\n \n \nCurrent Layer -" (getvar "clayer" ) ;_ end of getvar ) ;_ end of strcat ) ;_ end of princ (princ) (princ (strcat "\n \n \nCurrent Entity linetype set to:" V:LINET ) ;_ end of strcat ) ;_ end of princ (princ) (setq V:PNT1 (getpoint "\nPick start point:")) (command ".line" V:PNT1) (while (setq V:PT (getpoint (getvar "lastpoint") "\nNext point or <Return to terminate>:" ) ;_ end of getpoint ) ;_ end of setq (command V:PT) ) ;_ end of while (command) (command) (setvar "celtype" "bylayer") (princ) (princ "\n \nLine-Text terminated. Linetype set to BYLAYER:" ) ;_ end of princ (princ)) ;_ end of defun(princ)
(princ " Line-Text Loaded...")(princ)(princ (strcat "\n \n" (chr 34) "LTXT" (chr 34) " to execute:" ) ;_ end of strcat) ;_ end of princ(princ)
I have got lisp routine wich i used for many years staring with autocad R2000 but it does not work with R2007 and R2008,
help please.
;LTXT.LSP Linetype Generator (c)2001, Darren Marker
(defun C:LTXT () (setvar "cmdecho" 0) (setq V:CLAYER (getvar "clayer")) (setq V:EXPERT (getvar "expert")) (if (not V:LINET) (setq V:LINET "XX") ) ;_ end of if (setq V:LINET_X (getstring (strcat "\n \n \nEnter line text: <" V:LINET ">" ) ;_ end of strcat ) ;_ end of getstring ) ;_ end of setq (if (/= V:LINET_X "") (setq V:LINET (strcase V:LINET_X)) ) ;_ end of if (setq V:LINET (strcase V:LINET)) (LT_MAKER)) ;_ end of defun
(defun LT_MAKER () (setvar "expert" 4) (setq V:LINET_L (strlen V:LINET)) (setq V:LINET_W (rtos (* V:LINET_L 0.1) 2 1)) (setq V:LT_FILE "c:\\temp\\lt_temp.lin") (setq V:LT_VAR1 (open V:LT_FILE "w")) (setq V:LT_TEXTL1 (strcat "*" V:LINET "," V:LINET "----" V:LINET "----" V:LINET "----" V:LINET ) ;_ end of strcat ) ;_ end of setq (setq V:LT_TEXTL2 (strcat "A,3.0,-0.2,[" (chr 34) V:LINET (chr 34 ) ;_ end of chr ",SIMPLEX,S=0.1,R=0.0,X=-0.1,Y=-.05],-" V:LINET_W ) ;_ end of strcat ) ;_ end of setq (setq V:LT_VAR2 (write-line V:LT_TEXTL1 V:LT_VAR1)) (setq V:LT_VAR3 (write-line V:LT_TEXTL2 V:LT_VAR1)) (close V:LT_VAR1) (command "-linetype" "l" V:LINET V:LT_FILE "") (setvar "expert" V:EXPERT) (command ".celtype" V:LINET) (princ (strcat "\n \n \nCurrent Layer -" (getvar "clayer" ) ;_ end of getvar ) ;_ end of strcat ) ;_ end of princ (princ) (princ (strcat "\n \n \nCurrent Entity linetype set to:" V:LINET ) ;_ end of strcat ) ;_ end of princ (princ) (setq V:PNT1 (getpoint "\nPick start point:")) (command ".line" V:PNT1) (while (setq V:PT (getpoint (getvar "lastpoint") "\nNext point or <Return to terminate>:" ) ;_ end of getpoint ) ;_ end of setq (command V:PT) ) ;_ end of while (command) (command) (setvar "celtype" "bylayer") (princ) (princ "\n \nLine-Text terminated. Linetype set to BYLAYER:" ) ;_ end of princ (princ)) ;_ end of defun(princ)
(princ " Line-Text Loaded...")(princ)(princ (strcat "\n \n" (chr 34) "LTXT" (chr 34) " to execute:" ) ;_ end of strcat) ;_ end of princ(princ)