明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3569|回复: 16

[源码] 根据首行改字高左对齐并按一定间距排序

  [复制链接]
发表于 2014-1-4 21:21:46 | 显示全部楼层 |阅读模式
  1. (defun c:wzpx (/ e1 e2 ent heigh heighy i inpoint k lst ob ob_ptx ob_pty pt
  2.          pto ptx ss
  3.       )
  4.   (prompt "\n欢迎使用由Gavin业余时间写的程序! 本程序命令:wzpx")
  5.   (prompt "\n本程序主要功能:将文字左对齐并按一定间距排序!")
  6.   (setq ss (ssget '((0 . "text"))))
  7.   (setq i 0
  8.   lst '()
  9.   )
  10.   (repeat (sslength ss)
  11.     (setq ent (ssname ss i))
  12.     (setq inpoint (Vlax-Get (Vlax-Ename->Vla-Object ent) 'InsertionPoint))
  13.     (setq lst (append
  14.     (list (cons ent inpoint))
  15.     lst
  16.         )
  17.     )
  18.     (setq i (1+ i))
  19.   )
  20.   (setq lst (vl-sort lst (function (lambda (e1 e2)
  21.              (< (caddr e1) (caddr e2))
  22.            )
  23.        )
  24.       )
  25.   )
  26.   (setq ob_ptx (cadr (last lst)))
  27.   (setq ob_pty (caddr (last lst)))
  28.   (setq heigh (Vlax-Get (Vlax-Ename->Vla-Object (car (last lst))) 'Height))
  29.   (setq k 0)
  30.   (repeat (length lst)
  31.     (setq ob (Vlax-Ename->Vla-Object (car (nth k lst))))
  32.     (setq pt (Vlax-Get ob 'InsertionPoint))
  33.     (setq ptx (subst
  34.     ob_ptx
  35.     (car pt)
  36.     pt
  37.         )
  38.     )
  39.     (setq heighy (- ob_pty (* 1.2 heigh (- (length lst) (1+ k)))))
  40.     (setq pto (subst
  41.     heighy
  42.     (cadr ptx)
  43.     ptx
  44.         )
  45.     )
  46.     (Vlax-Put-Property ob 'InsertionPoint (Vlax-3d-Point pto))
  47.     (Vlax-Put-Property ob 'Height heigh)
  48.     (setq k (1+ k))
  49.   )
  50.   (princ)
  51. )

本帖子中包含更多资源

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

x

点评

不错很有用!希望继续研究  发表于 2015-7-22 09:58

本帖被以下淘专辑推荐:

发表于 2022-9-25 10:33:39 | 显示全部楼层
垂直向的文字重叠了,能再加个循环就更完美了
发表于 2022-9-25 14:47:57 | 显示全部楼层
楼主这个源码可以学习不错,谢谢
发表于 2024-8-30 22:28:32 | 显示全部楼层
谢谢楼主分享
发表于 2014-1-4 21:40:49 | 显示全部楼层
谢谢楼主的分享,试用了,非常好,收藏备用了!
发表于 2014-1-5 00:32:23 | 显示全部楼层
谢谢楼主分享,收藏学习!
发表于 2014-1-5 09:25:43 | 显示全部楼层
 楼主| 发表于 2014-1-5 11:16:37 | 显示全部楼层
菜卷鱼 发表于 2014-1-5 09:25
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=99960

这个可以参考。
发表于 2014-1-6 07:32:32 | 显示全部楼层
繁花落叶 发表于 2014-1-5 11:16
这个可以参考。

两者各有特色
发表于 2014-12-16 09:04:27 | 显示全部楼层
1.2倍行高!
发表于 2014-12-16 11:48:37 | 显示全部楼层
试了试貌似有时候不起作用哦
发表于 2014-12-16 13:54:21 | 显示全部楼层
sabbathcn 发表于 2014-12-16 11:48
试了试貌似有时候不起作用哦

程序只是改变的插入点,也就是组码10,当文字为中、右、调整时,程序就不起作用的了。
发表于 2014-12-16 16:03:25 | 显示全部楼层
springwillow 发表于 2014-12-16 13:54
程序只是改变的插入点,也就是组码10,当文字为中、右、调整时,程序就不起作用的了。

时而管用时而不管用
是和字体有关还是和文字的位置有关系呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 08:47 , Processed in 0.215383 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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