啊业_48384 发表于 2020-5-28 21:59:30

日期

(defun c:rq (/ tmp cy cm cd hh mm ss ms txt pt1)
(setq tmp (rtos (getvar "cdate") 2 16));系统当前时间
(setq   
    cy (rtos (atof (substr tmp 1 4)) 2 0);年
    cm (rtos (atof (substr tmp 5 2)) 2 0);月
    cd (rtos (atof (substr tmp 7 2)) 2 0);日
)
(setq txt (strcat " " cy "年"cm "月" cd "日"))
(command "color" "magenta" "y")

(setq pt1 (getpoint "\n\t放置点 : "))
(command "text" "j" "mc" pt1 "0" txt)
(princ)
)

lifuq1979 发表于 2020-5-29 21:26:39

试试 (setq txt (menucmd"m=$(edtime,$(getvar,DATE),yyyy年mo月dd日)"))

lisperado 发表于 2020-5-30 04:27:51

本帖最后由 lisperado 于 2020-5-31 01:30 编辑

建议:
(cons 1 (menucmd"M=$(edtime,0,YYYY年MO月DD日)") )

既然你是以substr cdate思路,建议mapcar可省略多余变量
而entmake以dxf 11 72 73 代替 "Justify" "M" "C" ,dxf 62 代替颜色

示范:


(defun c:rq (/ % p)
(if (setq % (rtos (getvar 'cdate) 2 0)
            p (getpoint "\n文本放置点 :")
            )
   (entmake (list '(0 . "TEXT")'(40 . 2.5)'(62 . 6)'(72 . 1)'(73 . 2)(cons 10 p)(cons 11 p)
                   (cons 1
                         (apply      'strcat
                              (mapcar      '(lambda (a b) (strcat (apply 'substr (cons % a)) b))
                                        '((1 4) (5 2) (7 2))
                                        '("年" "月" "日")
                                        )
                              )
                         )
                   )
             )
    (princ "\n退出?")
    )
(princ)
)



hn10183051 发表于 2020-5-30 09:49:49

学习了

BUBUBA918 发表于 2020-5-30 11:46:38

如何让图里的日期做到和时间同步,自动更新

lisperado 发表于 2020-5-31 01:19:55

本帖最后由 lisperado 于 2020-5-31 01:28 编辑

BUBUBA918 发表于 2020-5-30 11:46
如何让图里的日期做到和时间同步,自动更新
命令: UPDATEFIELD 更新同步

请参考之前entmake


'( 1 . "%<\\AcVar Date \\f \"%#c\">%" )
;默认根据区域格式
;Sunday, May 31, 2020 1:10:52 AM

'( 1 . "%<\\AcVar Date \\f \"yyyy\U+5E74MM\U+6708dd\U+65E5\">%" )
;2020年5月31日

'( 1 . "%<\\AcVar Date \\f \"yyyy年MM月dd日\">%" )
;2020年5月31日

页: [1]
查看完整版本: 日期