组合lsp例程
我正在使用ACAD 2013。我不熟悉使用lsp文件。有没有可能结合我经常运行的3个lsp例程来为不同的软件程序准备文件?是否可以使用组合lsp例程批处理文件夹中的多个文件?是否可以修改第一个代码以自动打开新文件?;changes layout to model space, appends filename, option to open new file
(defun c:L2M ( / BASE LST OLD_DIA)
(setq old_dia (getvar 'FILEDIA)
base (strcat (getvar 'DWGPREFIX) (vl-filename-base (getvar 'DWGNAME)))
)
(setvar 'FILEDIA 1)
(setq lst (layoutlist))
(foreach l lst
(command "_.ctab"
l
"exportlayout"
(strcat base "-" l)
)
)
(setvar 'FILEDIA old_dia)
(princ)
)
;Sets linework to by layer, layers to color 7 white, detaches external references
(defun c:set7 ()
(setq uecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(command "setbylayer" "al" "" "n" "y")
(command "-layer" "c" "7" "*")
(command "-xref" "d" "*")
(setvar "cmdecho" uecho)
(princ)
)
;Justify text
(defun c:BL (justify title / ss)
(princ (strcat "\nSelect *Text to " title " justify: "))
(if (setq ss (ssget "_:L" '((0 . "ATTDEF,MTEXT,TEXT"))))
(command "_.justifytext" ss "" justify)
)
(princ)
)
(defun c:JL (/) (_justifyIt "_ML" "Middle Left"))
(defun c:JC (/) (_justifyIt "_MC" "Middle Center"))
(defun c:JR (/) (_justifyIt "_MR" "Middle Right"))
(defun c:BL (/) (_justifyIt "_BL" "Bottom Left"))
(defun c:BC (/) (_justifyIt "_BC" "Bottom Center"))
(defun c:BR (/) (_justifyIt "_BR" "Bottom Right"))
(defun c:TL (/) (_justifyIt "_TL" "Top Left"))
(defun c:TC (/) (_justifyIt "_TC" "Top Center"))
(defun c:TR (/) (_justifyIt "_TR" "Top Right"))
我不知道代码作者是谁。 塔米帕布,
#1.-张贴代码时请使用代码包装。
#2.-由于所有lisp函数都定义为“c:…”您可以将它们全部放在一个lisp文件中,以便一次全部加载。 什么是代码包装器?我试着把它们结合起来,但我对lsp写作的了解还不够。 看这里http://www.cadtutor.net/forum/showthread.php?9184-代码发布指南
打开新文本文档。txt并将扩展名从更改为。txt到。lsp然后
复制Lisp,在新的文本文档中跳过它们。lsp然后关闭并保存lisp。 简单的方法是使用一个脚本,可以打开和关闭任意多个脚本,并在这个过程中运行多个LISP。
open dwg1
(load "lisp1")
(load "lisp2")
close y
open dwg2
(load "lisp1")
(load "lisp2")
close y
and so on
页:
[1]