对不起,我在上一个帖子中犯了一个错误。。。
使用(setenv“MYVARIABLENAME”1)时(仅允许字符串)
然后变量MYVARIABLENAME存储在寄存器中。
使用(getenv“MYVARIABLENAME”)可以再次获得值。在本例中为“1”。
由于该变量存储在寄存器中,因此所有其他lisp例程都可以调用它。
重新启动AutoCAD时,变量将保留在那里。它也可以在所有DWG文件中访问。
当在一个文件中更改时,所有文件都会更改。
使用AutoLisp“全局变量”时,通常会出现以下情况:
例如:
- (defun C:TEST ( / )
- (setq testvariable "blablabla")
- (princ)
- )
变量“testvariable”现在是一个全局变量,可以被samen DWG文件中的其他LISP接受。
重新启动AutoCAD时,此变量将消失,因为它永远不会存储。
使用时:
- (defun C:TEST ( / testvariable )
- (setq testvariable "blablabla")
- (princ)
- )
现在testvariable被设置为一个局部变量,当函数完成时,该局部变量被删除,因此,其他lisp程序无法再访问该局部变量。。。
希望这有意义。:-) |