乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 84|回复: 7

[编程交流] 将2个文本合并为1个文本

[复制链接]

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:38:39 | 显示全部楼层 |阅读模式
当鼠标光标点击设备“AH”及其触点9时,“XX”应替换为“AH9”。多个文本应合并为单个文本。如果您有这种autolisp程序或工具,请提供它将节省大量时间。
例子。图纸
回复

使用道具 举报

5

主题

1074

帖子

1088

银币

初来乍到

Rank: 1

铜币
9
发表于 2022-7-5 17:51:17 | 显示全部楼层
欢迎来到CADTutor论坛。
 
试着用大师李·麦克的Lisp程序。
这只是李非常慷慨地在其令人难以置信的网站上向全球CAD社区提供的众多LISP之一。
他在他的网站上有更多关于文字的内容。
 
http://www.lee-mac.com/text2mtext.html
 
谢谢李!
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:58:21 | 显示全部楼层
你好,爸爸,
 
 
我试过了,但它没有将2个文本合并成1个,这个工具将2个文本彼此相隔或在下面或上面,如果文本的属性不同,则显示错误。例如,“AA”将显示为“%ª”
 
 
 
 
回复

使用道具 举报

5

主题

1074

帖子

1088

银币

初来乍到

Rank: 1

铜币
9
发表于 2022-7-5 18:11:25 | 显示全部楼层
我很肯定李有一个可以做到这一点,对不起,它没有做你需要的。
他还有很多其他的,我刚刚看过,其中一个会匹配文本属性,但我没有看到一个能完全满足你的需要。
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2022-7-5 18:21:30 | 显示全部楼层
尝试:
  1. (setq thisdrawing (vla-get-activedocument (vlax-get-acad-object))
  2.       ssSelections (ssget (list (cons 0 "TEXT,MTEXT")))
  3.       intCount 0 ;Start with first selection.
  4. )
  5. (if(ssmemb entSelection ssSelections)(ssdel entSelection ssSelections))
  6. ; Don't delete First selection if selected again.
  7. (repeat (sslength ssSelections)
  8. (vla-startundomark thisdrawing)
  9. (setq entSelection (ssname ssSelections intCOunt)
  10.        objSelection (vlax-ename->vla-object entSelection)
  11.        intCount     (1+ intCount) ;increment to next selection.
  12. )
  13. (if(= btwtxt " ")
  14.   (while(vl-string-search "\\P" (vla-get-textstring objSelection))
  15.    (vla-put-textstring objSelection
  16.       (vl-string-subst " " "\\P" (vla-get-textstring objSelection))
  17.    )
  18.   )
  19. )
  20. (vla-put-textstring objSelection1
  21.                      (strcat
  22.                       (vla-get-textstring objSelection1)
  23. ;                                             btwtxt ; Space for text or new line for mtext
  24.                       (vla-get-textstring objSelection)
  25.                      )
  26. )
  27. ;  (vla-delete objSelection) ; Delete added text object
  28. (vla-endundomark thisdrawing)
  29. )
  30. (princ)
  31. )
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:27:08 | 显示全部楼层
非常感谢tombu,
 
 
上面的程序将我带到了一个新的层次,但它有一些问题,如果这个问题将得到解决,那么最好的事情也不会发生。无论如何,谢谢你的节目。用于品红和绿色问题的PFA。
 
 
谢谢和问候,
阿尼科特
示例2.dwg
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2022-7-5 18:37:32 | 显示全部楼层
 
我在上一篇文章中修改了代码,看看现在是否适用。我是一名土地测量师,主要从事土木工程,对不起,我不知道你在那张图纸上做什么。
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:44:39 | 显示全部楼层
谢谢tombu,
 
 
成功了!!!:-以上程序解决了我的问题。再次感谢。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 03:52 , Processed in 0.441622 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表