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
真是好东西!哈哈!