马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 Free-Lancer 于 2014-8-15 20:27 编辑
先选择 De 文字,右 De 文字去选择 *m 文字,无需用分组函数
 - (defun c:tt (/ ss sl el an p s e1 i v filter el1)
- (if (setq ss (ssget '((0 . "text") (1 . "De*"))))
- (progn
- (setq sl (sslength ss)
- v '(5 5 0)
- _pi2 (/ pi 2)
- _3pi (* 1.5 pi)
- _2pi (+ pi pi)
- i 1
- )
- (while (setq e (ssname ss (setq sl (1- sl))))
- (setq el (entget e)
- an (assoc 50 el) ;_ Rotation
- p (cdr (assoc 10 el)) ;_insertpoint
- )
- (if (< _3pi (cdr an) _2pi)
- (setq filter (list '(0 . "text")
- an
- '(-4 . ">=,>=,*")
- (cons 10 (mapcar '+ p '(-5. -5. 0.)))
- '(1 . "*m")
- )
- )
- (setq filter (list '(0 . "text")
- an
- '(-4 . "<=,>=,*")
- (cons 10 (mapcar '+ p '(5 -5. 0.)))
- '(1 . "*m")
- )
- )
- ) ;_符合 一 四 象限角度文字
- (if (setq s (ssget "X" filter))
- (progn
- (entmod (append el (list (cons 62 i))))
- (setq el1 (entget (ssname s 0)))
- (entmod (append el1 (list (cons 62 i))))
- (setq i (1+ i))
- )
- )
- )
- )
- )
- (princ)
- )
|