关于狼版主的文字打断与连接的小bug,请求修改
关于狼版主的文字打断与连接的小bug先贴出原版
打断基本上没问题,就是连接,发现,后选择的居然在前面去了,呵呵,比如123456789在5这里打断,第一段1234,第二段56789,连接的时候,选择56789,然后选择1234,结果是原来56789消失,原来的1234变成了567891234,呵呵,不符合实际工作需要啊,比如写说明,断开后,又要连上,这样就多了好几部要做的了,希望高手改改改成能接着后面就好了,写谢谢了
(princ"\n打断文字by:langjs 命令:aa")
(defun c:aa (/ b box ent ent2 h i n name num pt pt10 str str1 str2)
(while (and
(setq pt (cadr (setq name (entsel "\n选择文字:"))))
(setq ent (entget (car name)))
(IF (= (cdr (assoc 0 ent)) "TEXT")
(progn
(setq str (cdr (assoc 1 ent)) pt10 (cdr (assoc 10 ent))h (cdr (assoc 40 ent))
ent2 (cdr ent) box (textbox ent2)
n (fix (/ (- (car pt) (car pt10)) (/ (- (car (cadr box)) (car (car box))) (strlen str))))
num 0i 1
)
(repeat n
(if (> (ascii (substr str i i)) 160) (setq num (1+ num)) )
(setq i (1+ i))
)
(if (= (rem num 2) 1) (setq n (1- n)))
(setq str1 (substr str 1 n) str2 (substr str (1+ n)))
(entmod (subst (cons 1 str1) (assoc 1 ent) ent ))
(setq ent2 (subst(cons 1 str2)(assoc 1 ent2) ent2 ))
(entmake (subst (cons 10 (list (car pt10) (- (cadr pt10) (* 1.4 h)))) (assoc 10 ent2) ent2))
)
nil
)
)
)
(princ)
)
(princ"\n文字合并by:langjs 命令:qq")
(defun c:qq (/ ent name name2 str)
(setq str "")
(while (and
(setq name (car (entsel "\n选择文字:")))
(setq ent (entget name))
(wcmatch (cdr (assoc 0 ent)) "*TEXT")
)
(if name2 (entdel name2))
(setq str (strcat str (cdr (assoc 1 ent))) name2 name )
(entmod (subst (cons 1 str) (assoc 1 ent)ent ))
(redraw name 3)
)
(if name2 (redraw name2 4))
(princ)
)
字体旋转90度后。打断功能失效,需要修改
页:
[1]