调整日期
下面是我的LISP代码。它目前所做的是调整图纸上的日期字段。我试图修改它,它会提示今天的日期,或者可以手动调整。问题是,当提示输入今天的日期并按enter键时,该值不会被存储并显示为“-”,但当它被键入时,它工作正常。
如果有人需要更多的代码,我会发布它,但由于这是处理If语句,所以不确定是否需要它。 这是一个如何将值保存到参数的示例。。。
(setq wid (if wid
width
100.0
)
)
(if (progn (initget 6)
(setq width (cond ((getdist (strcat "\n Width of Rectangle : <"
(rtos wid 2 2)
">:"
)
)
)
(T wid)
)
)
)
(setq wid width)
)
塔瓦特 这将当前日期作为字符串输入LISP函数:
(menucmd "M=$(edtime,$(getvar,date),YYYY-MO-DD)")
... 对于属性字段,这是DIESEL:
%<\AcDiesel $(edtime, 0,M"/"DD"/"YYYY H:MM:SS AM/PM)>%
希望这有帮助! 考虑这个例子:
(defun c:AD ( / str today )
(setq str
(cond
(
(eq ""
(setq str
(getstring t
(strcat "\nDate to be Placed <"
(setq today (menucmd "m=$(edtime,$(getvar,DATE),DD.MO.YYYY)")) ">: "
)
)
)
)
today
)
( str )
)
)
(princ str)
(princ)
) 我不想在字段中自动完成今天的日期。我知道怎么做。原因是,当我们发送打印件,然后取回打印件时,我们使用日期来验证图纸,因为它不是修订版,因为我们只会用修订版更新打印件上的日期,如果我们让日期自动更新,我们无法做到这一点。不自动更新这些日期很重要,因为很多时候我们的日期也必须与许可辖区一致。
因此,目前我们的日期嵌入到一个块中,我提出了一个LISP来更新一个自定义字段,以允许在不需要进入块编辑器的情况下更新日期。我只是对if语句有一个问题。 谢谢李。我能够把它放在调整场之前,它起了作用!
伙计,我从来没有建议你硬编码LISP或DIESEL表达式来自动修改块。
我们在所谓的“绘图戳记”中使用了几个表达式。。。上次保存图形的时间、作者、上次打印图形的时间、作者、图形的文件路径和布局名称。每个仅在执行适用任务时更新。
正如李在他发布的示例中所展示的那样,我在上面提供的menucmd语句非常有效。
就我个人而言,我使用工具箱函数:
(defun i:Date ()
(menucmd "M=$(edtime,$(getvar,date),YYYY-MO-DD)"))
... 对于此类任务:
6
... 但那是因为我很懒,不喜欢把所有的东西都重新打印出来。 我道歉,我没有粗鲁或试图解雇你。我只是读了你的帖子太快,当我看到柴油机代码认为这是自动更新日期和时间,在我的错误进一步解释了我的工作程序。
别担心,Ohnoto。
页:
[1]