(XD::Symbol:Put)保存符号名称和值
本帖最后由 st788796 于 2016-5-22 08:34 编辑**** Hidden Message *****
_$ (xd::symbol:put 'dimension_layer "1")
T
_$ 大师,今天发布的这些符号函数,是保存全局变量时候用的吗? 能给写几个例子吗? Lisphk 发表于 2016-5-22 14:14
大师,今天发布的这些符号函数,是保存全局变量时候用的吗? 能给写几个例子吗?
是的,以前全局变量都是直接定义一个符号,今天写一个程序时想改变一下,翻了翻函数库中没有找到一个合适的容器,就写了这几个函数,下面是一个例子,尚未完成
(defun c:tt (/ _print p1 d flag)
(defun _print ()
(princ (strcat "\n当前设置: "
(cond
((zerop (xd::symbol:get 'dimension_mode))
"水平; "
)
((= (xd::symbol:get 'dimension_mod) 1)
"垂直; "
)
(t "任意角度; ")
)
"距离 :"
(rtos (xd::symbol:get 'dimension_space) 2 3)
)
)
)
(if (not (xd::symbol:get 'DIMENSION_LAYER))
(xd::symbol:put 'DIMENSION_LAYER (getvar "clayer"))
)
(if (not (xd::symbol:get 'DIMENSION_SpaCE))
(xd::symbol:put
'DIMENSION_SpaCE
(/ (getvar "viewsize") 5.0)
)
)
(if (not (xd::symbol:get 'DIMENSION_Mode))
(xd::symbol:put 'DIMENSION_Mode 0)
)
(setq flag t)
(while (and flag
(progn
(_print)
(initget 128 "C D V H A")
(setq p1 (getpoint
"\n第一点[设置图层(C)/设置距离(D)/水平(H)/垂直(V)/任意角度(A)]: "
)
)
)
)
(cond
((= p1 "C")
(if (setq e (car (entsel "\n拾取标准实体图层: ")))
(xd::symbol:put
'DIMENSION_LAYER
(xdrx_getpropertyvalue e "layer")
)
)
)
((= p1 "D")
(if (setq d (getdist "\n距离: "))
(xd::symbol:put 'DIMENSION_SAPCE d)
)
)
((= p1 "H")
(xd::symbol:put 'dimension_mode 1)
)
((= p1 "V")
(xd::symbol:put 'dimension_mode 0)
)
((= p1 "A")
(xd::symbol:put 'dimension_modd 2)
)
((= (type p1) 'LIST) (setq flag nil))
(t )
)
)
(if (= (type p1) 'LIST)
(progn
(if (zerop (xd::symbol:get 'dimension_mode))
(xdrx_sysvar_push '("ortho" 0))
(xdrx_sysvar_push '("ortho" 1))
)
(setq p2 (getpoint p1 "\n第二点: "))
)
)
(princ)
)
先收藏再学习 good good.
回复学习
收藏学习了 收藏一下{:1_3:} 感谢分享,看看内容。
先收藏再学习 {:1_12:}{:1_12:}{:1_12:}{:1_12:} 变量保存在哪里了 支持下楼主 谢谢 看看 学习
认真学习看,感谢分享