home *** CD-ROM | disk | FTP | other *** search
- (VMON)
-
- (defun clmerr(s)
- (if (/= s "Function cancelled")
- (princ (strcat "\nError:" s))
- )
- (command)
- (command "layer" "s" "0" "")
- (setvar "blipmode" 1)
- (setvar "cmdecho" 1)
- (setvar "osmode" 0)
- (setq *error* oer)
- (princ)
- )
-
- (setq cn "COLUMN" cl 500 cw 500 ins "Mid" angc 0)
-
- (defun C:COLUME(/ oer x osm p p0 p1 p2 p3 p4 ss ssl sn sn1 n n1 pt pe dx dy en en1)
- (setvar "cmdecho" 0)
- (setvar "OSMODE" 0) (setq osm 0)
- (setq oer *error* *error* clmerr)
- (command "layer" "m" "pother" "")
- (setq pe 0 dx 0 dy 0)
- (while (/= pe nil)
- (initget "P I R ON OFF")
- (setq p (getpoint "\nP╓∙▓╬╩²/I╜╗╡π▓σ╓∙/R▓╬┐╝╡π/ON/OFF <▓σ╚δ╡π>:"))
- (cond ((= p nil) (setq pe nil))
- ((eq p "P")
- (progn
- (princ "\n╓∙╫╙├√│╞ <")
- (princ cn)
- (setq x (getstring ">:") cn (if (eq x "") cn x))
- (princ "\n╓∙╫╙┐φ╢╚ <")
- (princ cl)
- (setq x (getint ">:") cl (if x x cl))
- (princ "\n╓∙╫╙╕▀╢╚ <")
- (princ cw)
- (setq x (getint ">:") cw (if x x cw))
- (initget "Up Dn Lf Rt Mid")
- (princ "\n▓σ╚δ╡π╬╗╓├ <Up╔╧/Dn╧┬/Lf╫≤/Rt╙╥/Mid╓╨╨─ <")
- (princ ins)
- (setq x (getkword ">:") ins (if (= x nil) ins x))
- (cond ((eq ins "Up") (setq dx (/ cw 2) dy 270))
- ((eq ins "Dn") (setq dx (/ cw 2) dy 90))
- ((eq ins "Lf") (setq dx (/ cl 2) dy 0))
- ((eq ins "Rt") (setq dx (/ cl 2) dy 180))
- ((eq ins "Mid") (setq dx 0 dy 0))
- (t (setq ins "Mid" dx 0 dy 0))
- )
- (princ "\n╓∙╫╙╜╟╢╚ <")
- (princ angc)
- (setq x (getint ">: ") angc (if x x angc))
- (setq dy (+ dy angc) dy (/ (* pi dy) 180))
- )
- )
- ((eq p "I")
- (progn
- (setvar "OSMODE" 0)
- (setq ss (ssget))
- (if ss (progn (setq ssl (sslength ss) n 0)
- (repeat (1- ssl)
- (setq sn (ssname ss n) en (entget sn) n (1+ n))
- (if (= "LINE" (cdr (assoc 0 en)))
- (progn
- (setq n1 n)
- (setq p1 (cdr (assoc 10 en)) p2 (cdr (assoc 11 en)))
- (repeat (- ssl n1)
- (setq sn1 (ssname ss n1) en1 (entget sn1) n1 (1+ n1))
- (if (= "LINE" (cdr (assoc 0 en1)))
- (progn
- (setq p3 (cdr (assoc 10 en1)) p4 (cdr (assoc 11 en1)))
- (setq pt (inters p1 p2 p3 p4))
- (if (/= pt nil)
- (command "insert" cn (polar pt dy dx) (/ cl 1000.0) (/ cw 1000.0) angc)
- )
- )
- )
- )
- )
- )
- )
- ))
- (setvar "OSMODE" osm)
- )
- )
- ((eq p "R") (progn
- (setq p (getpoint "\n▓╬┐╝╡π:"))
- (setvar "OSMODE" 0)
- (setq p (getpoint p "\n▓σ╚δ╡π:"))
- (command "insert" cn (polar p dy dx) (/ cl 1000.0) (/ cw 1000.0) angc)
- (setvar "OSMODE" osm)
- ))
- ((eq p "ON") (progn
- (setvar "OSMODE" 8)
- (setq osm 8)
- (princ "▓╢╫╜╓ß╧▀╡π┤≥┐¬")
- ))
- ((eq p "OFF") (progn
- (setvar "OSMODE" 0)
- (setq osm 0)
- (princ "▓╢╫╜╓ß╧▀╡π╣╪▒╒")
- ))
- (t (command "insert" cn (polar p dy dx) (/ cl 1000.0) (/ cw 1000.0) angc))
- )
- )
- (command "layer" "s" "0" "")
- (setvar "cmdecho" 1)
- (setvar "blipmode" 1)
- (setvar "OSMODE" 0)
- (setq *error* oer)
- (princ)
- )