明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 870|回复: 5

[源码] 标注文字垂直位置设定,

[复制链接]
发表于 2020-3-23 00:02 | 显示全部楼层 |阅读模式
本帖最后由 cq4920 于 2020-3-25 01:18 编辑
  1. ;;========================================
  2. ;; 标注文字垂直位置
  3. ;;========================================
  4. (defun c:tt5 ( / ss n Nb  *error*)
  5.   (defun *error* (s)(princ (strcat "\n程序出错: " s)))
  6.   (setvar "CMDECHO" 0)
  7.   (setq ss (ssget '((0 . "DIMENSION"))))  
  8.       (initget "0 1 2 3 4")
  9.       (if (not (setq Nb
  10.                  (getkword"\n设定标注位置<0>居中<1>上方<2>外部<3>JIS<4>下方]"))
  11.           )
  12.         (setq Nb "2"))
  13.   (setq n 0)  
  14.         (repeat (sslength ss)
  15.           (vla-put-VerticalTextPosition (vlax-ename->vla-object (ssname ss n)) Nb)
  16.           (setq n (1+ n))
  17.         )      
  18. (setvar "CMDECHO" 1)
  19. (princ)
  20. )


"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2020-3-24 10:06 | 显示全部楼层
本帖最后由 e2002 于 2020-3-24 10:28 编辑

各位AutoCAD开发者:规范的提示文字串,能带给用户与内置标准命令一致的操作体验。

而且由于规范,所以这些提示字符串就能直接使用程序,函数来处理,按要求由程序流程控制,动态创建,而不是写死在语句里。

回复 支持 1 反对 0

使用道具 举报

发表于 2020-3-23 22:01 | 显示全部楼层
(repeat (sslength ss)  循环写错了
 楼主| 发表于 2020-3-23 22:14 | 显示全部楼层
start4444 发表于 2020-3-23 22:01
(repeat (sslength ss)  循环写错了

原来是对 repeat 用法完全不了解!真是一语点醒梦中人!现在就好用多了!谢谢!!
发表于 2020-3-24 10:03 | 显示全部楼层
(getkword"\n设定标注位置<0>居中<1>上方<2>外部<3>JIS<4>下方]"))

请修改为:

(getkword"\n设定标注位置 [居中(0)/上方(1)/外部(2)/JIS(3)/下方(4)]: "))

然后对比一下这两种写法,在运行中,鼠标右键菜单的表现差异。
 楼主| 发表于 2020-3-24 10:08 | 显示全部楼层
e2002 发表于 2020-3-24 10:03
(getkword"\n设定标注位置居中上方外部JIS下方]"))

请修改为:

漂亮  漂亮!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-19 18:40 , Processed in 0.168352 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表