6
15
9
初来乍到
(defun tbrtos ( txt / cont txt1 txt2 txt3 tx4 txt5 txt6 aux1 aux2 aux3 aux4 aux5 aux6) (setq aux1 (strlen txt)) (setq aux2 0) (setq aux3 0) (setq aux4 0) (setq aux5 0) (setq cont 0) (repeat aux1 (setq aux2 (+ 1 aux2)) (setq txt1 (substr txt aux2 1)) (if (or (= txt1 ".") (= txt1 ",")) (SETQ cont (- aux1 aux2)) )) (setq cont cont))(defun txfix (num dec / aux1 aux2 aux3 txt1 txt2 txt3)(if (= dec 0) (setq txt4 (rtos num 2 dec)) (progn (setq aux1 1.0) (repeat dec; (print aux1)(setq aux1 (* 10.0 aux1))) (setq aux2 (* aux1 num)) ;(print aux2) (setq txt1 (rtos aux2 2 0)) ;(print txt1) (setq txt2 (substr txt1 1 (- (strlen txt1) dec))) ;(print txt2) (setq txt3 (substr txt1 (+ 1 (- (strlen txt1) dec)) dec)); (print txt3) (setq txt4 (strcat txt2 "." txt3)) )) (setq txt4 txt4) )(defun txtadd ( / diff ss sl sn en data txt1 )(setq diff (getreal "Enter +/- DELTA: "))(PRINT "SELECT TXT...........")(setq ss (ssget)) (setq sl (sslength ss)) (while (> sl 0) (setq data 0) (setq sn (ssname ss (- sl 1))) (setq en (entget sn)) (if (= (cdr (assoc 0 en)) "TEXT") (progn (setq txt1 (cdr (assoc 1 en))) (setq data (atof txt1 )) (setq data (+ diff data )) (setq txt5 (txfix data (tbrtos txt1) ))(setq en (subst (cons 1 txt5) (assoc 1 en) en )) (entmod en))) (setq sl (- sl 1)) ) (command "regenall") (print "END ...") )(defun txtmult ( / diff ss sl sn en data txt1 txt5)(setq diff (getreal "Enter factor: "))(PRINT "SELECT TXT...........")(setq ss (ssget)) (setq sl (sslength ss)) (while (> sl 0) (setq data 0) (setq sn (ssname ss (- sl 1))) (setq en (entget sn)) (if (= (cdr (assoc 0 en)) "TEXT") (progn (setq txt1 (cdr (assoc 1 en))) (setq data (atof txt1 )) (setq data (* diff data))(setq txt5 (txfix data (tbrtos txt1) )) (setq en (subst (cons 1 txt5) (assoc 1 en) en )) (entmod en))) (setq sl (- sl 1)) ) (command "regenall") (print "END ...") ) (defun tblayout (/ ang0 delta ss0 ss1 ss2 sl0 sl1 sn0 sn1 sn2 en0 en1 en2 p0 p1 dx dxacum dxtotal count x0 x1 x2 y0 y1 y2