用变量名达到同时画点和写变量名字的功能
本帖最后由 ynhh 于 2014-2-7 16:02 编辑在编写地形点位的局部变量名比如为
AA BB CC DD EE
我想在这些变量名的位置画一个点并同时写入变量名字
这样好查看变量名的位置和编号
在输入变量名 AA BB CC DD EE
之后我是分两步走要输入两次变量名
感觉有点麻烦
请教大师,
能不能只输入一次变量名就达到同时画点和写变量名字的功能?
不太明白是怎样一种情况下使用,如果必须,可以看看函数read和vl-symbol-name。
另外要说的是,不管是不是使用局部变量,使用太多的变量名都不是好方法,太多的变量名占用的内存空间太多,即使及时释放,仍旧会有“碎片”,会使得系统速度减慢,所以,对于名称和点对应的情况,最好是构建关联表,便于管理也不太占太多内存。
如果一定要用多变量,不妨再看看函数set和eval,或许能有些帮助。 ll_j 发表于 2014-2-7 11:51 static/image/common/back.gif
不太明白是怎样一种情况下使用,如果必须,可以看看函数read和vl-symbol-name。
另外要说的是,不管是不是 ...
感谢大师的指点
我所想的只是把编写程序是的一些点位的变量名
很方便的在草图中标上点号及名字
以便将来程序修改时好对上位置 ;; 未经测试(foreach a (list "AA" "BB" "CC" "DD" "EE")
(command "text" "j" "mc" (read a) 300 0 a "")
) 感谢大师的指点,我想达到的是这样的效果
当已知如下点位时
(setq AA '(3 0 ))
(setq BB '(5 6 ))
(setq CC '(8 4 ))
(setq DD '(2 7 ))
用一个命令同时达到如下图,同时画点并在点位上写入变量名字的功能 ynhh 发表于 2014-2-7 16:02 static/image/common/back.gif
感谢大师的指点,我想达到的是这样的效果
当已知如下点位时
(defun c:tt ()
(setq AA '(3 0)
BB '(5 6)
CC '(8 4)
DD '(2 7)
)
(setvar "pdmode" 35)
(foreach a (list "AA" "BB" "CC" "DD")
(setq pt (eval (read a))
p1 (polar pt (* pi 0.5) 0.5)
)
(command "point" pt)
(command "text" "j" "mc" p1 0.5 0 a)
)
(princ)
) 赞同沙发上大大的见解,最好用set函数和eval函数来录入
但按照楼主的问题的话,楼上版主大大的代码无疑是很好的,但同样会有一个问题,就是会面临无限制增加变量,我觉得还是用set函数和eval逐个录入比较好!
就是测量上的展野外测点点号的效果 是否把数据做成excel表格,再读取表格内容会更好一点
xyp1964 发表于 2014-2-7 19:53 static/image/common/back.gif
衷心感谢版主的热心指点,谢谢您。
你的程序很好,也能正常运转,但我的初衷想法是这样的
(setq AA '(3 0)
BB '(5 6)
CC '(8 4)
DD '(2 7)
);这部分是编程过中的已知变量(已含赋值)
(setq A-D '(AA BB CC DD));这是把各个变量编号方便输入成表
再根据表 A-D 来达到同时画点及编号功能
请您有空时再指点一下,谢谢
页:
[1]
2