;;; ;;; ;;; Author: ;;; Henry C. Francis ;;; 425 N. Ashe St. ;;; Southern Pines, NC 28387 ;;; ;;; http://paracadd.com ;;; All rights reserved. ;;; ;;; Copyright: ;;; Edited: ;;;**************************************************************************** (DEFUN dimucs_error (msg /) (PRINC (STRCAT "\nError: " msg)) (PRINC "\nDIMUCS aborted: A UCS may still be active! ") (IF old_dimucsosmode (SETVAR "OSMODE" old_dimucsosmode) ) ;_ end of IF (IF old_dimucscmdecho (SETVAR "CMDECHO" old_dimucscmdecho) ) ;_ end of IF (SETQ *error* orig_dimucs_error) (PRINC) ) ;_ end of DEFUN ;;;**************************************************************************** (DEFUN C:DIMUCS (/ rwdimpt_1 rwdimpt_2 rwdimpt_3 podimpt_1 podimpt_2 podimpt_3) (vl-load-com) (IF (EQ (GETVAR "TILEMODE") 0) (PROGN (vla-put-MSpace (vla-get-Activedocument (vlax-get-Acad-Object)) :vlax-true) (SETQ the-dimscale (GETVAR "DIMSCALE")) (IF (/= the-dimscale 0) (PROGN (SETVAR "DIMSCALE" 0) (PRINC (STRCAT "\nDIMSCALE was " (RTOS the-dimscale 2 1) " and has been set to 0. ")) (PRINC) ) ) ) (PROGN (IF dimscl NIL (LOAD "dimscl" "\nFile DIMSCL.LSP not loaded! ")) (dimscl) (SETQ the-dimscale dimsc) ) ) (SETQ orig_dimucs_error *error* *error* dimucs_error ) ;_ end of SETQ (SETQ old_dimucsosmode (GETVAR "OSMODE")) (SETVAR "OSMODE" 0) (SETQ old_dimucscmdecho (GETVAR "CMDECHO")) (SETVAR "CMDECHO" 0) (COMMAND ".UCS" "W") (IF c:tsnap NIL (LOAD "tsnap" "\nFile TSNAP.LSP not loaded! ") ) ;_ end of IF (C:TSNAP) (IF c:svlayr NIL (LOAD "mklayr" "\nFile MKLAYR.LSP not loaded! ") ) ;_ end of IF (IF ustr NIL (LOAD "ustr" "\nFile USTR.LSP not loaded! ") ) ;_ end of IF (IF ukword NIL (LOAD "ukword" "\nFile UKWORD.LSP not loaded! ") ) ;_ end of IF (IF gvpno NIL (LOAD "gvpno" "\nFile GVPNO.LSP not loaded! ") ) ;_ end of IF (c:svlayr) (SETQ txtopts (ukword 1 "Stacked-row+p Row+p PE Tce PIpe Min Fixed" "dimension Stacked row+pipe; Row+pipe; Permanent Easement; Tce; Pipe; Min-pipe; or Fixed [Stacked-row+p/Row+p/PE/Tce/PIpe/Min/Fixed]" (IF txtopts txtopts "Row+p" ) ;_ end of IF ) ;_ end of ukword ) ;_ end of SETQ (IF (EQ txtopts "Stacked-row+p") (SETQ ;txtopts "Row+p" stack_rwtxt T ) ) (IF (EQ txtopts "Row+p") (SETQ txtopts "Row+p" stack_rwtxt NIL ) ) (IF (EQ txtopts "Fixed") (SETQ fixedtxt (ustr 1 "Enter fixed text for aligned dimension" fixedtxt T ) ;_ end of ustr ) ;_ end of SETQ ) ;_ end of IF (IF (EQ txtopts "PE") (PROGN (C:ENGRLDRS) (COMMAND ".UCS" "V") ) ;_ end of PROGN (PROGN (C:ENGRDIMS) (COMMAND ".UCS" "3P" (GETVAR "VIEWCTR") (POLAR (GETVAR "VIEWCTR") (+ (GETVAR "SNAPANG") (/ PI 8.0)) 100 ) ;_ end of POLAR (POLAR (GETVAR "VIEWCTR") (+ (GETVAR "SNAPANG") (/ PI 8.0) (/ PI 2.0)) 100 ) ;_ end of POLAR ) ;_ end of COMMAND ) ;_ end of PROGN ) ;_ end of IF (COMMAND ".UCSICON" "ON") (SETVAR "SNAPANG" 0) (IF c:engrdims NIL (LOAD "engrdims" "\nFile ENGRDIMS.LSP not loaded! ") ) ;_ end of IF (IF c:engrldrs NIL (LOAD "engrldrs" "\nFile ENGRLDRS.LSP not loaded! ") ) ;_ end of IF (SETQ mjrg "C" llt "-" colr "1" colra NIL colri NIL modf "DIMS" ) ;_ end of SETQ (gvpno) (c:mklayr) (COND ((WCMATCH txtopts "Row+p,Stacked-row+p") (SETQ dimopts "R/W") ) ((EQ txtopts "PE") (SETQ dimopts "PERMANENT EASEMENT") (SETQ ease_type (ustr 1 (STRCAT "Type of " (STRCASE dimopts T) "?") (IF ease_type ease_type "UTILITY") T)) ) ((EQ txtopts "Tce") (SETQ dimopts "TEMPORARY CONSTRUCTION EASEMENT") ) ((OR(EQ txtopts "PIpe")(EQ txtopts "Min")) (SETQ dimopts "PIpe") ) ((EQ txtopts "Fixed") (SETQ dimopts "Fixed") ) ) ;_ end of COND (IF (OR (EQ txtopts "Tce") (EQ txtopts "PIpe") (EQ txtopts "Min") (EQ txtopts "Fixed") ) ;_ end of OR NIL (PROGN (IF (EQ txtopts "PE") (PROGN (COMMAND ".UCS" "V" ) ;_ end of COMMAND (C:ENGRLDRS) ) ;_ end of PROGN ) ;_ end of IF (SETVAR "osmode" 512) (IF upoint NIL (LOAD "upoint" "\nFile UPOINT.LSP not loaded! ") ) ;_ end of IF (SETQ rwdimpt_1 (upoint 1 "" (STRCAT "First " dimopts " Dimension Point") nil nil ) ;_ end of upoint ) ;_ end of SETQ (SETQ rwdimpt_1 (LIST (CAR rwdimpt_1) (CADR rwdimpt_1) 0.0)) (SETVAR "osmode" 128) (SETQ rwdimpt_2 (upoint 1 "" (STRCAT "Second " dimopts " Dimension Point") nil rwdimpt_1 ) ;_ end of upoint ) ;_ end of SETQ (SETQ rwdimpt_2 (LIST (CAR rwdimpt_2) (CADR rwdimpt_2) 0.0)) (SETQ rwdimpt_3 (POLAR rwdimpt_1 (ANGLE rwdimpt_1 rwdimpt_2) (/ (DISTANCE rwdimpt_1 rwdimpt_2) 2.0) ) ;_ end of POLAR ) ;_ end of SETQ (SETVAR "osmode" 0) ;;; (ALERT (IF stack_rwtxt "stack_rwtxt=T" "stack_rwtxt=NIL")) (COMMAND ".DIM" "ALI" rwdimpt_1 rwdimpt_2 rwdimpt_3 (STRCAT (IF (EQUAL (DISTANCE rwdimpt_1 rwdimpt_2) 100.0 3.0) "100" (RTOS (DISTANCE rwdimpt_1 rwdimpt_2) 2 0) ) "' " (IF (EQ txtopts "PE") (STRCAT (IF ease_type ease_type "UTILITY") "\nEASEMENT") (IF stack_rwtxt "\\PR/W" "R/W" ) ) ;_ end of IF ) ;_ end of STRCAT ) ;_ end of COMMAND (COMMAND nil nil) ) ;_ end of PROGN ) ;_ end of IF (C:ENGRLDRS) (IF (OR ;(EQ txtopts "PE") (EQ txtopts "Tce") ; (EQ txtopts "PIpe") (EQ txtopts "Min") (EQ txtopts "Fixed") ) ;_ end of OR (PROGN (COMMAND ".UCS" "V" ) ;_ end of COMMAND (IF (OR (EQ txtopts "PIpe")(EQ txtopts "Min")(EQ txtopts "Fixed")) (SETVAR "osmode" 512) (IF (EQ txtopts "PE") (SETVAR "osmode" 1536) (SETVAR "osmode" 172) ) ) ;_ end of IF (IF upoint NIL (LOAD "upoint" "\nFile UPOINT.LSP not loaded! ") ) ;_ end of IF (IF (EQ txtopts "Tce") (SETQ dimopts "TEMPORARY EASEMENT") ) (SETQ rwdimpt_1 (upoint 1 "" (STRCAT "First " dimopts " Dimension Point") nil nil ) ;_ end of upoint ) ;_ end of SETQ (SETQ rwdimpt_1 (LIST (CAR rwdimpt_1) (CADR rwdimpt_1) 0.0)) (SETVAR "osmode" 172) (SETQ rwdimpt_2 (upoint 1 "" (STRCAT "Second " dimopts " Dimension Point") nil rwdimpt_1 ) ;_ end of upoint ) ;_ end of SETQ (SETQ rwdimpt_2 (LIST (CAR rwdimpt_2) (CADR rwdimpt_2) 0.0)) (SETQ rwdimpt_3 (POLAR rwdimpt_1 (ANGLE rwdimpt_1 rwdimpt_2) (/ (DISTANCE rwdimpt_1 rwdimpt_2) 2.0) ) ;_ end of POLAR ) ;_ end of SETQ (SETVAR "osmode" 0) (COMMAND ".DIM" "ALI" rwdimpt_1 rwdimpt_2 rwdimpt_3 (IF (EQ txtopts "Fixed") (IF (AND fixedtxt (/= fixedtxt "")) fixedtxt "10' MIN.\PSEP." ) ;_ end of IF (STRCAT (IF (EQ (REM (ATOF (RTOS (DISTANCE rwdimpt_1 rwdimpt_2) 2 1)) 0.5) 0.0) (RTOS (DISTANCE rwdimpt_1 rwdimpt_2) 2 1) (RTOS (DISTANCE rwdimpt_1 rwdimpt_2) 2 0) ) ;_ end of IF ; (RTOS (DISTANCE rwdimpt_1 rwdimpt_2) 2 0) (IF (EQ txtopts "PIpe") "'" (IF (EQ txtopts "Min") "' MIN." "' TEMPORARY\nCONSTRUCTION\nEASEMENT" ) ) ;_ end of IF ) ;_ end of STRCAT ) ;_ end of IF ) ;_ end of COMMAND (COMMAND nil nil) (COMMAND ".UCS" "W") (C:TSNAP) ) ;_ end of PROGN ) ;_ end of IF (IF (OR (EQ txtopts "Tce") ; (EQ txtopts "PIpe") (EQ txtopts "Min") (EQ txtopts "Fixed") (EQ txtopts "PE") ) ;_ end of OR NIL (PROGN (COMMAND ".UCS" "W") (C:TSNAP) (IF ureal NIL (LOAD "ureal" "\nFile UREAL.LSP not loaded! ") ) ;_ end of IF (SETVAR "osmode" 512) (IF upoint NIL (LOAD "upoint" "\nFile UPOINT.LSP not loaded! ") ) ;_ end of IF (SETQ podimpt_1 (upoint 1 "" "First Pipe Offset Dimension Point" nil nil ) ;_ end of upoint ) ;_ end of SETQ (COMMAND ".UCS" "V" ) ;_ end of COMMAND (SETQ podimpt_1 (TRANS (LIST (CAR podimpt_1) (CADR podimpt_1) 0.0) 0 1 ) ;_ end of TRANS ) ;_ end of SETQ (SETVAR "osmode" 128) (SETQ podimpt_2 (upoint 1 "" "Second Pipe Offset Dimension Point" nil podimpt_1 ) ;_ end of upoint ) ;_ end of SETQ (SETQ podimpt_2 (LIST (CAR podimpt_2) (CADR podimpt_2) 0.0)) (SETQ podimpt_3 (POLAR podimpt_1 (ANGLE podimpt_1 podimpt_2) (/ (DISTANCE podimpt_1 podimpt_2) 2.0) ) ;_ end of POLAR ) ;_ end of SETQ (SETQ pipe_offset (DISTANCE podimpt_1 podimpt_2)) (IF (EQ (REM (ATOF (RTOS pipe_offset 2 1)) 0.5) 0.0) (SETQ offset_str (RTOS pipe_offset 2 1)) (SETQ offset_str (RTOS pipe_offset 2 0)) ) ;_ end of IF (SETVAR "osmode" 0) (COMMAND ".DIM" "ALI" podimpt_1 podimpt_2 podimpt_3 (STRCAT offset_str "'" (IF (AND (WCMATCH txtopts "Row+p,Stacked-row+p") (NOT (WCMATCH (GETVAR "dwgprefix") "*HA9701*")) ) ;_ end of AND " MIN." "" ) ;_ end of IF ) ;_ end of STRCAT ) ;_ end of COMMAND (COMMAND nil nil) ) ;_ end of PROGN ) ;_ end of IF (COMMAND ".UCS" "W") (C:TSNAP) (c:rslayr) (IF old_dimucsosmode (SETVAR "OSMODE" old_dimucsosmode) ) ;_ end of IF (IF old_dimucscmdecho (SETVAR "CMDECHO" old_dimucscmdecho) ) ;_ end of IF (IF orig_dimucs_error (SETQ *error* orig_dimucs_error) ) ;_ end of IF (PRINC) ) ;_ end of DEFUN ;|«Visual LISP© Format Options» (72 2 40 2 T "end of " 60 9 2 0 0 nil T nil T) ;*** DO NOT add text below the comment! ***|;