Michaels 发表于 2022-7-6 10:29:32

特定系统变量

你好
 
我忘记了获取作者姓名的系统变量。
 
请帮忙。
 
谢谢。
 
迈克尔

lpseifert 发表于 2022-7-6 10:38:57

如果您指的是“绘图属性”(命令\u dwgprops)的作者,我认为没有系统变量。
但这应该返回dwgprop“Author”

(setq si (vla-Get-SummaryInfo (vla-Get-ActiveDocument (vlax-Get-Acad-Object)))
   Auth (vla-get-author si)
   )

Michaels 发表于 2022-7-6 10:49:01

非常感谢你。
 
但是is不起作用,这里是我想要的东西,比如(getvar的用户……)。。。。。。。。
 
我以前用过它,它确实给了我名字。
 
当做
 
迈克尔

lpseifert 发表于 2022-7-6 10:53:44

是的,它确实有效。。。它返回了“”,因为在图形属性的“作者”区域中没有输入任何内容(顺便说一句,在上述代码中,作者的变量将是“Auth”,而不是“si”)
也许您正在寻找系统变量Loginname。。。(getvar“loginname”)
或环境变量Username(getenv“Username”)
 
但这两个变量都与作者无关。

Michaels 发表于 2022-7-6 11:02:42

对。你完全正确。
 
事实上(getvar的loginname)是我期待的。
 
我应该输入什么来获得作者姓名?
 
加上Sys Var(getenv“username”)返回如下错误?
 
Command: (getenv 'username)
; error: bad argument type: stringp USERNAME

 
谢谢你。

lpseifert 发表于 2022-7-6 11:07:11

您需要先在“图形属性”中输入作者-请参见上图
图形特性的命令是_DWGPROPS
 
 
你试过了吗
注释引号

Michaels 发表于 2022-7-6 11:14:55

 
我真的很抱歉。
 
我以前用Lisp加一个引号('),但就像你上一篇文章一样。。。
 
3
 
它工作得很好。
 
很抱歉浪费了你的时间。
 
迈克尔。

lpseifert 发表于 2022-7-6 11:18:06

getenv不是那样工作的
 
 
如果你学到了什么,那不是浪费时间

Michaels 发表于 2022-7-6 11:29:34

好极了
 
我使用它就像我用(getvar’……)处理它一样。
 
谢谢你的提醒和关注。
 
非常感谢。

irneb 发表于 2022-7-6 11:33:49

不能在getenv上使用单引号的原因是getenv对其获取的注册表项使用区分大小写。当您使用单引号时,它实际上使用全大写字符串发送,因此找不到它。Getvar只对系统变量起作用,这些变量都不区分大小写。
页: [1]
查看完整版本: 特定系统变量