xhq1954425 发表于 2014-3-12 14:27:29

如何提取当前DWG文件的 创建时间 (time)

本帖最后由 xhq1954425 于 2014-3-12 14:31 编辑

在CAD中输入time命令后显示 文本窗口,如何将窗口中显示的时间数据提取出来?最好是不显示那个 文本窗口!请知道的朋友指点一下,不胜感激!谢谢!

xhq1954425 发表于 2014-3-13 19:17:23

自己顶一下

菜卷鱼 发表于 2014-3-17 12:25:34

不用编程序的方法:
DDEDIT编辑任意文字=>鼠标右键=>插入字段=>选择字段名称=>创建日期
确定之后将显示字段名称。

菜卷鱼 发表于 2014-3-17 13:52:18

或者你直接复制         %<\AcVar CreateDate \f "M/d/yyyy h:mm tt">%
在CAD窗口粘贴,现在的问题是,我也不知道怎么直接得到字符串 %<\AcVar CreateDate \f "M/d/yyyy h:mm tt">%
因为里面有单\,与”“,我不知道怎么直接引用

qazxswk 发表于 2023-11-7 16:48:48

菜卷鱼 发表于 2014-3-17 12:25
不用编程序的方法:
DDEDIT编辑任意文字=>鼠标右键=>插入字段=>选择字段名称=>创建日期
确定之后将显示字 ...

我试了一下这个方法,但显示的时间,就是当前时间,保存文件,复制文件后,得到的时间,又是当前时间。所以,插入字段中的创建时间,是有问题的。只有在TIME命令中的创建时间,才是对的。

muwind 发表于 2023-11-7 23:25:40

本帖最后由 muwind 于 2023-11-7 23:34 编辑

创建时间
显示图形创建的日期和时间。该值存储在 TDCREATE 系统变量中。

修改时间
显示图形上次修改的日期和时间。该值存储在 TDUPDATE 系统变量中。

获取的变量值和date变量的格式一样,需要转换下才能看明白

最近编辑者
显示上一次修改此文件的用户。“最后保存者”的名称存储在 LOGINNAME 系统变量中。

累计编辑时间
显示编辑该图形的总时间。该值存储在 TDINDWG 系统变量中。



qazxswk 发表于 2023-11-8 19:26:07

muwind 发表于 2023-11-7 23:25
创建时间
显示图形创建的日期和时间。该值存储在 TDCREATE 系统变量中。



怎么转换?

muwind 发表于 2023-11-10 21:37:23

本帖最后由 muwind 于 2023-11-10 21:57 编辑

qazxswk 发表于 2023-11-8 19:26
怎么转换?
以约简儒略日期格式存储当前的日期和时间。

此值表示为“修改的 Julian 日期”(MJD),它的格式为 Julian 日期编号加上时间的小数代码:

<Julian 日期编号>.<时间的小数代码>

“修改的 Julian 日期”(通常称为 UT1)是一个全世界的科学性标准,用以指定自公元前 4713 年 1 月 1 日 12:00 a.m. (B.C.E.) 起的天数。按照此系统,1997 年 7 月 4 日 2:29:58 p.m. 表示为 2450634.60387736,而 1998 年 1 月 1 日正午 12:00 则相应地表示为 2450815.50000000。

通过用 DATE 返回的数字相减可计算出日期和时间的差别。要用 DATE 返回的值计算从午夜开始的秒数,可以使用以下 AutoLISP 表达式:

(setq s (getvar "DATE"))
(setq seconds (* 86400.0 (- s (fix s))))
因为计算机的时钟能提供日期和时间,所以仅当系统时钟被设置为 UTC/Zulu(格林尼治标准时间)时,DATE 系统变量才返回真正的 Julian 日期


直接转换稍微麻烦点,可以用百度AI或者chatgpt帮你搞定,我没有现成的代码,
也可以用menucmd简单的转化日期比如
(setq tt(menucmd "M=$(edtime,$(getvar,TDCREATE),YYYY/MO/DD)"))
tt得到的就是 "2019/09/10" 这吊样的日期

qazxswk 发表于 2023-11-10 23:47:12

muwind 发表于 2023-11-10 21:37
以约简儒略日期格式存储当前的日期和时间。

此值表示为“修改的 Julian 日期”(MJD),它的格式为 Juli ...

(menucmd "M=$(edtime,$(getvar,TDCREATE),YYYY/MO/DD)")
这个代码收了,谢谢

muwind 发表于 2023-11-11 22:13:47

qazxswk 发表于 2023-11-10 23:47
(menucmd "M=$(edtime,$(getvar,TDCREATE),YYYY/MO/DD)")
这个代码收了,谢谢

格式挺多的 你可以看看edtime的帮助 我就不复制了
页: [1]
查看完整版本: 如何提取当前DWG文件的 创建时间 (time)