带lisp程序的内存
嘿,有没有在autocad中存储变量。以便下次打开autocad时加载lisp程序,它可以调用上次运行时的变量?在打开autocad时,是否需要cad预加载lisp程序。只是为了节省加载应用程序的步骤。
此外,是否有lisp命令来输出日期和时间?
谢谢你的帮助!
在帮助文件中查找系统变量:USERR1、USERR2等
您可以将宏添加到自定义CUI中,以便无论是使用下拉菜单还是工具栏等自动加载宏。您也可以使用Acaddoc。lsp文件(需要创建)和appload对话框中的启动套件。
试试这个。。。
;-----------------
;Get time and date
;-----------------
;Get Date
(defun c:GetDateTime ( / )
(setq d (rtos (getvar "CDATE") 2 6)
yr (substr d 3 2);extract the year
mo (substr d 5 2);extract the month
day (substr d 7 2);extract the day
);setq
;Get Time
(setq d (rtos (getvar "CDATE") 2 6);extract the hour
hr (substr d 10 2)
m (substr d 12 2);extract the minute
);setq
(alert
(strcat
"Date: "(strcat day "/" mo "/" yr)
"\nTime: "(strcat hr ":" m )
);strcat
);alert
(princ)
);defun
关于你的第二点:
在预定义的autocad目录中,或在“选项-文件-支持文件搜索路径”中自己创建一个目录
启动名为“acaddoc”的记事本文件。lsp'
放置:
(defun s::启动()
(命令“ucs”“world”)
)
(defun c:mco()(加载“mymacro”))
这将确保每次打开Autocad时,图形UCS都是“world”,如果在命令行中键入“mco”,mymacro将运行
您也可以将此文件设置为“acad”。“lsp”和“选项-系统”中有一个“加载acad”。lsp与每一个图纸'-检查这一点,同样的事情会发生。
关于你的第三点:
尝试键入“setvar”输入“”?“”输入“enter”,autocad的大多数变量都会出现,您可以调用这些变量(如果需要,可以更改一些变量)来表示日期和时间。我使用的另一种方法是:
(setq daytext(menucmd“m=$(edtime,$(getvar,date),dddd)”)
(setq monthtext(menucmd“m=$(edtime,$(getvar,date),month)”)
(setq yeartext(menucmd“m=$(edtime,$(getvar,date),yyyy)”)
第一点:除了在lisp例程中编写一个脚本文件来存储该变量,并在重新运行lisp例程时查找该脚本文件之外,我想不出一个好的方法
希望这有帮助 日期:
其中格式为:
一些示例:
(LM:FormatDate "DD.MO.YYYY HH:MM:SS")
(LM:FormatDate "DDDD DD MONTH YYYY")
5
6
页:
[1]