如何实现两行或两行以上的单行文字“字”与“字”的对齐
论坛中单行文字的对齐工具有很多了,但如何实现以下功能:两行或两行以上的单行文字,如附图,如何实现第二行中的“参”字与第一行中的“本”字左对齐? http://bbs.mjtd.com/thread-96107-1-1.html yeahyeah 发表于 2013-8-12 23:06 static/image/common/back.gifhttp://bbs.mjtd.com/thread-96107-1-1.html
老大,那是表格对齐,非我想要之效果哈 ;文字对齐2013-8-13日 作者:xiabin68
(defun c:hk nil
(setq ent1 (car (entsel "选择基准文字:")))
(setq ent2 (car (entsel "选择要对齐的文字:")))
(setq xy1 (cdr (assoc 10 (entget ent1))))
(setq xy2 (cdr (assoc 10 (entget ent2))))
(setq newxy2 (list (car xy1) (nth 0 (cdr xy2)) (nth 1 (cdr xy2))))
(setq kk (entget ent2))
(setq kk (subst (cons 10 newxy2) (assoc 10 kk) kk))
(entmod kk)
)
给分哦!!!! 是不是这个效果~~~~~~~~~~~~~~~~
本帖最后由 langjs 于 2013-8-13 13:01 编辑
基准文字判断一下把前面的非汉字部分去掉就行了
帮人帮到底,写了一下程序送给你
;;;文字对齐by:langjs
(defun c:aa (/ ent i name p ss str txt x)
(setvar "cmdecho" 0)
(if (setq name (car (entsel "选择基准文字:")))
(progn
(redraw name 3)
(setq ent (entget name)txt (cdr (assoc 1 ent))str ""p t)
(while (and p(/= txt ""))
(if (< (ascii (substr txt 1 1)) 160)
(setq str (strcat str (substr txt 1 1)) txt (substr txt 2))
(setq p nil)
)
)
(setq ent (subst (cons 1 str) (assoc 1 ent) ent)
x (+ (car (cdr (assoc 10 ent))) (car (car (cdr (textbox ent)))) (* 1.5 (car (car (textbox ent))))))
(if (setq ss (ssget '((0 . "*TEXT"))))
(repeat (setq i (sslength ss))
(setq ent (entget (ssname ss (setq i (1- i)))))
(entmod (subst (cons 10 (list x (cadr (cdr (assoc 10 ent))))) (assoc 10 ent) ent ))
)
)
(redraw name 4)
)
)
(princ)
)
langjs 发表于 2013-8-13 11:58 static/image/common/back.gif
基准文字判断一下把前面的非汉字部分去掉就行了
帮人帮到底,写了一下程序送给你
谢谢高手哈,平时用的上这个小东西
这个不错,可以用 好东西,学习了
页:
[1]
2