;;;Put hiding solids over dimension text. ;;; ;;; ;;; ;;;Fixed problem where dims in both spaces were processed and ;;;resulting hiding objects were all in one space. Now only dims ;;;in the specified space are processed. ;;; ;;;> Author: Henry C. Francis ;;;> 425 N. Ashe St. ;;;> Southern Pines, NC 28387 ;;;> http://paracadd.com ;;;> All rights reserved. ;;; ;;;> COPYRIGHT: 1-26-96 ;;;> EDITED: 10-06-2005 ;;; (DEFUN c:dims (/) (SETVAR "cmdecho" 0) (IF prehdtext_ss (SETQ predimsc_ss prehdtext_ss) (SETQ predimsc_ss (SSGET "P")) ) ;_ end of if (IF (SETQ dimss (SSGET "x" '((-4 . "")))) (PROGN (SETQ dss_len (SSLENGTH dimss)) (SETQ dss_indx 0) (SETQ ntz 0 llt "-" colr "1" ) ;_ end of setq (WHILE (< dss_indx dss_len) (SETQ dim_ent (ENTGET (SSNAME dimss dss_indx))) (IF (OR (AND (EQ mp_space "Paper") (EQ (CDR (ASSOC 67 dim_ent)) 0)) (AND (EQ mp_space "Model") (EQ (CDR (ASSOC 67 dim_ent)) 1)) ) ;_ end of or nil (PROGN (SETQ dblk_name (CDR (ASSOC 2 dim_ent))) (IF dblk_name (PROGN (SETQ dblk_ent (TBLSEARCH "block" dblk_name)) (SETQ dim1_ename (CDR (ASSOC -2 dblk_ent))) ) (PROGN (SETQ dim1_ename (CDR (ASSOC -1 dim_ent))) ) ) (IF (>= (STRLEN (CDR (ASSOC 8 dim_ent))) 6) (SETQ hsvno (SUBSTR (CDR (ASSOC 8 dim_ent)) 3 4)) (SETQ hsvno "DIMS") ) ;_ end of if (SETQ dlayr (STRCAT (IF mjrg mjrg "C" ) ;_ end of if "-" hsvno ;;; (IF (EQ mp_space "Paper") "-DIMS-HIDE" ;;; "DNPLTHS" ;;; ) ;_ end of IF ) ;_ end of strcat ) ;_ end of setq (WHILE dim1_ename (SETQ dim1_ent (ENTGET dim1_ename)) (IF (EQ (CDR (ASSOC 0 dim1_ent)) "MTEXT") (PROGN (SETQ txt_ent dim1_ent) (IF (EQ mp_space "Paper") (SETQ as_67 1) (SETQ as_67 0) ) ;_ end of if ;;; (SETQ dim_tbox ;;; (LIST ;;; (LIST 0 0 0) ;;; (LIST (CDR (ASSOC 42 txt_ent))(CDR (ASSOC 43 txt_ent))) ;;; ) ;;; ) ;;; (SETQ dim_ht (CDR (ASSOC 43 txt_ent))) (SETQ dim_tbox (list (list (- 0 (/(cdr(assoc 42 txt_ent))2.0))(- 0 (/(cdr(assoc 43 txt_ent))2.0))0) (list (/(cdr(assoc 42 txt_ent))2.0)(/(cdr(assoc 43 txt_ent))2.0)0) ) ;;; dim_tbox (TEXTBOX ;;; (LIST ;;; (ASSOC 40 txt_ent) ;;; (ASSOC 7 txt_ent) ;;; (ASSOC 1 txt_ent) ;;; ) ;_ end of list ;;; ) ;_ end of textbox ) ;_ end of setq ;;; (SETQ dim_tbox (LIST (CAR dim_tbox) ;;; (LIST (CDR (ASSOC 42 txt_ent)) ;;; (CDR (ASSOC 43 txt_ent)) ;;; (CAR (CDDADR dim_tbox)) ;;; ) ;_ end of LIST ;;; ) ;_ end of LIST ;;; ) ;_ end of setq (SETQ dim_ht (CDR (ASSOC 40 txt_ent))) ;;; (IF (OR (= (CDR (ASSOC 71 txt_ent)) 2) ;;; (= (CDR (ASSOC 71 txt_ent)) 6) ;;; ) ;_ end of or ;;; (SETQ dim_ang (+ PI (CDR (ASSOC 50 txt_ent))) ;;; ntz (- 0 (ABS ntz)) ;;; ) ;_ end of setq (SETQ dim_ang (CDR (ASSOC 50 txt_ent)) ntz (ABS ntz) ) ;_ end of setq ;;; ) ;_ end of if (SETQ dim_txt_diag (DISTANCE (CAR dim_tbox) (CADR dim_tbox)) ) ;_ end of setq (SETQ dim_txt_len (- (caadr dim_tbox)(caar dim_tbox)) ;;; (SQRT (- (* dim_txt_diag dim_txt_diag) ;;; (* dim_ht dim_ht) ;;; ) ;_ end of - ;;; ) ;_ end of sqrt ) ;_ end of setq (SETQ dim_txt_ht (- (cadadr dim_tbox)(cadar dim_tbox)) ) (SETQ dim_base (CDR (ASSOC 10 txt_ent)) dim_base (TRANS (LIST (CAR dim_base) (CADR dim_base) 0.0) 0 1 ) ;_ end of trans ) ;_ end of setq (COND ((= (CDR (ASSOC 71 txt_ent)) 1) (SETQ dimpt_ll (POLAR dim_base (+ dim_ang (* 1.5 PI)) (+ dim_txt_ht (* sp_size dim_ht 2.0)) ) ;_ end of polar ) ) ((= (CDR (ASSOC 71 txt_ent)) 2) (SETQ dimpt_ll (POLAR (POLAR dim_base (+ dim_ang PI) (+(/ dim_txt_len 2)(* sp_size dim_ht)) ) ;_ end of polar (+ dim_ang (* 1.5 PI)) (+ dim_txt_ht (* sp_size dim_ht 2.0)) ) ;_ end of polar ) ) ((= (CDR (ASSOC 71 txt_ent)) 3) (SETQ dimpt_ll (POLAR (POLAR dim_base (+ dim_ang PI) (+ dim_txt_len (* sp_size dim_ht 2.0)) ) ;_ end of polar (+ dim_ang (* 1.5 PI)) (+ dim_txt_ht (* sp_size dim_ht 2.0)) ) ;_ end of polar ) ) ((= (CDR (ASSOC 71 txt_ent)) 4) (SETQ dimpt_ll (POLAR dim_base (+ dim_ang (* 1.5 PI)) (+(/ dim_txt_ht 2.0)(* sp_size dim_ht)) ) ;_ end of polar ) ) ((= (CDR (ASSOC 71 txt_ent)) 5) (SETQ dimpt_ll (POLAR (POLAR dim_base (+ dim_ang PI) (+(/ dim_txt_len 2)(* sp_size dim_ht)) ) ;_ end of polar (+ dim_ang (* 1.5 PI)) (+(/ dim_txt_ht 2.0)(* sp_size dim_ht)) ) ;_ end of polar ) ) ((= (CDR (ASSOC 71 txt_ent)) 6) (SETQ dimpt_ll (POLAR (POLAR dim_base (+ dim_ang PI) (+ dim_txt_len (* sp_size dim_ht 2.0)) ) ;_ end of polar (+ dim_ang (* 1.5 PI)) (+(/ dim_txt_ht 2.0)(* sp_size dim_ht)) ) ;_ end of polar ) ) ((= (CDR (ASSOC 71 txt_ent)) 7) (SETQ dimpt_ll (POLAR (POLAR dim_base (+ dim_ang PI) (* sp_size dim_ht) ) ;_ end of polar (+ dim_ang (* 1.5 PI)) (* sp_size dim_ht) ) ;_ end of polar ) ) ((= (CDR (ASSOC 71 txt_ent)) 8) (SETQ dimpt_ll (POLAR (POLAR dim_base (+ dim_ang PI) (+(/ dim_txt_len 2.0)(* sp_size dim_ht)) ) ;_ end of polar (+ dim_ang (* 1.5 PI)) (* sp_size dim_ht) ) ;_ end of polar ) ) ((= (CDR (ASSOC 71 txt_ent)) 9) (SETQ dimpt_ll (POLAR (POLAR dim_base (+ dim_ang PI) (+ dim_txt_len (* sp_size dim_ht 2.0)) ) ;_ end of polar (+ dim_ang (* 1.5 PI)) (* sp_size dim_ht) ) ;_ end of polar ) ) ) (SETQ ;;; dimpt_ll (mapcar '(lambda (a b) (+ b a))(car dim_tbox) dim_base) ;;; dimpt_ur (mapcar '(lambda (a b) (+ b a))(cadr dim_tbox) dim_base) dimpt_lr (POLAR dimpt_ll dim_ang (+ dim_txt_len (* sp_size dim_ht 2.0)) ) ;_ end of polar dimpt_ul (POLAR dimpt_ll (+ dim_ang (* PI 1.5)) (+ dim_txt_ht (* sp_size dim_ht 2.0)) ) ;_ end of polar dimpt_ur (POLAR dimpt_ul dim_ang (+ dim_txt_len (* sp_size dim_ht 2.0)) ) ;_ end of polar ) ;_ end of setq (PROGN (SETQ box_angle dim_ang ;(ANGLE dimpt_ll dimpt_lr) box_x_scale (+ dim_txt_len (* sp_size dim_ht 2.0)) box_y_scale (+ dim_txt_ht (* sp_size dim_ht 2.0)) ) ;_ end of SETQ (IF T;(EQ mp_space "Paper") (PROGN (SETQ hdboxlst (LIST (CONS 0 "INSERT") (CONS 2 "HDBOX") (CONS 10 dimpt_ll) (CONS 8 dlayr) (CONS 41 box_x_scale) (CONS 42 box_y_scale) (CONS 43 1.0) (CONS 50 box_angle) (CONS 67 as_67) (CONS 70 1) (CONS 71 1) ) ;_ end of LIST ) ;_ end of SETQ (ENTMAKE hdboxlst) ) ;_ end of PROGN (PROGN (SETQ 3dflst (LIST (CONS 0 "3DFACE") (CONS 8 dlayr) (CONS 10 dimpt_ll) (CONS 11 dimpt_lr) (CONS 12 dimpt_ur) (CONS 13 dimpt_ul) (CONS 67 as_67) (CONS 70 15) ) ;_ end of list ) ;_ end of setq (ENTMAKE 3dflst) ) ;_ end of PROGN ) ;_ end of IF ) ;_ end of progn ) ;_ end of progn ;;; (progn(princ (cdr(assoc 0 dim1_ent)))(princ)) ) ;_ end of if (SETQ dim1_ename (ENTNEXT dim1_ename)) ) ;_ end of while ) ;_ end of PROGN ) ;_ end of IF (SETQ dss_indx (1+ dss_indx)) ) ;_ end of while (COMMAND ".select" predimsc_ss "") (COMMAND) (SETQ HDLADEF (TBLOBJNAME "LAYER" "G-NPLT7HDBX")) (IF HDLADEF (PROGN (SETQ HDLADEF (ENTGET HDLADEF)) (IF (EQ (CDR (ASSOC 62 HDLADEF)) 250) NIL (PROGN (SETQ HDLADEF (SUBST (CONS 62 250)(ASSOC 62 HDLADEF)HDLADEF)) (ENTMOD HDLADEF) ) ) ) ) ) ;_ end of progn ) ;_ end of if (PRINC) ) ;_ end of defun ;|«Visual LISP© Format Options» (72 2 40 2 T "end of " 60 9 2 1 0 T T nil T) ;*** DO NOT add text below the comment! ***|;