CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

关于变量(AutoLISP)

2023-1-6 13:40| 发布者: admin| 查看: 885| 评论: 0|来自: AutoCAD

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

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

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

函数的语法如下:setq

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

该函数将指定的值分配给给定的变量名称,并返回最后一个分配的值作为其函数结果。下面的示例创建两个变量:and.被分配值 3,而 is 被分配的值为 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

路过

雷人

握手

鲜花

鸡蛋

最新评论

AutoCAD VBA参数化绘图程序开发与实战

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

GMT+8, 2024-5-7 04:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部