 - (vl-load-com)
- (defun c:ttt (/ Pt0 Pt1 Pt2 Pt3 Lst Len Mir Ali)
- (princ "\n框选镜像对象")
- (and
- (setq sss (ssget))
- (setq Pt0 (getpoint "\n指定镜像线的第一点"))
- (setq Pt1 (getpoint Pt0 "\n指定镜像线的第二点"))
- (progn
- (setq Lst nil)
- (repeat (setq Len (sslength sss))
- (setq Lst (cons (ssname sss (setq Len (1- Len))) Lst))
- )
- (setq sss nil)
- (setq Lst (mapcar 'vlax-ename->vla-object Lst))
- (setq Pt0 (vlax-3d-point Pt0))
- (setq Pt1 (vlax-3d-point Pt1))
- (foreach Obj Lst
- (setq Mir (vla-Mirror Obj Pt0 Pt1))
- (and
- (= (vla-get-ObjectName Obj) "AcDbText")
- (setq Ali (assoc (vla-get-Alignment Obj) '((0 . 2) (2 . 0) (6 . 8) (8 . 6) (9 . 11) (11 . 9) (12 . 14) (14 . 12))))
- (progn
- (setq Pt2 (vla-get-InsertionPoint Mir))
- (vla-put-Alignment Mir (cdr Ali))
- (setq Pt3 (vla-get-InsertionPoint Mir))
- (vla-move Mir Pt3 Pt2)
- )
- )
- )
- )
- )
- (princ)
- )
|