vlisp函数中数字有什么含义吗?
发布网友
发布时间:2022-05-10 05:31
我来回答
共2个回答
热心网友
时间:2023-11-06 08:42
(setq i 0) 这句后面的 0 指的是把i设置成0,也就是将数字0赋值给变量i ,就是i=0的意思
repeat (sslength ss) 这个(sslength ss) 指的是ss这个选择集中的对象数量 repeat... 就是说重复运行多少次,具体多少次就是选择集中对象的数量,比如有5个对象,就重复运行5次
(setq sstyp (cdr (assoc 0 ssdata))) 这句里面的0的含义? 这里的0,是ssdata这个表里面的关键元素,用这个关键元素可以去搜索表里的东西, 表里如果有这种 (0 . “LINE”)就会被搜索到并返回 ,cdr就是把(0 . “LINE”)中的第一个元素去掉,剩下“LINE”,这句话最终就是 把“LINE”赋值给sstyp,也就是sstyp=“LINE”
(setq txt (cdr (assoc 1 ssdata))) 这句里面的1的含义,这里的1 和上面的0 是一样的意思。
热心网友
时间:2023-11-06 08:42
(setq i 0) 这句后面的 0 有什么含义吗-----这个就是给i赋一个初始值为0,可以参考后的增加1的那一句
(repeat (sslength ss) 这个重复运算的语句不是很懂 就是下边的几行,重复循环执行,执行的次数由ss选择集的个数决定。
(setq ssn (ssname ss i))
(setq ssdata (entget ssn))
(setq sstyp (cdr (assoc 0 ssdata))) 这句里面的0的含义? ---这个 0是点对中的左值,它标示提取其名称
(if (or (= sstyp "TEXT") (= sstyp "MTEXT"))
(progn
(setq txt (cdr (assoc 1 ssdata))) 这句里面的1的含义?---这个1 也是点对中的左值,它标示提取其文本,也就是字符串
(princ txt ff)
(princ "\n" ff)
)
)
(setq i (1+ i)) --------每循环一次 i 增加1