home *** CD-ROM | disk | FTP | other *** search
Wrap
(vmon) (defun axerr(s) (if (/= s "Function cancelled") (princ (strcat "\nError:" s)) ) (command) (if (> (atoi oldc) 0) (command "color" (atoi oldc)) (command "color" oldc)) (command "layer" "s" "0") (setvar "blipmode" 1) (setvar "cmdecho" 1) (setvar "highlight" 1) (setvar "regenmode" 1) (setq *error* oer) (princ) ) (defun instr(st s0 s00 / l n loop x n0 l0) (setq l (+ (- (strlen s0) st) 1) l0 0 n0 st n 1 loop t) (while (and (<= n l) loop) (setq x (substr s0 n0 1)) (if (eq x s00) (setq loop nil l0 n0) (setq n0 (1+ n0) n (1+ n))) ) (eval l0) ) (defun a_f(af / l0 sp ep) (setq l0 (instr 1 af "-") nl nil) (setq sp (substr af 1 (- l0 1)) ep (substr af (+ l0 1))) (if (= (atoi sp) 0) (progn (while (<= (ascii sp) (ascii ep)) (setq nl (cons sp nl)) (setq sp (chr (if (or (= (ascii sp) 72) (= (ascii sp) 78)) (+ (ascii sp) 2) (+ (ascii sp) 1)))) )) (progn (while (<= (atoi sp) (atoi ep)) (setq nl (cons sp nl)) (setq sp (itoa (1+ (atoi sp)))) ) )) ) (defun kjs(axn / l0 l1 ax nl) (setq axn (strcase axn) axnl nil) (if (and (= (instr 1 axn ",") 0) (> (strlen axn) 0)) (progn (if (> (instr 1 axn "-") 0) (progn (a_f axn) (setq axnl nl)) (setq axnl axn) ) ) (progn (setq l0 0 l1 (instr 1 axn ",")) (while (> (instr (+ l0 1) axn ",") 0) (setq ax (substr axn (+ l0 1) (- l1 l0 1))) (if (> (instr 1 ax "-") 0) (progn (a_f ax) (setq axnl (append nl axnl)) ) (setq axnl (cons ax axnl)) ) (setq l0 l1 l1 (instr (+ l0 1) axn ",")) ) (setq ax (substr axn (+ l0 1))) (if (> (instr 1 ax "-") 0) (progn (a_f ax) (setq axnl (append nl axnl)) ) (setq axnl (cons ax axnl)) ) )) (setq axnl (reverse axnl)) ) (defun ddd(af / l0 sp ep) (setq l0 (instr 1 af "*") nl nil) (setq sp (substr af 1 (- l0 1)) ep (substr af (+ l0 1))) (repeat (atoi sp) (setq nl (cons (* (atof ep) 1000.0) nl)) ) ) (defun eee(axd / l0 l1 ax nl) (setq axdl nil) (if (and (= (instr 1 axd ",") 0) (> (strlen axd) 0)) (progn (if (> (instr 1 axd "*") 0) (progn (ddd axd) (setq axdl nl)) (setq axdl (cons (* (atof axd) 1000.0) axdl)) ) ) (progn (setq l0 0 l1 (instr 1 axd ",")) (while (> (instr (+ l0 1) axd ",") 0) (setq ax (substr axd (+ l0 1) (- l1 l0 1))) (if (> (instr 1 ax "*") 0) (progn (ddd ax) (setq axdl (append nl axdl)) ) (setq axdl (cons (* (atof ax) 1000.0) axdl)) ) (setq l0 l1 l1 (instr (+ l0 1) axd ",")) ) (setq ax (substr axd (+ l0 1))) (if (> (instr 1 ax "*") 0) (progn (ddd ax) (setq axdl (append nl axdl)) ) (setq axdl (cons (* (atof ax) 1000.0) axdl)) ) )) (setq axdl (reverse axdl)) ) (defun combin(cb cc / l l0 dy) (setq l (length cb) l0 0 dy 0 axndl nil) (if (= l (+ (length cc) 1)) (progn (repeat l (setq axndl (cons (cons (nth l0 cb) dy) axndl)) (if (< l0 (length cc)) (setq dy (+ dy (nth l0 cc)))) (setq l0 (1+ l0)) ) (setq axndl (reverse axndl) fgerr nil) ) (progn (princ "*╓ß║┼╙δ╓ß╛α╕÷╩²▓╗╞Ñ┼Σ*") (setq fgerr t)) ) ) (defun chkerr(a / l) (setq l (instr 1 a ",")) (if (or (= l 0) (= l 1) (= l (strlen a))) (progn (princ "*╩Σ╚δ┤φ╬≤*") (setq fgerr t)) (setq fgerr nil)) ) (setq sd 250) (defun C:OTHOAX(/ east south west north edist sdist wdist ndist js1 js2 kj1 kj2 fgerr x axdl axnl axndl kw xoff yoff xmax ymax ltoff rtoff upoff dnoff sn d45 sn45 d225 ll ur ll5 ur5 ll6 ur6 ll2 ur2 ll3 ur3 ll8 ur8 x00 y00 x02 y02 x03 y03 x10 y10 x12 y12 x13 y13 x05 y05 x15 y15 x06 y06 x16 y16 x08 y08 x18 y18 oldc oer i l0 wdt sdt) (setvar "blipmode" 0) (setvar "cmdecho" 0) (setvar "regenmode" 0) (setq oldc (getvar "cecolor")) (command "color" "bylayer") (setq oer *error* *error* axerr) (setq east nil south nil west nil north nil) (if (/= (+ fh78 fh65 fh72 fh85 fh70) 370) (tst)) (princ "\n╫≤▒▀╓ß╛α <") (princ "4*2.4") (setq wdist (getstring ">:")) (if (= wdist "") (setq wdist "4*2.4")) (eee wdist) (setq js1 (+ (length axdl) 1) fgerr t) (setq i 1) (while (<= i js1) (if (or (= (+ 64 i) 73) (= (+ 64 i) 79)) (setq js1 (+ js1 1))) (setq i (1+ i))) (while fgerr (princ "\n╫≤▒▀╓ß║┼ <") (princ (strcat (setq west (strcat "A-" (chr (+ 64 js1)))) ">:")) (setq x (getstring) west (if (/= x "") x west)) (kjs west) (combin axnl axdl) ) (setq west axndl wdt wdist wdist axdl) (princ "\n╧┬▒▀╓ß╛α <") (princ "6*3.6") (setq sdist (getstring ">:")) (if (= sdist "") (setq sdist "6*3.6")) (eee sdist) (setq kj1 (+ (length axdl) 1) fgerr t) (while fgerr (princ "\n╧┬▒▀╓ß║┼ <") (princ (strcat (setq south (strcat "1-" (itoa kj1))) ">:")) (setq x (getstring) south (if (/= x "") x south)) (kjs south) (combin axnl axdl) ) (setq south axndl sdt sdist sdist axdl) (initget "Yes No") (setq x (getkword "\n╢╘│╞ <Y>") kw (if (/= x "") x "Yes")) (if (= kw "No") (progn (setq fgerr t) (while fgerr (princ "\n╢╘│╞╓ß╬╗╥╞ <0,0>:") (setq x (getstring)) (if (= x "") (setq x "0,0")) (chkerr x) ) (setq xoff (* 1000.0 (atof (substr x 1 (- (setq l0 (instr 1 x ",")) 1))))) (setq yoff (* 1000.0 (atof (substr x (+ l0 1))))) (princ "\n╙╥▒▀╓ß╛α <") (princ wdt) (setq edist (getstring ">:")) (if (= edist "") (setq edist wdt)) (eee edist) (setq js2 (+ (length axdl) 1) fgerr t) (setq i 1) (while (<= i js2) (if (or (= (+ 64 i) 73) (= (+ 64 i) 79)) (setq js2 (+ js2 1))) (setq i (1+ i))) (while fgerr (princ "\n╙╥▒▀╓ß║┼ <") (princ (strcat (setq east (strcat "A-" (chr (+ 64 js2)))) ">:")) (setq x (getstring) east (if (/= x "") x east)) (kjs east) (combin axnl axdl) ) (setq east axndl edist axdl) (princ "\n╔╧▒▀╓ß╛α <") (princ sdt) (setq ndist (getstring ">:")) (if (= ndist "") (setq ndist sdt)) (eee ndist) (setq kj2 (+ (length axdl) 1) fgerr t) (while fgerr (princ "\n╔╧▒▀╓ß║┼ <") (princ (strcat (setq north (strcat "1-" (itoa kj2))) ">:")) (setq x (getstring) north (if (/= x "") x north)) (kjs north) (combin axnl axdl) ) (setq north axndl ndist axdl) ) (setq xoff 0 yoff 0 east west north south edist wdist ndist sdist) ) ;endif (setq xmax (max (apply '+ sdist) (apply '+ ndist))) (setq ymax (max (apply '+ wdist) (apply '+ edist))) (princ "\n═Γ╟╜║± <") (princ sd) (setq x (getint ">:")) (setq sd (if (eq x nil) sd x)) (princ "\n╓ß╧▀▓σ╚δ╡π:") (command "insert" "border" "x" (+ (* 2 (+ d1 d7)) xmax) "y" (+ (* 2 (+ d1 d7)) ymax) "r" 0 pause) (setq sn (entlast)) (setq ll (polar (cdr (assoc 10 (entget sn))) (setq d45 (dtr 45)) (/ (+ d1 d7) (setq sn45 (sin (dtr 45))))) d225 (dtr 225)) (entdel sn) (setq ur (list (+ (car ll) xmax) (+ (cadr ll) ymax) (last ll))) (othoax0) (command "layer" "s" "0" "") (if (> (atoi oldc) 0) (command "color" (atoi oldc)) (command "color" oldc)) (setvar "blipmode" 1) (setvar "cmdecho" 1) (setvar "highlight" 1) (setvar "regenmode" 1) (setq *error* oer) (princ) ) (defun othoax0() (cond ((> xoff 0) (setq xmax (max (apply '+ sdist) (+ xoff (apply '+ ndist))) dnoff 0 upoff xoff)) ((< xoff 0) (setq xmax (max (+ (abs xoff) (apply '+ sdist)) (apply '+ ndist)) dnoff (abs xoff) upoff 0)) (t (setq xmax (max (apply '+ sdist) (apply '+ ndist)) dnoff 0 upoff 0)) ) (cond ((> yoff 0) (setq ymax (max (apply '+ wdist) (+ yoff (apply '+ edist))) ltoff 0 rtoff yoff)) ((< yoff 0) (setq ymax (max (+ (abs yoff) (apply '+ wdist)) (apply '+ edist)) ltoff (abs yoff) rtoff 0)) (t (setq ymax (max (apply '+ wdist) (apply '+ edist)) ltoff 0 rtoff 0)) ) (setq ll0 (polar ll d225 (/ d1 sn45))) (setq ur0 (polar ur d45 (/ d1 sn45))) (setq ll5 (polar ll0 d225 (/ d5 sn45))) (setq ur5 (polar ur0 d45 (/ d5 sn45))) (setq ll6 (polar ll0 d225 (/ d6 sn45))) (setq ur6 (polar ur0 d45 (/ d6 sn45))) (setq ll2 (polar ll0 d225 (/ d2 sn45))) (setq ur2 (polar ur0 d45 (/ d2 sn45))) (setq ll3 (polar ll0 d225 (/ d3 sn45))) (setq ur3 (polar ur0 d45 (/ d3 sn45))) (setq ll8 (polar ll0 d225 (/ d8 sn45))) (setq ur8 (polar ur0 d45 (/ d8 sn45))) (command "layer" "m" "pdim" "c" 3 "" "") (setq x00 (car ll0) y00 (cadr ll0) x02 (car ll2) y02 (cadr ll2)) (setq x03 (car ll3) y03 (cadr ll3)) (setq x10 (car ur0) y10 (cadr ur0) x12 (car ur2) y12 (cadr ur2)) (setq x13 (car ur3) y13 (cadr ur3)) (drw "W" west) (drw "S" south) (drw "E" east) (drw "N" north) (command "dim" "dimse1" "on" "dimse2" "on" "style" "standard") (setq x05 (car ll5) y05 (cadr ll5) x15 (car ur5) y15 (cadr ur5)) (setq x06 (car ll6) y06 (cadr ll6) x16 (car ur6) y16 (cadr ur6)) (setq x08 (car ll8) y08 (cadr ll8) x18 (car ur8) y18 (cadr ur8)) (drwdim "W" west) (drwdim "S" south) (drwdim "E" east) (drwdim "N" north) (command "dimse1" "off" "dimse2" "off" "style" "hz" "exit") (command "layer" "m" "paxis" "c" 1 "" "lt" "axis" "" "") (drwaxis "W" west) (drwaxis "S" south) (drwaxis "E" east) (drwaxis "N" north) ) (defun dtr(a) (* (/ a 180.0) pi) ) (defun drw(fg cb / l n dx dy x ax sp ep ap) (setq l (length cb)) (cond ((= fg "W") (setq n 0 dx (+ ltoff d1 y00)) (repeat l (setq x (nth n cb) ax (car x) dy (+ dx (cdr x))) (setq sp (list x00 dy) ep (list x02 dy) ap (list x03 dy)) (setq n (1+ n)) (dr sp ep ap ax) )) ((= fg "S") (setq n 0 dx (+ dnoff x00 d1)) (repeat l (setq x (nth n cb) ax (car x) dy (+ dx (cdr x))) (setq sp (list dy y00) ep (list dy y02) ap (list dy y03)) (setq n (+ n 1)) (dr sp ep ap ax) )) ((= fg "E") (setq n 0 dx (+ rtoff d1 y00)) (repeat l (setq x (nth n cb) ax (car x) dy (+ dx (cdr x))) (setq sp (list x10 dy) ep (list x12 dy) ap (list x13 dy)) (setq n (1+ n)) (dr sp ep ap ax) )) ((= fg "N") (setq n 0 dx (+ upoff d1 x00)) (repeat l (setq x (nth n cb) ax (car x) dy (+ dx (cdr x))) (setq sp (list dy y10) ep (list dy y12) ap (list dy y13)) (setq n (1+ n)) (dr sp ep ap ax) )) ) ) (defun dr(stp edp axp axx /) (if (> (strlen axx) 1) (command "line" stp edp "" "insert" "axi" axp blx "" 0 axx) (command "line" stp edp "" "insert" "axi0" axp blx "" 0 axx) ) ) (defun drwdim(fg cb / l n dy x x1 sp ep) (setq l (length cb)) (cond ((= fg "W") (setq n 0 dy (+ ltoff d1 y00)) (repeat (- l 1) (setq x (nth n cb) n (1+ n) x1 (nth n cb)) (setq sp (list x05 (+ dy (cdr x))) ep (list x05 (+ dy (cdr x1)))) (drdim sp ep 90) ) (command "exit" "line" (list x00 (- dy sd)) (list x08 (- dy sd)) "") (command "line" (list x00 (+ dy (setq x (cdr (nth (- l 1) cb))) sd)) (list x08 (+ dy x sd)) "" "dim") (setq sp (list x06 (- dy sd)) ep (list x06 (+ dy x sd))) (setq n 1) (drdim sp ep 90) ) ((= fg "S") (setq n 0 dy (+ dnoff x00 d1)) (repeat (- l 1) (setq x (nth n cb) n (1+ n) x1 (nth n cb)) (setq sp (list (+ dy (cdr x)) y05) ep (list (+ dy (cdr x1)) y05)) (drdim sp ep 0) ) (command "exit" "line" (list (- dy sd) y00) (list (- dy sd) y08) "") (command "line" (list (+ dy sd (setq x (cdr (nth (- l 1) cb)))) y00) (list (+ dy sd x) y08) "" "dim") (setq sp (list (- dy sd) y06) ep (list (+ dy sd x) y06)) (setq n 1) (drdim sp ep 0) ) ((= fg "E") (setq n 0 dy (+ rtoff d1 y00)) (repeat (- l 1) (setq x (nth n cb) n (1+ n) x1 (nth n cb)) (setq sp (list x15 (+ dy (cdr x))) ep (list x15 (+ dy (cdr x1)))) (drdim sp ep 90) ) (command "exit" "line" (list x10 (- dy sd)) (list x18 (- dy sd)) "") (command "line" (list x10 (+ dy sd (setq x (cdr (nth (- l 1) cb))))) (list x18 (+ dy x sd)) "" "dim") (setq sp (list x16 (- dy sd)) ep (list x16 (+ dy x sd))) (setq n 1) (drdim sp ep 90) ) ((= fg "N") (setq n 0 dy (+ upoff x00 d1)) (repeat (- l 1) (setq x (nth n cb) n (1+ n) x1 (nth n cb)) (setq sp (list (+ dy (cdr x)) y15) ep (list (+ dy (cdr x1)) y15)) (drdim sp ep 0) ) (command "exit" "line" (list (- dy sd) y10) (list (- dy sd) y18) "") (command "line" (list (+ dy sd (setq x (cdr (nth (- l 1) cb)))) y10) (list (+ dy sd x) y18) "" "dim") (setq sp (list (- dy sd) y16) ep (list (+ dy sd x) y16)) (setq n 1) (drdim sp ep 0) ) ) ) (defun drdim(spp epp ra /) (if (= n 1) (progn (command "rotate" ra sp ep sp "") ) (command "continue" ep "") ) ) (defun drwaxis(fg cb / l n dy x sp ep ax) (setq l (length cb)) (cond ((= fg "W") (setq n 0 dy (+ ltoff d1 y00)) (repeat l (setq x (nth n cb)) (setq sp (list x00 (+ dy (cdr x))) ep (list x10 (+ dy (cdr x)))) (draxis sp ep) (setq n (1+ n)) )) ((= fg "S") (setq n 0 dy (+ dnoff x00 d1)) (repeat l (setq x (nth n cb)) (setq sp (list (+ dy (cdr x)) y00) ep (list (+ dy (cdr x)) y10)) (draxis sp ep) (setq n (1+ n)) )) ((= fg "E") (setq n 0 dy (+ rtoff d1 y00)) (repeat l (setq ax (car (setq x (nth n cb)))) (if (not (assoc ax west)) (progn (setq sp (list x10 (+ dy (cdr x))) ep (list x00 (+ dy (cdr x)))) (draxis sp ep) )) (setq n (1+ n)) )) ((= fg "N") (setq n 0 dy (+ upoff d1 x00)) (repeat l (setq ax (car (setq x (nth n cb)))) (if (not (assoc ax south)) (progn (setq sp (list (+ dy (cdr x)) y10) ep (list (+ dy (cdr x)) y00)) (draxis sp ep) )) (setq n (1+ n)) )) ) ) (defun draxis(spp epp /) (command "line" spp epp "") ) (defun C:INSTAX(/ midl mdist md1 axdl axnl axndl i j fgerr x x1 insp ang ang0 lp iang sn en sp ep ap ax dt ename mid kw l n dy oer oldc) (setvar "highlight" 0) (setvar "blipmode" 0) (setvar "cmdecho" 0) (setvar "regenmode" 0) (setq midl nil oer *error* *error* axerr oldc (getvar "cecolor")) (command "color" "bylayer") (if (/= (+ fh78 fh65 fh72 fh85 fh70) 370) (tst)) (princ "\n╓ß╧▀╝Σ╛α <") (princ "6*3.6") (setq mdist (getstring ">:")) (if (= mdist "") (setq mdist "6*3.6")) (eee mdist) (setq md1 (+ (length axdl) 1) fgerr t) (setq i 1) (while (<= i md1) (if (or (= (+ 64 i) 73) (= (+ 64 i) 79)) (setq md1 (+ md1 1))) (setq i (1+ i))) (while fgerr (princ "\n╩Σ╚δ╓ß║┼ <") (princ (strcat (setq midl (strcat "A-" (chr (+ 64 md1)))) ">:")) (setq x (getstring) midl (if (/= x "") x midl)) (kjs midl) (combin axnl axdl) ) (setq midl axndl mdist axdl) (princ "\n═Γ╟╜║± <") (princ sd) (setq x (getint ">:")) (setq sd (if (eq x nil) sd x)) (graphscr) (initget 1) (setq insp (getpoint "\n╓ß╧▀▓σ╚δ╡π:")) (princ "\n╙δ╤í╧▀╞╜╨╨P/╙δ╤í╧▀┤╣╓▒C/╓ß╧▀╜╟╢╚ <45>:") (initget "P C") (setq ang (getangle insp)) (cond ((= ang nil) (setq ang (/ pi 4))) ((= ang "P") (setq lp t) (while lp (setq sn (car (entsel "\n╤í╘±╓▒╧▀:"))) (setq ename (cdr (assoc 0 (setq en (entget sn))))) (if (= ename "LINE") (progn (setq sp (cdr (assoc 10 en)) ep (cdr (assoc 11 en))) (setq ang (angle sp ep) dt (distance sp ep)) (setq mid (polar sp ang (/ dt 2))) (grdraw sp mid 2)(grdraw mid (polar mid (+ ang (dtr 150)) (- d7 d2)) 2) (initget "Y N") (setq kw (getkword "\n╙δ╞≡╡π╧▀═¼╧≥ <N>:")) (if (or (= kw nil) (= kw "N")) (setq ang (+ ang pi))) (setq lp nil) )) )) ((= ang "C") (setq lp t) (while lp (setq sn (car (entsel "\n╤í╘±╓▒╧▀:"))) (setq ename (cdr (assoc 0 (setq en (entget sn))))) (if (= ename "LINE") (progn (setq sp (cdr (assoc 10 en)) ep (cdr (assoc 11 en))) (setq ang (angle sp ep) dt (distance sp ep)) (setq mid (polar sp ang (/ dt 2))) (grdraw sp mid 2)(grdraw mid (polar mid (+ ang (dtr 150)) (- d7 d2)) 2) (initget "Y N") (setq kw (getkword "\n┤╙╞≡╡π╧▀╧≥╧┬ <N>:")) (if (or (= kw nil) (= kw "N")) (setq ang (+ ang (/ pi 2))) (setq ang (- ang (/ pi 2)))) (setq lp nil) )) )) ) (if (and (> ang 0) (<= ang pi)) (setq ang0 -1.57079) (setq ang0 1.57079)) (command "layer" "m" "pdim" "c" "3" "" "") (setq l (length midl) n 0) (command "line" (setq sp (polar insp (- ang ang0) sd)) (polar sp ang d8) "") (repeat l (setq x (nth n midl) ax (car x) dy (cdr x)) (setq sp (polar insp (+ ang ang0) dy) ep (polar sp ang d2) ap (polar sp ang d3)) (dr sp ep ap ax) (setq n (1+ n)) ) (command "line" (setq sp (polar sp (+ ang ang0) sd)) (polar sp ang d8) "") (setq n 0 iang (/ (* 180 (+ ang ang0)) pi)) (command "dim" "dimse1" "on" "dimse2" "on" "style" "standard") (repeat (- l 1) (setq x (nth n midl) n (1+ n) x1 (nth n midl)) (setq sp (polar insp (+ ang ang0) (cdr x)) sp (polar sp ang d5)) (setq ep (polar insp (+ ang ang0) (cdr x1)) ep (polar ep ang d5)) (drdim sp ep iang) ) (setq sp (polar insp (+ ang ang0) (cdr (nth 0 midl))) sp (polar sp ang d6) sp (polar sp (- ang ang0) sd)) (setq ep (polar insp (+ ang ang0) (cdr (nth (- l 1) midl))) ep (polar ep ang d6) ep (polar ep (+ ang ang0) sd)) (setq n 1) (drdim sp ep iang) (command "dimse1" "off" "dimse2" "off" "style" "hz" "exit") (if (> (atoi oldc) 0) (command "color" (atoi oldc)) (command "color" oldc)) (command "layer" "s" 0 "") (setvar "blipmode" 1) (setvar "cmdecho" 1) (setvar "highlight" 1) (setvar "regenmode" 1) (setq *error* oer) (princ) ) (defun C:AUTOAX(/ oer ss ssl n pl ql west south east north wdist sdist edist ndist sn en ename sp ep ang n ll ur d45 sn45 d225 js1 i axdl axnl axndl ymax ymin xmax xmin kj1 xoff yoff ltoff rtoff upoff dnoff ll5 ur5 ll6 ur6 ll2 ur2 ll3 ur3 ll8 ur8 x00 y00 x02 y02 x03 y03 x10 y10 x12 y12 x13 y13 x05 y05 x15 y15 x06 y06 x16 y16 x08 y08 x18 y18 ssa) (setvar "cmdecho" 0) (setvar "blipmode" 0) (setvar "regenmode" 0) (setq oldc (getvar "cecolor")) (command "color" "bylayer") (setq oer *error* *error* axerr) (setq ss (ssget)) (if ss (progn (setq ssl (sslength ss) n 0 pl nil ql nil west nil south nil wdist nil sdist nil ssa nil ssa (ssadd)) (repeat ssl (setq sn (ssname ss n) en (entget sn)) (setq ename (cdr (assoc 0 en))) (if (= ename "LINE") (progn (setq sp (cdr (assoc 10 en)) ep (cdr (assoc 11 en))) (setq ang (angle sp ep)) (ssadd sn ssa) (if (and (or (= ang 0) (= ang pi)) (not (member (cadr sp) pl))) (setq pl (cons (cadr sp) pl))) (if (and (or (= ang (* 0.5 pi)) (= ang (* 1.5 pi))) (not (member (car sp) ql))) (setq ql (cons (car sp) ql))) )) (setq n (1+ n)) ) (setq ll (list (setq xmin (apply 'min ql)) (setq ymin (apply 'min pl)) 0.0)) (setq ur (list (apply 'max ql) (apply 'max pl) 0.0)) (setq d45 (dtr 45) sn45 (sin (dtr 45)) d225 (dtr 225)) (setq js1 (length pl) i 1) (while (<= i js1) (if (or (= (+ 64 i) 73) (= (+ 64 i) 79)) (setq js1 (+ js1 1))) (setq i (1+ i))) (setq west (strcat "A-" (chr (+ 64 js1)))) (kjs west)(setq axdl nil) (repeat (length pl) (setq axdl (cons (- (setq ymax (apply 'max pl)) ymin) axdl)) (setq pl (subst '0 ymax pl)) ) (setq axdl (cdr axdl)) (setq n (1- (length axdl))) (repeat (1- (length axdl)) (setq axdl (subst (- (nth n axdl) (nth (1- n) axdl)) (nth n axdl) axdl) n (1- n))) (combin axnl axdl) (setq west axndl wdist axdl) (setq kj1 (length ql)) (setq south (strcat "1-" (itoa kj1))) (kjs south)(setq axdl nil) (repeat (length ql) (setq axdl (cons (- (setq xmax (apply 'max ql)) xmin) axdl)) (setq ql (subst '0 xmax ql)) ) (setq axdl (cdr axdl)) (setq n (1- (length axdl))) (repeat (1- (length axdl)) (setq axdl (subst (- (nth n axdl) (nth (1- n) axdl)) (nth n axdl) axdl) n (1- n))) (combin axnl axdl) (setq south axndl sdist axdl) (setq east west edist wdist north south ndist sdist xoff 0 yoff 0) (command "erase" ssa "") (othoax0) )) (if (> (atoi oldc) 0) (command "color" (atoi oldc)) (command "color" oldc)) (command "layer" "s" "0" "") (setvar "cmdecho" 1) (setvar "regenmode" 1) (setvar "blipmode" 1) (setq *error* oer) (princ) )