;;;label grid lines and a viewport. ;;; ;;;> Author: Henry C. Francis ;;;> 425 N. Ashe St. ;;;> Southern Pines, NC 28387 ;;;> http://paracadd.com ;;;> All rights reserved. ;;; ;;;> COPYRIGHT: 1991-2004 ;;;> EDITED: 10-06-2005 ;;; (DEFUN c:glbl () (SETQ old_osmode (GETVAR "OSMODE")) (SETVAR "OSMODE" 0) (SETQ gridtxt_ss (SSGET "X" '((-4 . ""))) ;_ end of ssget ) ;_ end of setq (IF gridtxt_ss (COMMAND ".erase" gridtxt_ss "") ) ;_ end of IF (IF c:g100 NIL (LOAD "lamacs" "\nFile LAMACS.LSP not loaded! ") ) (c:g100) (IF c:mklayr nil (LOAD "mklayr") ) ;_ end of if (c:svlayr) (IF gvpno NIL (LOAD "gvpno") ) ;_ end of if (gvpno) (SETQ ltyp "-" colr "1" colri nil colra nil modf "GRID" ) ;_ end of setq (SETQ curvno (GETVAR "cvport")) (SETQ cvputw (- (* PI 2) (GETVAR "viewtwist"))) ;;; (REGAPP "ACAD") (SETQ cvpss (SSGET "X" (LIST (CONS 69 curvno)))) (SETQ cvpent (ENTGET (SSNAME cvpss 0) (LIST "ACAD"))) (SETQ cvpvno (ATOI (SUBSTR (CDR (ASSOC 8 cvpent)) 5 2))) (SETQ cvphgt (GETVAR "viewsize")) (SETQ cvpctr (GETVAR "viewctr")) (SETQ cvpa40 (CDR (ASSOC 40 cvpent))) (SETQ cvpa41 (CDR (ASSOC 41 cvpent))) (SETQ cvpwid (* (/ cvpa40 cvpa41) cvphgt)) ; (setq xvdata (cadr(assoc -3 cvpent))) (SETQ pt1 (POLAR (POLAR cvpctr cvputw (/ cvpwid 2)) (- cvputw (/ PI 2)) (/ cvphgt 2));bottom right corner of view pt2 (POLAR pt1 (+ cvputw (/ PI 2)) cvphgt);top right corner of view pt3 (POLAR pt2 (+ cvputw PI) cvpwid);top left corner of view pt4 (POLAR pt3 (- cvputw (/ PI 2)) cvphgt);bottom left corner of view ) ;_ end of setq (SETQ min_vpx (MIN (CAR pt1) (CAR pt2) (CAR pt3) (CAR pt4)) max_vpx (MAX (CAR pt1) (CAR pt2) (CAR pt3) (CAR pt4)) min_vpy (MIN (CADR pt1) (CADR pt2) (CADR pt3) (CADR pt4)) max_vpy (MAX (CADR pt1) (CADR pt2) (CADR pt3) (CADR pt4)) ) ;_ end of SETQ (IF txtsize NIL (LOAD "txtsize" "\nFile TXTSIZE.LSP not loaded! ") ) ;_ end of IF (txtsize nil) (SETQ bot_vpx (* (FIX (/ min_vpx 100.0)) 100)) (IF (< bot_vpx min_vpx) (SETQ bot_vpx (+ bot_vpx 100.0)) ) ;_ end of IF (SETQ bot_vpy (* (FIX (/ min_vpy 100.0)) 100)) (IF (< bot_vpy min_vpy) (SETQ bot_vpy (+ bot_vpy 100.0)) ) ;_ end of IF (SETQ left_vpx (* (FIX (/ min_vpx 100.0)) 100)) (IF (< left_vpx min_vpx) (SETQ left_vpx (+ left_vpx 100.0)) ) ;_ end of IF (SETQ left_vpy (* (FIX (/ min_vpy 100.0)) 100)) (IF (< left_vpy min_vpy) (SETQ left_vpy (+ left_vpy 100.0)) ) ;_ end of IF ;;; (PRINC "\nbot_vpx = ") ;;; (PRINC bot_vpx) ;;; (PRINC "\nbot_vpy = ") ;;; (PRINC bot_vpy) ;;; (PRINC "\nmin_vpx = ") ;;; (PRINC min_vpx) ;;; (PRINC "\nmax_vpx = ") ;;; (PRINC max_vpx) ;;; (PRINC) (WHILE (AND (>= bot_vpx min_vpx) (<= bot_vpx max_vpx)) (SETQ bot_ipt (POLAR (POLAR (INTERS (IF (EQUAL(GETVAR"viewtwist")(/ pi 2.0)1.0) pt3 pt1 ) pt4 (LIST bot_vpx bot_vpy) (POLAR (LIST bot_vpx bot_vpy) ;(ANGLE pt1 pt4) (ANGLE (LIST bot_vpx bot_vpy) (LIST bot_vpx (+ bot_vpy 100))) 100 ) nil ) ;_ end of INTERS (ANGLE (LIST (+ bot_vpx 100) bot_vpy)(LIST bot_vpx bot_vpy)) dis3 ) ;_ end of polar (ANGLE (LIST bot_vpx bot_vpy)(LIST bot_vpx (+ bot_vpy 100))) dis1 ) ;_ end of polar ) ;_ end of SETQ (COND ((EQ (REM bot_vpx 1000) 0) (SETQ usrd "1000")) ((EQ (REM bot_vpx 500) 0) (SETQ usrd "0500")) ((EQ (REM bot_vpx 200) 0) (SETQ usrd "0200")) ((EQ (REM bot_vpx 100) 0) (SETQ usrd "0100")) ) ;_ end of cond (c:mklayr) ;;; (PRINC "\nbot_vpx = ") ;;; (PRINC bot_vpx) ;;; (PRINC "\nbot_ipt = ") ;;; (PRINC bot_ipt) ;;; (PRINC) (grd_txt bot_vpx) (IF new_str (COMMAND ".text" bot_ipt txtht 90 (STRCAT "E " (IF (EQ (SUBSTR new_str 1 1) ",")(substr new_str 2) new_str))) ) (SETQ bot_vpx (+ bot_vpx 100)) ) ;_ end of while (WHILE (AND (>= left_vpy min_vpy) (<= left_vpy max_vpy)) (SETQ left_ipt (POLAR (POLAR (INTERS (IF (EQUAL(GETVAR"viewtwist")(/ pi 2.0)1.0) pt1 pt3 ) pt4 (LIST left_vpx left_vpy) (POLAR (LIST left_vpx left_vpy) ;(ANGLE pt3 pt4) (ANGLE (LIST left_vpx left_vpy) (LIST (+ left_vpx 100) left_vpy)) 100 ) ;_ end of POLAR nil ) ;_ end of INTERS (ANGLE (LIST left_vpx left_vpy)(LIST (+ left_vpx 100) left_vpy)) dis1 ) ;_ end of polar (ANGLE (LIST left_vpx left_vpy) (LIST left_vpx (+ left_vpy 100))) dis3 ) ;_ end of polar ) ;_ end of SETQ (COND ((EQ (REM left_vpy 1000) 0) (SETQ usrd "1000")) ((EQ (REM left_vpy 500) 0) (SETQ usrd "0500")) ((EQ (REM left_vpy 200) 0) (SETQ usrd "0200")) ((EQ (REM left_vpy 100) 0) (SETQ usrd "0100")) ) ;_ end of cond (c:mklayr) (grd_txt left_vpy) (IF new_str (COMMAND ".text" left_ipt txtht 0 (STRCAT "N " (IF (EQ (SUBSTR new_str 1 1) ",")(substr new_str 2) new_str))) ) (SETQ left_vpy (+ left_vpy 100)) ) ;_ end of while (c:rslayr) (SETVAR "OSMODE" old_osmode) (PRINC) ) ;_ end of defun (DEFUN grd_txt (real / cnt) (SETQ new_str NIL) (SETQ num_str (RTOS real 2 0)) (SETQ num_len (STRLEN num_str)) (SETQ com_cnt (/ num_len 3)) (SETQ cnt 1) (WHILE (< cnt num_len) (IF new_str (PROGN (SETQ new_str (STRCAT new_str "," (SUBSTR num_str cnt 3))) ;(- numlen (* com_cnt 3)) (SETQ cnt (+ cnt 3)) ) ;_ end of PROGN (PROGN (SETQ new_str (SUBSTR num_str cnt (- num_len (* com_cnt 3)))) (SETQ cnt (+ cnt (- num_len (* com_cnt 3)))) ) ;_ end of PROGN ) ;_ end of IF ) ;_ end of WHILE (PRINC) ) ;_ end of DEFUN ;|«Visual LISP© Format Options» (120 2 15 2 T "end of " 100 9 2 0 nil nil nil T T) ;*** DO NOT add text below the comment! ***|;