请高手看一下,坐标转换不用COMMAND命令可否
(defun c:TEST () (setq tc_s0 (car (entsel "\n请点取被对齐的文字:"))) (command "ucs" "object" tc_s0);;;;可否不用COMMAND也可达到同样的效果 (setq tc_ent0 (cdr (entget tc_S0))) (command "ucs" "object" tc_s0) (setq tc_lay (cdr (assoc 8 tc_ent0)) ;层名 tc_ang (cdr (assoc 50 tc_ent0)) ;角度 tc_h (cdr (assoc 40 tc_ent0)) ;字符高度 tc_p0 (cdr (assoc 10 tc_ent0)) ;字符起点 ) (setq tc_p0 (trans tc_p0 0 1)) (setq tc_p1 (list (car tc_p0) (- (cadr tc_p0) (* 1.5 tc_h)))) (princ "\n请点取要对齐的文字:") (setq tc_ss0 (ssget '((0 . "TEXT")))) (setq tc_i 0 tc_n (sslength tc_ss0) ) (repeat tc_n (setq tc_s1 (ssname tc_ss0 tc_i)) (setq tc_ent1 (entget tc_S1)) (setq tc_p1 (list (car tc_p0) (- (cadr tc_p0) (* 1.5 tc_h)))) (setq tc_p1 (trans tc_p1 1 0)) (setq tc_ent1 (subst (cons 8 tc_lay) (assoc 8 tc_ent1) tc_ent1)) (setq tc_ent1 (subst (cons 50 tc_ang) (assoc 50 tc_ent1) tc_ent1)) (setq tc_ent1 (subst (cons 40 tc_h) (assoc 40 tc_ent1) tc_ent1)) (setq tc_ent1 (subst (cons 10 tc_p1) (assoc 10 tc_ent1) tc_ent1)) (setq tc_p0 (cdr (assoc 10 tc_ent1))) (setq tc_p0 (trans tc_p0 0 1)) (entmod tc_ent1) ;(setq tc_p0 (cdr (assoc 10 tc_ent1))) (setq tc_i (1+ tc_i)) ) (command "ucs" "w") ;;;;;可否不用COMMAND也可达到同样的效果 (princ) )
|