不能移位?
提供一个lisp供参考,明经哪里m的

- (defun c:wzdq1(/ A A0 E EN EN0 IN N P0 P1 P10 P2 P3 P4 S TB)
- (mapcar 'setvar '("cmdecho""pickbox""aperture""osmode""blipmode") '(0 4 4 32 0))
- (prompt "\n选择要对齐的文字:")
- (setq s(ssget '((0 . "TEXT")) ) n(sslength s) in 0
- en0(entget (ssname s 0))a0(dxf 50 en0)
- k-wzq1(if k-wzq1 k-wzq1 "R")
- k-wzq1(cy_getstr "\n对齐方式L=左对齐,M=中对齐,R=右对齐:" "L M R" k-wzq1)
- p0(getpoint "\n输入对齐点:"))
- (repeat n
- (setq e(ssname s in) in (1+ in)
- en(entget e) a(dxf 50 en))
- (if (equal a a0 0.0000001)(progn
- (setq p10(dxf 10 en)tb(textbox en)
- p1(mapcar '+ (car tb) p10)
- p2(mapcar '+ (cadr tb) p10))
- (cond
- ((= k-wzq1 "R") (setq p3 p2))
- ((= k-wzq1 "L") (setq p3 p1))
- ((= k-wzq1 "M") (setq p3 (0midp p1 p2)))
- )
- (setq p4(#czd2 p0 (+ a:pi2 a0) p3))
- (mapcar 'setvar '("pickbox""aperture""osmode") '(0 1 0))
- (command "_move" e "" "non" p3 "non" p4)
- (mapcar 'setvar '("pickbox""aperture""osmode") '(4 4 32))
- ) )
- )
- (mapcar 'setvar '("cmdecho""pickbox""aperture""osmode""blipmode") '(1 4 4 32 1)) (PRINC)
- )
|