wanspring 发表于 2003-5-19 14:51:00

请求帮助!!!

您好,我想问一下:在AutoLISP中怎么得到系统的日期时间,我想在存储数据时加上当前时间。还有能不能由程序打开AutoCAD,请指教!!

meflying 发表于 2003-5-19 15:25:00

我想至少LISP不可能,它本身就基于CAD的,如果CAD不打开,lisp程序便没有任何用处

(defun c:gettime(/ stime h m s)
(setq stime (getvar"date"))
(setq stime (* 86400.0 (- stime (fix stime))))
(setq h (fix (/ stime 3600)))
(setq m (fix (/ (- stime (* h 3600)) 60)))
(setq s (fix (- stime (* m 60) (* h 3600))))
(princ (strcat "现在时间为:" (rtos h) ":" (rtos m) ":" (rtos s)))
(princ)
)

taoyimaier 发表于 2003-5-19 18:34:00

用系统变量cdate和date试试

(rtos (getvar "cdate") 2 6),试试吧,用vb这样的程序是可以打开cad的,但lisp是不能的,

mccad 发表于 2003-5-19 19:50:00

注意程序的运行环境,LISP程序是在AutoCAD的环境下运行

wanspring 发表于 2003-5-20 11:08:00

谢谢大家

上面两种方法我都试了一下,都能用,下面那种更简单。AutoCAD 帮助里没有这个变量,不知taoyimaier从那里知道的?

gis_2002 发表于 2003-5-20 11:13:00

请求帮助!!!

大侠同志,我上次用LISP编了一个将度分秒转换成度的小程序DEG,但是无法象SIN 或COS函数那样调用,请问是为什么?

  (setq a (deg ang))
    为什么(deg ang)计算后无法赋值给a
页: [1]
查看完整版本: 请求帮助!!!