明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 873|回复: 1

[提问] 文字等间距对齐程序修改(先承认这程序就是我从这个论坛里复制的)

[复制链接]
发表于 2016-1-15 15:45:16 | 显示全部楼层 |阅读模式
;;;程序名 :dqw.LSP
;;;对齐单行文本,自定义行距程序

(defun c:dqw ()
(setq a (ssget (list (cons 0 "text"))))
(setq n (sslength a))
(setq all nil)
(setq m 0)
(while (< m n)
(setq all (append all (list (entget (ssname a m)))))
(setq m (1+ m))
)

(setq l 0);按y坐标降序排列
(setq m 1)
(while (< l n)
(setq b (nth l all))
(while (< m n)
(setq c (nth m all))
(if (> (nth 2 (assoc '10 c)) (nth 2 (assoc '10 b)))
(progn
(setq all (subst 'aa (nth l all) all ) )
(setq all (subst 'bb (nth m all) all ) )
(setq all (subst c 'aa all ) )
(setq all (subst b 'bb all ) )
(setq b c)
)
)
(setq m (1+ m))
)
(setq l (1+ l))
(setq m (1+ l))
)

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

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

怎么修改才能识别字体的大小?比如字体高是6我输入的行距是3,字体就堆在一起了,每次都要试着输入间距.各位大神不知道能不能解决?


该贴已经同步到 别闹的微博
 楼主| 发表于 2016-1-15 15:48:33 | 显示全部楼层
我表达能力不行,我再补充一下,比如有字体高是15个几行字跟字体高是10,还有字体高是6个几行字怎么才能输入同样的行距,让这几个不同高的字体有相同的行距?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-20 21:12 , Processed in 0.161715 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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