CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

关于变量(AutoLISP)

2023-1-8 13:12| 发布者: admin| 查看: 668| 评论: 0|来自: AutoCAD

摘要: 变量用于在内存中存储值或值列表。

变量用于在内存中存储值或值列表。

变量的数据类型是在赋值时确定的。变量将保留其值,直到分配新值或变量超出范围。变量的作用域可以是全局变量,也可以是局部变量。加载到图形中的任何 AutoLISP 程序都可以访问全局变量,而局部变量仅在特定函数或命令中可用。您可以使用 AutoLISP 函数为变量赋值。setq

该函数的语法如下:setq

(setq variable_name1 value1 [variable_name2 value2 ...])

该函数将指定的值分配给给定的变量名称,并返回最后分配的值作为其函数结果。下面的示例创建两个变量:和 。 分配值 3,而分配值 3.875。setqvalabcvalabc

(setq val 3 abc 3.875)
3.875

下面的示例创建一个名为 “EXTERIOR-WALLS” 的变量,并为其赋值。layr

(setq layr "EXTERIOR-WALLS")
"EXTERIOR-WALLS"

将变量与函数一起使用

将值分配给变量后,可以在表达式中将其用作函数参数的值。下面使用以前在几个 AutoLISP 表达式中创建的两个变量来创建一个图层,并在 0 度处绘制一条具有特定长度的线。

(command "_.-layer" "_make" layr "")
(command "_.line" PAUSE (strcat "@" (itoa val) "<0") "")

检查变量的值

您可以使用以下方法来确定变量的当前值:

  • 在 AutoCAD 命令提示符下,添加 (感叹号),然后按 Enter 键。

    命令:(setq val 3 abc 3.875)

    3.875

    命令:!val

    3

  • 在 Visual LISP 控制台窗口提示符下,输入变量的名称,然后按 Enter(仅限 Windows)。

    _$ (SETQ VAL 3 ABC 3.875)

    3.875

    _$ 瓦尔

    3

  • 在 AutoCAD 命令提示符或 Visual LISP 控制台窗口提示符下(仅限 Windows),或者在 AutoLISP 程序中,创建一个使用该函数的表达式,并向其传递变量的名称。您还应该在第一个表达式后面加上使用该函数的第二个表达式,但不要向其传递参数以禁止显示第一个函数的返回值。princprincprinc

    命令:(setq val 3 abc 3.875)

    3.875

    命令:(princ val)(princ)

    3

    注意:如果不添加上述示例中的第二个表达式,则返回值 33。前 3 是函数的所需输出,而后 3 是函数返回值的结果。请记住,AutoLISP 返回最后一个计算的函数的值。在前面的示例中,由于未提供任何参数,因此第二个未返回任何值。princprincprinc

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2024-12-15 14:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部