LISP自动加载gro
谁来帮我修改代码。请(defun C:llt()
(command "-linetype" "l" "cen*" "acadiso.lin" "")
(command "-linetype" "l" "hid*" "acadiso.lin" "")
(princ)
) ...正在努力,这就是我得到的。看起来效果不错。
有什么建议吗?
(defun c:llt()
(setq a "Center")
(if (= (tblsearch "ltype" a) nil)
(command "-linetype" "l" a "acadiso.lin" "")
(princ))
(setq b "Center2")
(if (= (tblsearch "ltype" b) nil)
(command "-linetype" "l" b "acadiso.lin" "")
(princ))
(setq c "Centerx2")
(if (= (tblsearch "ltype" c) nil)
(command "-linetype" "l" c "acadiso.lin" "")
(princ))
(setq d "Hidden")
(if (= (tblsearch "ltype" d) nil)
(command "-linetype" "l" d "acadiso.lin" "")
(princ))
(setq e "Hidden2")
(if (= (tblsearch "ltype" e) nil)
(command "-linetype" "l" e "acadiso.lin" "")
(princ))
(setq f "Hiddenx2")
(if (= (tblsearch "ltype" f) nil)
(command "-linetype" "l" f "acadiso.lin" "")
(princ))
(princ)
)
exatra代码过多:
(defun c:llt()
(foreach lt '("Center" "Center2" "Centerx2" "Hidden" "Hidden2" "Hiddenx2")
(if(not(tblsearch "ltype"lt))
(command "_.-linetype" "_l" lt "acadiso.lin" "")
); end if
); end foreach
(princ)
); end of c:llt 谢谢你,阿斯米! 如果您想在行中添加一些单词,这可能会有所帮助。不知道如何缩短第二个点,若文字短于3个字母,我想它会把def放在文件夹中,而不是你们从那个里编辑。
;Tip1684: 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,5.5,-1.5,["
(chr 34)
V:LINET
(chr
34
) ;_ end of chr
",SIMPLEX,S=0.1,R=0.0,X=-1.25,Y=-0.25],-"
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)
我已经尝试了你的代码连接应用程序,但它没有给出我想要的。我不知道这是否只是因为我不知道如何使用或什么,但它不起作用。无论如何,ASMI的代码已经足够好了。
谢谢你的努力。 是的,那家伙是国王
页:
[1]