将多个文本翻转180度
我试图找到一个lisp例程,它可以将文本翻转180度。作为背景信息,我有一个包含大量多行文字项目的图形,所有项目都处于不同角度(用于细分地块布局高程和数据)。我需要将每个多行文字的角度增加180度,以便将其“翻转”到另一个方向以便于查看。我在网上查过,我在各个网站上找到的所有信息都会将所有文本更改为相同的角度,或者对多个实体不全面,只适用于一段多行文字。
我也想这样做,用某种形式的LISP例程,而不是说创建一个新的文本样式,设置相反的方向或任何东西。不管怎么说,我已经找了很久了,什么都想不出来。此外,Express工具中包含的工具(即:旋转文本)需要特定角度。目前,我正在通过插入捕捉和典型旋转命令(PITA)手动和单独旋转它们!
总之,我试图找到一个LISP,它可以将多个文本或多行文字实体添加180度,并通过插入点旋转它们。
有人在旅行中遇到过这样的事情吗? 快速一:
(defun c:FlipTxt (/ i ss e eLst)
(if (setq i -1 ss (ssget "_:L" '((0 . "TEXT,MTEXT"))))
(while (setq e (ssname ss (setq i (1+ i))))
(setq eLst (entget e))
(entmod (subst (cons 50 (+ pi (cdr (assoc 50 eLst))))
(assoc 50 eLst) eLst))))
(princ))
非常好用,非常感谢!!这正是我想要的。 不客气 这太棒了。是否可以添加用户指定的角度而不是180?
谢谢
文斯 欢迎来到CADTutor Vince
尝试以下简单程序:
(defun c:rt ( / a e i r s )
(if (and
(setq a (getangle "\nSpecify Angle: "))
(setq s (ssget "_:L" '((0 . "TEXT,MTEXT"))))
)
(repeat (setq i (sslength s))
(setq e (entget (ssname s (setq i (1- i))))
r (assoc 50 e)
)
(entmod (subst (cons 50 (+ (cdr r) a)) r e))
)
)
(princ)
)
这是一条很旧的线! 真管用!是的,我在雅虎搜索中找到了这个线索。
谢谢你的代码。
文斯 不客气,文斯 这是一个很好的Lisp程序。我通常使用以下lisp(不是我写的)进行等高线标签定位,尽管它需要更多的步骤。
;;SpinText.LSP
;;To Rotate Text and/or Mtext entities by the same amount
;;about each one's individual insertion point.
;;Kent Cooper, November 2008
(defun C:SpinText (/ ttype selmode trotd trotr textset titem tdata)
(initget "Text Mtext Both")
(setq ttype (getkword "Type of text - Text/Mtext/Both (T/M/B) <B>: "))
(if (or (not ttype) (= ttype "Both")) (setq ttype "*TEXT"))
(initget "All User")
(setq
selmode (getkword "Selection - All in drawing/User selected (A/U) <A>: ")
trotd (getreal "Rotation (from current) in degrees <180>: ")
trotr
(if trotd
(/ (* trotd pi) 180)
pi
); end if and trotr
); end setq
(if (/= selmode "User")
(setq textset (ssget "_X" (list (cons 0 ttype))))
(setq textset (ssget (list (cons 0 ttype))))
); end if
(while (> (sslength textset) 0)
(setq
titem (ssname textset 0)
tdata (entget titem)
tdata (subst (cons 50 (+ (cdr (assoc 50 tdata)) trotr)) (assoc 50 tdata) tdata)
); end setq
(entmod tdata)
(entupd titem)
(ssdel titem textset)
); end while
); end defun
(prompt "Type SpinText to rotate Text and/or Mtext entities about their insertion points.")
您好Lisp Legend,
我是lisp的新手。。。。我需要一个帮助,在创建一个lisp,实际上我有很多(近数千个文本转换为一个单一的绘图文件)的文本从不同角度转换为零角度,并改变其文字高度和字体风格,如附件所示。dwg文件,
另一件重要的事是,我需要删除该文本中的/符号,并重新排列,如附件所示。dwg文件。
请看这一点,并要求为这项工作提供lisp。
我还需要删除P50/(可能是任何PXX/)文本,
我希望你能理解我的要求。。。。。。。请帮忙
文本转换。图纸
页:
[1]
2