明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 12621|回复: 45

[资源] 文本等间距对齐

    [复制链接]
发表于 2011-3-1 22:52 | 显示全部楼层 |阅读模式
功能:把杂乱的文本按照输入的间距和对齐点进行整齐排列
命令:DQW
现有方式为左对齐,按y坐标降序排列。想要其他方式的自己YY.
  1. ;;;程序名 :dqw.LSP
  2. ;;;对齐单行文本,自定义行距程序

  3. (defun c:dqw ()
  4. (setq a (ssget (list (cons 0 "text"))))
  5. (setq n (sslength a))
  6. (setq all nil)
  7. (setq m 0)
  8. (while (< m n)
  9. (setq all (append all (list (entget (ssname a m)))))
  10. (setq m (1+ m))
  11. )

  12. (setq l 0);按y坐标降序排列
  13. (setq m 1)
  14. (while (< l n)
  15. (setq b (nth l all))
  16. (while (< m n)
  17. (setq c (nth m all))
  18. (if (> (nth 2 (assoc '10 c)) (nth 2 (assoc '10 b)))
  19. (progn
  20. (setq all (subst 'aa (nth l all) all ) )
  21. (setq all (subst 'bb (nth m all) all ) )
  22. (setq all (subst c 'aa all ) )
  23. (setq all (subst b 'bb all ) )
  24. (setq b c)
  25. )
  26. )
  27. (setq m (1+ m))
  28. )
  29. (setq l (1+ l))
  30. (setq m (1+ l))
  31. )

  32. (setq val (getdist "\n行距:"))
  33. (setq p (getpoint "\n首行的插入点:"))
  34. (setq x0 (car p))
  35. (setq y0 (cadr p))

  36. (setq m 0)
  37. (while (< m n)
  38. (setq b (nth m all))
  39. (setq y (- y0 (* m val)))
  40. (setq z (nth 3 (assoc '10 b)))
  41. (setq xyz_new (list '10 x0 y z))
  42. (setq b (subst (cons '72 0) (assoc '72 b) b))
  43. (setq b (subst (cons '73 0) (assoc '73 b) b))
  44. (setq b (subst xyz_new (assoc '10 b) b ) )
  45. (entmod b)
  46. (setq m (1+ m))
  47. )
  48. )
  49. (princ "\n==左对齐单行文本,自定义行距程序成功加载!命令行以dqw启动!")







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

我主要用的是多行文字对齐,能不能发个这样的东东  发表于 2012-12-25 18:38
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2011-3-2 09:52 | 显示全部楼层
多行文本是不是要修改下程序才可以执行
回复 支持 0 反对 1

使用道具 举报

发表于 2023-1-13 14:39 | 显示全部楼层
冒泡法排序,有个更高效的方法,用vl-sort比较快
发表于 2018-2-28 09:20 | 显示全部楼层
感谢楼主,刚好需要
发表于 2011-3-2 09:35 | 显示全部楼层
有点用处,学习了
 楼主| 发表于 2011-3-2 10:33 | 显示全部楼层
回复 仲文玉 的帖子

不好意思,只有自己加上了,因为我用不着多行文本
发表于 2011-3-2 10:51 | 显示全部楼层
为什么加载后,出现语法错误提示
发表于 2011-3-3 23:29 | 显示全部楼层
如果要改成x轴排序要改那一句?
发表于 2011-4-20 12:33 | 显示全部楼层
          分享中,谢了
发表于 2011-4-20 20:31 | 显示全部楼层
感谢分享,学习了!
发表于 2011-4-20 21:23 | 显示全部楼层
很好玩,很游戏一样,谢谢分享
发表于 2011-4-21 12:38 | 显示全部楼层
         能从中学到东西,谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 13:59 , Processed in 0.252483 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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