文本打断代码求助,谢谢~
本帖最后由 逗亦斗霸 于 2024-12-17 15:24 编辑(defun c:tt (/ b box ent ent2 h i n name ty 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 ty (ssget) )
(command "JUSTIFYTEXT" "" ty "L")
(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 0 i 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
)
)
)
)
原代码可以将对正方式为左对齐的单行文字打断成两行,我尝试加入修改对正方式的两段代码『(setq ty (entlast) ) 和 (command "JUSTIFYTEXT" ty "L")』后却不能正常使用了,请问问题出在哪里?另外,如果想将文字打断但位置不变的话怎么修改(打断的地方没有空格)?谢谢~
(setq ty (entlast))是什么,得到的一定是文字? 本帖最后由 逗亦斗霸 于 2024-12-17 15:26 编辑
自贡黄明儒 发表于 2024-12-17 15:14
(setq ty (entlast))是什么,得到的一定是文字?
不好意思!开始编辑的时候把后面一段代码给弄没了。我把(setq ty (entlast))换成(setq ty (ssget))也不行~ "JUSTIFYTEXT"一旦发生错误,需要重开机才行。应该是bug 自贡黄明儒 发表于 2024-12-17 15:28
"JUSTIFYTEXT"一旦发生错误,需要重开机才行。应该是bug
请问黄总有解决思路吗? 逗亦斗霸 发表于 2024-12-17 15:34
请问黄总有解决思路吗?
似乎不好解决。
曾经的解决方案好像也解决不了
(if (findfile "actscale.arx")
(ARXLOAD "actscale.arx")
)
(if (findfile "acTscale.crx")
(ARXLOAD "acTscale.crx")
)
(VL-CATCH-ALL-APPLY '(lambda() (vl-cmdf "_.JUSTIFYTEXT" ss "" "MC")) nil)
自贡黄明儒 发表于 2024-12-17 16:21
似乎不好解决。
曾经的解决方案好像也解决不了
(if (findfile "actscale.arx")
有插件实现改文字对正方式的,但一结合就行不行了,难道必须要分两个命令里去配合使用啊? 逗亦斗霸 发表于 2024-12-17 16:27
有插件实现改文字对正方式的,但一结合就行不行了,难道必须要分两个命令里去配合使用啊?
可能你写错了吧。
另外 ,你用vlide格式化一下,太难看了。 自贡黄明儒 发表于 2024-12-17 16:43
可能你写错了吧。
另外 ,你用vlide格式化一下,太难看了。
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=171156&highlight=%CF%C2%D2%BB
回头来看Gu_xl版主的这个回复,把俩命令结合到一起好像可以了,我再多测试几次,谢谢黄总~
页:
[1]