标注文字垂直位置设定,
本帖最后由 cq4920 于 2020-3-25 01:18 编辑;;========================================
;; 标注文字垂直位置
;;========================================
(defun c:tt5 ( / ss n Nb*error*)
(defun *error* (s)(princ (strcat "\n程序出错: " s)))
(setvar "CMDECHO" 0)
(setq ss (ssget '((0 . "DIMENSION"))))
(initget "0 1 2 3 4")
(if (not (setq Nb
(getkword"\n设定标注位置<0>居中<1>上方<2>外部<3>JIS<4>下方]"))
)
(setq Nb "2"))
(setq n 0)
(repeat (sslength ss)
(vla-put-VerticalTextPosition (vlax-ename->vla-object (ssname ss n)) Nb)
(setq n (1+ n))
)
(setvar "CMDECHO" 1)
(princ)
)
本帖最后由 e2002 于 2020-3-24 10:28 编辑
各位AutoCAD开发者:规范的提示文字串,能带给用户与内置标准命令一致的操作体验。
而且由于规范,所以这些提示字符串就能直接使用程序,函数来处理,按要求由程序流程控制,动态创建,而不是写死在语句里。
(repeat (sslength ss)循环写错了 start4444 发表于 2020-3-23 22:01
(repeat (sslength ss)循环写错了
原来是对 repeat 用法完全不了解!真是一语点醒梦中人!现在就好用多了!谢谢!! (getkword"\n设定标注位置<0>居中<1>上方<2>外部<3>JIS<4>下方]"))
请修改为:
(getkword"\n设定标注位置 [居中(0)/上方(1)/外部(2)/JIS(3)/下方(4)]: "))
然后对比一下这两种写法,在运行中,鼠标右键菜单的表现差异。 e2002 发表于 2020-3-24 10:03
(getkword"\n设定标注位置居中上方外部JIS下方]"))
请修改为:
漂亮漂亮!
页:
[1]