明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1499|回复: 6

[已解答] <文字编辑> 文本遇空格分拆成另一文本,但位置不变!

[复制链接]
发表于 2015-9-10 10:48 | 显示全部楼层 |阅读模式
现有大量文字编辑的工作要做
搜了一下只找到是文本遇空格另拆成一行
例:   12345 67890 在5和6中有空格那会分拆成12345及 67890
共上下二行文字
     
请问有没有有下列程序
:   12345 6789056中有空格那会分拆成12345 67890共二行文字
      但文字位置完全不变的!
附上搜到的帖,可否帮改改!
这我也忘了在哪找到的
请原作见谅!
(defun c:ttX(/ ACADSPC DST INDEX OBJ SLTSETSTRING answerdst)
(vl-load-com)
  (if(= (getvar "TILEMODE") 1)
   (setq acadspc (vla-get-modelspace (vla-get-activedocument(vlax-get-acad-object))))
   (setq acadspc (vla-get-paperspace (vla-get-activedocument(vlax-get-acad-object))))
    )
(if (= dst nil) (setq dst 35))
(princ "\n行距 <")(princ dst)(setqanswerdst(getstring ">: "))
(if (/= (atof answerdst) 0.00)(setqdst(atof answerdst)))
  (if(null dst)(setq dst 0))
(setq string " ")
(while (setq sltset (ssget '((0 . "TEXT"))))
   (setq index 0)
   (repeat (sslength sltset)
     (setq obj (vlax-ename->vla-object (ssname sltset index)))
     (stringsplit1 obj string dst acadspc)
     (setq index (1+ index))
     )
    )
  )
(defun stringsplit1(obj string dst acadspc/ BPT BPT1 NINSERTPOINT NTEXTSTRING STRINDEX TEXTH TEXTSTRING TEXTANGLETEXTCOLOR TEXTLAYER TEXTSCALE TEXTSTYLE)
(setq bpt (vla-get-insertionpoint obj)
bpt1(vlax-safearray->list (vlax-variant-value bpt))
texth (vla-get-height obj)
)
(vla-put-alignment obj acalignmentleft)
(vla-put-insertionpoint obj bpt)
(setq textstring (vla-get-textstring obj)
textlayer (vla-get-layer obj)
textcolor (vla-get-color obj)
textangle (vla-get-rotation obj)
textstyle (vla-get-stylename obj)
textscale (vla-get-scalefactor obj)
)
(setq strindex (vl-string-search string textstring))
  (ifstrindex
   (progn
     (vla-put-textstring obj (substr textstring 1 strindex))
     (setq ntextstring (substr textstring (+ strindex 2))
    ninsertpoint (polar bpt1 (- textangle (* 0 pi))dst)
    )
     (setq obj (vla-addtext acadspc ntextstring (vlax-3d-point ninsertpoint)texth))
     (vla-put-layer obj textlayer)
      (vla-put-color obj textcolor)
     (vla-put-rotation obj textangle)
     (vla-put-stylename obj textstyle)
     (vla-put-scalefactor obj textscale)     
     (stringsplit1 obj string dst acadspc)
     )
    )
  )

发表于 2015-9-10 14:59 | 显示全部楼层
发表于 2017-12-4 18:38 | 显示全部楼层
楼上的发的 不是免费的吧!
发表于 2017-12-4 18:53 | 显示全部楼层
下载 弄好了,不是标准ANSI文件,直接加载可以用!
发表于 2022-5-3 15:16 | 显示全部楼层
学习了,感谢~~~~
发表于 2022-5-4 17:56 | 显示全部楼层
mmmmmm 发表于 2015-9-10 14:59
http://www.lee-mac.com/texttowords.html

李迈克  这个代码 对于 字符串 开头有空格的 会出错   有的字符串 位置会微小移动   还是有些小bug
发表于 2022-8-24 18:29 | 显示全部楼层
这个小程序很好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 16:40 , Processed in 0.397291 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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