;; Digital.LSP (01-07-2002), John F. Uhden, Cadlantic ;; Dedicated to David Bethel ;; Does not look good with rotated UCSs or ViewTwists ;; Add your own character functions as needed. (defun digital (midp str height color / p i fun bar #0 #1 #2 #3 #4 #5 #6 #7 #8 #9) (defun bar (p height color dir / ph n t- t+ b- b+ d++ d+-) (setq p (list (car p)(cadr p)) height (* height 0.5) ph (/ (getvar "viewsize")(cadr (getvar "screensize"))) ; pixel height n (max 1 (fix (/ height 6 ph))) height (- height (* ph (sqrt n))) ) (if (= dir "UP") (setq t- (mapcar '+ p (list 0.0 height)) b- (mapcar '- p (list 0.0 height)) d++ (list ph ph) d+- (list ph (- ph)) ) (setq t- (mapcar '+ p (list height 0.0)) b- (mapcar '- p (list height 0.0)) d+- (list (- ph)(- ph)) d++ (list ph (- ph)) ) ) (setq t+ t- b+ b-) (grvecs (list color t- b-)) (repeat n (grvecs (list color (setq t- (mapcar '- t- d++)) (setq b- (mapcar '- b- d+-)) ) ) (grvecs (list color (setq t+ (mapcar '+ t+ d+-)) (setq b+ (mapcar '+ b+ d++)) ) ) ) ) (defun #0 (midp height color / h 1/4h 1/2h) (setq 1/2h (* height 0.5) 1/4h (* height 0.25) midp (list (car midp)(cadr midp)) ) (bar (mapcar '+ midp (list 0.0 1/2h)) 1/2h color nil) (bar (mapcar '+ midp (list 1/4h 1/4h)) 1/2h color "UP") (bar (mapcar '+ midp (list 1/4h (- 1/4h))) 1/2h color "UP") (bar (mapcar '+ midp (list 0.0 (- 1/2h))) 1/2h color nil) (bar (mapcar '+ midp (list (- 1/4h)(- 1/4h))) 1/2h color "UP") (bar (mapcar '+ midp (list (- 1/4h) 1/4h)) 1/2h color "UP") ) (defun #1 (midp height color / h 1/4h 1/2h) (setq 1/2h (* height 0.5) 1/4h (* height 0.25) midp (list (car midp)(cadr midp)) ) (bar (mapcar '+ midp (list 0.0 1/4h)) 1/2h color "UP") (bar (mapcar '+ midp (list 0.0 (- 1/4h))) 1/2h color "UP") ) (defun #2 (midp height color / h 1/4h 1/2h) (setq 1/2h (* height 0.5) 1/4h (* height 0.25) midp (list (car midp)(cadr midp)) ) (bar midp 1/2h color nil) (bar (mapcar '+ midp (list 0.0 1/2h)) 1/2h color nil) (bar (mapcar '+ midp (list 1/4h 1/4h)) 1/2h color "UP") (bar (mapcar '+ midp (list 0.0 (- 1/2h))) 1/2h color nil) (bar (mapcar '+ midp (list (- 1/4h)(- 1/4h))) 1/2h color "UP") ) (defun #3 (midp height color / h 1/4h 1/2h) (setq 1/2h (* height 0.5) 1/4h (* height 0.25) midp (list (car midp)(cadr midp)) ) (bar midp 1/2h color nil) (bar (mapcar '+ midp (list 0.0 1/2h)) 1/2h color nil) (bar (mapcar '+ midp (list 1/4h 1/4h)) 1/2h color "UP") (bar (mapcar '+ midp (list 1/4h (- 1/4h))) 1/2h color "UP") (bar (mapcar '+ midp (list 0.0 (- 1/2h))) 1/2h color nil) ) (defun #4 (midp height color / h 1/4h 1/2h) (setq 1/2h (* height 0.5) 1/4h (* height 0.25) midp (list (car midp)(cadr midp)) ) (bar midp 1/2h color nil) (bar (mapcar '+ midp (list 1/4h 1/4h)) 1/2h color "UP") (bar (mapcar '+ midp (list 1/4h (- 1/4h))) 1/2h color "UP") (bar (mapcar '+ midp (list (- 1/4h) 1/4h)) 1/2h color "UP") ) (defun #5 (midp height color / h 1/4h 1/2h) (setq 1/2h (* height 0.5) 1/4h (* height 0.25) midp (list (car midp)(cadr midp)) ) (bar midp 1/2h color nil) (bar (mapcar '+ midp (list 0.0 1/2h)) 1/2h color nil) (bar (mapcar '+ midp (list 1/4h (- 1/4h))) 1/2h color "UP") (bar (mapcar '+ midp (list 0.0 (- 1/2h))) 1/2h color nil) (bar (mapcar '+ midp (list (- 1/4h) 1/4h)) 1/2h color "UP") ) (defun #6 (midp height color / h 1/4h 1/2h) (setq 1/2h (* height 0.5) 1/4h (* height 0.25) midp (list (car midp)(cadr midp)) ) (bar midp 1/2h color nil) (bar (mapcar '+ midp (list 0.0 1/2h)) 1/2h color nil) (bar (mapcar '+ midp (list 1/4h (- 1/4h))) 1/2h color "UP") (bar (mapcar '+ midp (list 0.0 (- 1/2h))) 1/2h color nil) (bar (mapcar '+ midp (list (- 1/4h)(- 1/4h))) 1/2h color "UP") (bar (mapcar '+ midp (list (- 1/4h) 1/4h)) 1/2h color "UP") ) (defun #7 (midp height color / h 1/4h 1/2h) (setq 1/2h (* height 0.5) 1/4h (* height 0.25) midp (list (car midp)(cadr midp)) ) (bar (mapcar '+ midp (list 0.0 1/2h)) 1/2h color nil) (bar (mapcar '+ midp (list 1/4h 1/4h)) 1/2h color "UP") (bar (mapcar '+ midp (list 1/4h (- 1/4h))) 1/2h color "UP") ) (defun #8 (midp height color / h 1/4h 1/2h) (setq 1/2h (* height 0.5) 1/4h (* height 0.25) midp (list (car midp)(cadr midp)) ) (bar midp 1/2h color nil) (bar (mapcar '+ midp (list 0.0 1/2h)) 1/2h color nil) (bar (mapcar '+ midp (list 1/4h 1/4h)) 1/2h color "UP") (bar (mapcar '+ midp (list 1/4h (- 1/4h))) 1/2h color "UP") (bar (mapcar '+ midp (list 0.0 (- 1/2h))) 1/2h color nil) (bar (mapcar '+ midp (list (- 1/4h)(- 1/4h))) 1/2h color "UP") (bar (mapcar '+ midp (list (- 1/4h) 1/4h)) 1/2h color "UP") ) (defun #9 (midp height color / h 1/4h 1/2h) (setq 1/2h (* height 0.5) 1/4h (* height 0.25) midp (list (car midp)(cadr midp)) ) (bar midp 1/2h color nil) (bar (mapcar '+ midp (list 0.0 1/2h)) 1/2h color nil) (bar (mapcar '+ midp (list 1/4h 1/4h)) 1/2h color "UP") (bar (mapcar '+ midp (list 1/4h (- 1/4h))) 1/2h color "UP") (bar (mapcar '+ midp (list (- 1/4h) 1/4h)) 1/2h color "UP") (bar (mapcar '+ midp (list 0.0 (- 1/2h))) 1/2h color nil) ) (setq midp (list (car midp)(cadr midp)) p (polar midp pi (* height 0.4 (1- (strlen str)))) i 1 ) (repeat (strlen str) (if (eval (setq fun (read (strcat "#" (substr str i 1))))) (eval (list fun (quote p) height color)) ) (setq p (polar p 0.0 (* height 0.8)) i (1+ i) ) ) ) (defun digicount ( / n p h i) (setq n 999 p (getvar "viewctr") h (/ (getvar "viewsize") 6) ) (while (<= n 2000) (setq n (1+ n)) (digital p (rtos n 2 0) h 3) (princ) (digital p (rtos n 2 0) h 0) ) (digital p (rtos n 2 0) h 3) )