zhongys 发表于 2011-5-11 03:38:46

找文字包围框,以框的中心点旋转180度,可以搜索一下文字包围框的程式,再改一下就可以了

461045462 发表于 2011-5-11 07:16:55

回复 zhb236623 的帖子

看你找了很久.因为我一时找不到原地址,现将斑竹的上传给你,请感谢斑竹
或许要适当修改才能实用
请斑竹原谅我的转传
;zzxxqq
(defun c:ztxz ()
(if (and (setq en (entsel "\n<<请选择要旋转180度的字体>>"))
(setq ent (entget (car en)))
(= (cdr(assoc 0 ent)) "MTEXT")) (progn
(entmod (subst (cons 50 (+ (cdr(assoc 50 ent)) pi)) (assoc 50 ent) ent))
(princ "\n旋转完成!")
))
(prin1)
)

ZZXXQQ 发表于 2011-5-11 11:58:27

不仅仅是字体,对所有图元均有效。

;物体中心点转180度 明经 ZZXXQQ 2011.5.11
(defun c:tt ()
(setvar "CMDECHO" 0)
(vl-load-com)
(while (setq s1 (entsel "\n<<请选择要旋转180度的物体>>"))
(setq en (car s1))
(vla-getboundingbox (vlax-ename->vla-object en) 'minpoint 'maxpoint)
(setq pmax (vlax-safearray->list maxpoint)
      pmin (vlax-safearray->list minpoint))
(setq pm (polar pmin (angle pmin pmax) (/ (distance pmax pmin) 2)))
(command ".ROTATE" en "" "non" pm "180")
(princ "\n旋转完成!")
)
(setvar "CMDECHO" 1)
(prin1)
)

zhb236623 发表于 2011-5-11 15:02:35

多谢ZZXXQQ版主提供的程序和大家的帮助,能够达到效果,确实好用,不过旋转mtext文字时要注意文本输入框的大小,不然就不能在原地旋转,会跑到其他地方,因为文本输入框太大,他的中心点就跑远了,不在文字周围。

124350440 发表于 2011-5-12 11:30:15

多谢ZZXXQQ和zhb236623提出的注意事项

tizol 发表于 2011-8-19 11:09:12

可算是找到了

tianyu1840 发表于 2011-8-20 09:58:36

学习中

zhuangxu_521 发表于 2011-8-30 17:40:39

xyp1964 发表于 2011-8-30 18:36:16

;;需要e派工具箱(XCAD)的支持:http://xyp1964.ys168.com
(defun c:tt ()
(CMDLA0)
(setq        ss (ssget '((0 . "TEXT")))
        i-1
)
(while (setq s1 (ssname ss (setq i (1+ i))))
    (xyp-rotate s1 (xyp-get-MinMaxPoint s1 5) 180)
)
(CMDLA1)
)

cuyongping 发表于 2011-8-31 10:39:50

真是好东西!哈哈!
页: 1 [2] 3
查看完整版本: 请教如何利用LISP实现点选文字达到如下图效果(文字反向)物体中心点转180度。已解决