对齐文本(lisp程序)
downloada
downloada Lv.2
2008年02月07日 16:01:45
只看楼主

本人一直在用的对齐文本的lisp,很好很不错dqwb的功能:在CAD画图时要输入好多的文字进行说明,可是由于不是起打的(好多个单行文字,参差不齐), 想让他们都对齐下面贴上源码;;;程序名 :dqwb.LSP;;;对齐单行文本,自定义行距程序 ;;;;;;编制者:lxch(from" 晓东家园",衷心感谢“lxch”);;;编制日期:2005.10.20(defun c:dqwb ()

本人一直在用的对齐文本的lisp,很好很不错

dqwb的功能:在CAD画图时要输入好多的文字进行说明,可是由于不是起打的(好多个单行文字,参差不齐),
想让他们都对齐

下面贴上源码



;;;程序名 :dqwb.LSP
;;;对齐单行文本,自定义行距程序
;;;
;;;编制者:lxch(from" 晓东家园",衷心感谢“lxch”)
;;;编制日期:2005.10.20

(defun c:dqwb ()
(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===对齐单行文本,自定义行距程序成功加载!命令行以dqwb启动!")
免费打赏
bld7657
2008年02月13日 09:34:23
2楼
出来consp nil 不知是什么?
回复
hoyoyo
2008年02月22日 18:17:34
3楼
感謝樓主分享好東西
,這程序正是我需要的,
下載研究咯.
回复
zhangguangshi
2008年05月23日 22:01:26
4楼
不能使用!
回复
zhangkttof
2008年06月26日 04:28:17
5楼
不能用啊,楼主。。。
回复
sccdcy
2008年06月27日 16:57:23
6楼
这个程序在钢构CAD中已得到更完美的改进

钢构CAD 在线
http://co.163.com/forum/content/369_959993_1.htm
回复
xys19830618
2008年07月16日 18:44:46
7楼
感謝樓主分享好東西
回复
wwjsanta
2009年06月06日 20:57:11
8楼
楼主发的代码有些乱,可用这里的一个文本
回复
chenyizhen28
2010年01月13日 22:44:11
9楼
ding一下下吧。
回复
coolhui
2010年02月20日 15:46:22
10楼
谢谢wwjsanta 提供的对齐代码,楼主发的不能用~~
回复
lwqing00
2010年02月20日 16:56:05
11楼
ding一下下吧。:time: :time: :time: :time: :time:
回复

相关推荐

APP内打开