乐筑天下

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

[编程交流] 将多个文本翻转180度

[复制链接]

4

主题

30

帖子

26

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 16:00:05 | 显示全部楼层 |阅读模式
我试图找到一个lisp例程,它可以将文本翻转180度。作为背景信息,我有一个包含大量多行文字项目的图形,所有项目都处于不同角度(用于细分地块布局高程和数据)。我需要将每个多行文字的角度增加180度,以便将其“翻转”到另一个方向以便于查看。
 
我在网上查过,我在各个网站上找到的所有信息都会将所有文本更改为相同的角度,或者对多个实体不全面,只适用于一段多行文字。
 
我也想这样做,用某种形式的LISP例程,而不是说创建一个新的文本样式,设置相反的方向或任何东西。不管怎么说,我已经找了很久了,什么都想不出来。此外,Express工具中包含的工具(即:旋转文本)需要特定角度。目前,我正在通过插入捕捉和典型旋转命令(PITA)手动和单独旋转它们!
 
总之,我试图找到一个LISP,它可以将多个文本或多行文字实体添加180度,并通过插入点旋转它们。
 
有人在旅行中遇到过这样的事情吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:06:37 | 显示全部楼层
快速一:
 
  1. (defun c:FlipTxt (/ i ss e eLst)
  2. (if (setq i -1 ss (ssget "_:L" '((0 . "TEXT,MTEXT"))))
  3.    (while (setq e (ssname ss (setq i (1+ i))))
  4.      (setq eLst (entget e))
  5.      (entmod (subst (cons 50 (+ pi (cdr (assoc 50 eLst))))
  6.                     (assoc 50 eLst) eLst))))
  7. (princ))
回复

使用道具 举报

4

主题

30

帖子

26

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 16:13:02 | 显示全部楼层
非常好用,非常感谢!!这正是我想要的。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:18:04 | 显示全部楼层
不客气
回复

使用道具 举报

0

主题

2

帖子

2

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 16:22:03 | 显示全部楼层
这太棒了。是否可以添加用户指定的角度而不是180?
 
谢谢
文斯
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:32:39 | 显示全部楼层
欢迎来到CADTutor Vince
 
尝试以下简单程序:
 
  1. (defun c:rt ( / a e i r s )
  2.    (if (and
  3.            (setq a (getangle "\nSpecify Angle: "))
  4.            (setq s (ssget "_:L" '((0 . "TEXT,MTEXT"))))
  5.        )
  6.        (repeat (setq i (sslength s))
  7.            (setq e (entget (ssname s (setq i (1- i))))
  8.                  r (assoc 50 e)
  9.            )
  10.            (entmod (subst (cons 50 (+ (cdr r) a)) r e))
  11.        )
  12.    )
  13.    (princ)
  14. )

 
这是一条很旧的线!
回复

使用道具 举报

0

主题

2

帖子

2

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 16:37:31 | 显示全部楼层
真管用!是的,我在雅虎搜索中找到了这个线索。
 
谢谢你的代码。
文斯
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:41:52 | 显示全部楼层
不客气,文斯
回复

使用道具 举报

44

主题

542

帖子

502

银币

后起之秀

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

铜币
220
发表于 2022-7-5 16:48:36 | 显示全部楼层
这是一个很好的Lisp程序。我通常使用以下lisp(不是我写的)进行等高线标签定位,尽管它需要更多的步骤。
 
  1. ;;  SpinText.LSP
  2. ;;  To Rotate Text and/or Mtext entities by the same amount
  3. ;;  about each one's individual insertion point.
  4. ;;  Kent Cooper, November 2008
  5. (defun C:SpinText (/ ttype selmode trotd trotr textset titem tdata)
  6. (initget "Text Mtext Both")
  7. (setq ttype (getkword "Type[s] of text - Text/Mtext/Both (T/M/B) <B>: "))
  8. (if (or (not ttype) (= ttype "Both")) (setq ttype "*TEXT"))
  9. (initget "All User")
  10. (setq
  11.    selmode (getkword "Selection - All in drawing/User selected (A/U) <A>: ")
  12.    trotd (getreal "Rotation (from current) in degrees <180>: ")
  13.    trotr
  14.      (if trotd
  15.        (/ (* trotd pi) 180)
  16.        pi
  17.      ); end if and trotr
  18. ); end setq
  19. (if (/= selmode "User")
  20.    (setq textset (ssget "_X" (list (cons 0 ttype))))
  21.    (setq textset (ssget (list (cons 0 ttype))))
  22. ); end if
  23. (while (> (sslength textset) 0)
  24.    (setq
  25.      titem (ssname textset 0)
  26.      tdata (entget titem)
  27.      tdata (subst (cons 50 (+ (cdr (assoc 50 tdata)) trotr)) (assoc 50 tdata) tdata)
  28.    ); end setq
  29.    (entmod tdata)
  30.    (entupd titem)
  31.    (ssdel titem textset)
  32. ); end while
  33. ); end defun
  34. (prompt "Type SpinText to rotate Text and/or Mtext entities about their insertion points.")
回复

使用道具 举报

32

主题

131

帖子

99

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
160
发表于 2022-7-5 16:51:16 | 显示全部楼层
 
您好Lisp Legend,
我是lisp的新手。。。。我需要一个帮助,在创建一个lisp,实际上我有很多(近数千个文本转换为一个单一的绘图文件)的文本从不同角度转换为零角度,并改变其文字高度和字体风格,如附件所示。dwg文件,
另一件重要的事是,我需要删除该文本中的/符号,并重新排列,如附件所示。dwg文件。
请看这一点,并要求为这项工作提供lisp。
我还需要删除P50/(可能是任何PXX/)文本,
我希望你能理解我的要求。。。。。。。请帮忙
文本转换。图纸
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 13:08 , Processed in 3.296124 second(s), 73 queries .

© 2020-2025 乐筑天下

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