(DEFUN c:gpdgn (/ abort_new_aln) ;;; (SETQ orig_error *error* ;;; *error* gpdgn_error) (IF (AND align_lst aln_name) (PROGN (SETQ aname_cnt 1) (SETQ sub_aname (SUBSTR aln_name (- (STRLEN aln_name) 3))) (WHILE (AND (NOT (EQUAL (TYPE (READ (SUBSTR sub_aname aname_cnt 1))) 'INT)) (<= aname_cnt (STRLEN sub_aname)) ) ;_ end of AND (SETQ aname_cnt (1+ aname_cnt)) ) ;_ end of WHILE (SET (READ (STRCAT "ALN_" (SUBSTR sub_aname aname_cnt))) (LIST aln_name align_lst)) ) ;_ end of PROGN ) ;_ end of IF (IF (AND alnfil oldaln_lst align_lst (NOT (EQUAL oldaln_lst align_lst))(NOT (EQUAL bkaln_lst align_lst))) (PROGN (SETQ bakfil (OPEN (STRCAT (SUBSTR alnfil 1 (-(STRLEN alnfil)4))".bka") "a")) (IF bakfil (PROGN (WRITE-LINE (STRCAT "\n" aln_name) bakfil) (WRITE-LINE (STRCAT(RTOS(GETVAR "CDATE")2 16)"") bakfil) (SAVESETS) (IF m_units (PRINC (STRCAT (CHR 40) "\"METRIC:" aln_name "\"" xprt_str) bakfil) (PRINC (STRCAT (CHR 40) "\"ENGLISH:" aln_name "\"" xprt_str) bakfil) ) ;_ end of IF (SETQ oldaln_lst align_lst old_units (IF m_units "Metric" "English" ) ;_ end of IF ) ;_ end of SETQ (PRINC (CHR 40) bakfil) (FOREACH n align_lst (PRINC (STRCAT (CHR 40) "\"" (stringtst (NTH 0 n)) "\"" " " (RTOS (NTH 1 n) 2 4) " " (RTOS (NTH 2 n) 2 4) " " (RTOS (NTH 3 n) 2 2) " " (RTOS (NTH 4 n) 2 4) " " (RTOS (NTH 5 n) 2 3) " " (ITOA (NTH 6 n)) " " (RTOS (NTH 7 n) 2 4) " " (ITOA (NTH 8 n)) " " (STRCAT (CHR 40) (RTOS (CAR (NTH 9 n)) 2 8) " " (RTOS (CADR (NTH 9 n)) 2 8) " " (RTOS (CADDR (NTH 9 n)) 2 8) (CHR 41) ) ;_ end of STRCAT (IF (NTH 10 n) (RTOS (NTH 10 n) 2 2) "nil" ) ;_ end of IF " " (IF (NTH 11 n) (RTOS (NTH 11 n) 2 8) 0 ) ;_ end of IF (CHR 41) ) ;_ end of STRCAT bakfil ) ;_ end of WRITE-LINE ) ;_ end of FOREACH (PRINC (STRCAT(CHR 41)(CHR 41)) bakfil) (IF (CLOSE bakfil) nil (SETQ bakfil nil) ) ;_ end of IF (SETQ bkaln_lst align_lst) ) (PRINC "\nUnable to backup current edits! ") ) ) ) (IF (OR (EQ (SUBSTR (GETVAR "dwgprefix") 3 6) "\\1363\\") (EQ (SUBSTR (GETVAR "dwgprefix") 3 7) "\\10302\\") ) ;_ end of OR (setq do_cmud T do_char nil ) ;_ end of SETQ (setq do_char nil do_cmud nil ) ;_ end of SETQ ) ;_ end of IF (IF dimscl NIL (LOAD "dimscl" "\nFile DIMSCL.LSP not loaded! ")) (IF dimsc NIL (dimscl)) (style_color) (IF (AND do_cmud (WCMATCH (STRCASE (GETVAR "dwgprefix")) "*28386-1*")) (SETQ mlsta_incr 550) (IF mlsta_incr NIL (SETQ mlsta_incr 1400) ) ) (SETQ slope_prec 4) (SETQ halt_cmd NIL) (IF dimscl nil (LOAD "dimscl" "\nFile DIMSCL.LSP not found!") ) ;_ end of IF (dimscl) (IF ureal nil (LOAD "uutils" "\nFile UUTILS.LSP not found!") ) ;_ end of IF (IF stait nil (LOAD "stait" "\nFile STAIT.LSP not found!") ) ;_ end of IF (IF mjrg nil (SETQ mjrg "C") ) ;_ end of IF (IF llt nil (SETQ llt "-") ) ;_ end of IF (IF prod nil (SETQ prod "SEWR") ) ;_ end of IF (IF colr nil (SETQ colr "1") ) ;_ end of IF (IF do_all nil (SETQ do_all "1") ) ;_ end of IF (SETVAR "cmdecho" 0) (SETQ oldregenmode (GETVAR "regenmode")) (SETVAR "regenmode" 0) (SETQ oldosmode (GETVAR "osmode")) (SETQ quit_main nil open_main nil new_main nil ok_xing nil ) ;_ end of SETQ (SETVAR "osmode" 0) (IF v_scale (SETQ v_fact v_scale) (COND ((WCMATCH (GETVAR "dwgprefix") "*\\1363\\28396*") (SETQ v_scale 5 v_fact 5 )) (T (SETQ v_scale 10 v_fact 10 )) ) ) ;_ end of IF (IF m_units (PROGN (IF el_prec nil (SETQ el_prec 3) ) ;_ end of IF (IF sta_prec nil (SETQ sta_prec 3) ) ;_ end of IF (IF rim_prec nil (SETQ rim_prec 2) ) ;_ end of IF (IF vent_prec nil (SETQ vent_prec 2) ) (IF el_dprec nil (SETQ el_dprec 4) ) ;_ end of IF (IF sta_dprec nil (SETQ sta_dprec 4) ) ;_ end of IF (IF rim_dprec nil (SETQ rim_dprec 4) ) ;_ end of IF (IF vent_dprec nil (SETQ vent_dprec 3) ) ) ;_ end of PROGN (PROGN (IF el_prec nil (SETQ el_prec 2) ) ;_ end of IF (IF sta_prec nil (SETQ sta_prec 2) ) ;_ end of IF (IF rim_prec nil (SETQ rim_prec 1) ) ;_ end of IF (IF vent_prec nil (SETQ vent_prec 1) ) (IF el_dprec nil (SETQ el_dprec 4) ) ;_ end of IF (IF sta_dprec nil (SETQ sta_dprec 4) ) ;_ end of IF (IF rim_dprec nil (SETQ rim_dprec 4) ) ;_ end of IF (IF vent_dprec nil (SETQ vent_dprec 2) ) ) ;_ end of PROGN ) ;_ end of IF (COND (gpdgn_chktime (IF (AND oldaln_lst align_lst (NOT (EQUAL oldaln_lst align_lst))(>=(- (GETVAR "CDATE")gpdgn_chktime) 0.003)) (save_time) ) ) (gpdgn_savtime (IF (AND oldaln_lst align_lst (NOT (EQUAL oldaln_lst align_lst))(>=(- (GETVAR "CDATE")gpdgn_savtime) 0.003)) (save_time) ) ) (gpdgn_opntime (IF (AND oldaln_lst align_lst (NOT (EQUAL oldaln_lst align_lst))(>=(- (GETVAR "CDATE")gpdgn_opntime) 0.003)) (save_time) ) ) ) (SETQ c_lunits (GETVAR "lunits")) (SETVAR "lunits" 2) (SETQ c_luprec (GETVAR "luprec")) (SETVAR "luprec" 4) (SETQ gpdgn_dlg# (LOAD_DIALOG "gpdgn")) (SETQ newdlg_gpdgn (NEW_DIALOG "gpdgn" gpdgn_dlg# (IF defact_gpdgn defact_gpdgn "" ) ;_ end of IF (IF gpdgn_loc gpdgn_loc '(-1 -1) ) ;_ end of IF ) ;_ end of NEW_DIALOG ) ;_ end of SETQ (disable_mode) (IF spec_sta (PROGN (SET_TILE "mh_to_do" (RTOS spec_sta 2 2)) (SETQ spec_sta NIL) ) ) (IF show_vsf (SET_TILE "show_vsf" "1") ) ;_ end of IF (IF (AND aln_name align_lst) (PROGN (SET_TILE "error" "Initializing... Please wait.") (SET_TILE "align_name" aln_name) (SET_TILE "begin_sta" (STRCAT "Begin Sta " (stait (NTH 1 (NTH 0 align_lst)) sta_prec))) (SET_TILE "end_sta" (STRCAT "End Sta " (stait (NTH 1 (NTH (- (LENGTH align_lst) 1) align_lst)) sta_prec)) ) ;_ end of SET_TILE ) ;_ end of PROGN ) ;_ end of IF (IF errmsg (SET_TILE "error" errmsg) (SET_TILE "error" "") ) ;_ end of IF (IF (OR do_cl_slope do_char (EQ scalc_mode "C") (NOT scalc_mode)) (PROGN (SET_TILE "scalc_mode" "On centers") (SET_TILE "cl_calc_rad" "cl_calc_ctr") (SETQ scalc_mode "C" do_cl_slope T ) ;_ end of SETQ ) ;_ end of PROGN (PROGN (SET_TILE "scalc_mode" "On ID faces") (SET_TILE "cl_calc_rad" "cl_calc_dia") (SETQ scalc_mode "F" do_cl_slope nil ) ;_ end of SETQ ) ;_ end of PROGN ) ;_ end of IF ;;; ;;;THIS IS THE "Swap..." BUTTON!!! (ACTION_TILE "swap_aln" "(updlst)(mhdata)(swpaln)(mhdata)") (ACTION_TILE "split_aln" "(if(and(read(get_tile\"mh_to_do\"))align_lst)(progn(updlst)(mhdata)(SETQ mh_ndx(1-(read(get_tile\"mh_to_do\")))which\"(split_aln)\")(SETQ gpdgn_loc(done_dialog)))(do_split_err))") (ACTION_TILE "align_name" "") (ACTION_TILE "begin_sta" "") (ACTION_TILE "add_mhl" "(clr_err)(ask_really \"Add a beginning Point\")") (ACTION_TILE "insert_mh" "(clr_err)(ask_really \"Insert a Point here\")") (ACTION_TILE "add_mhr" "(clr_err)(ask_really \"Add an ending Point\")") (ACTION_TILE "end_sta" "") (ACTION_TILE "cur_mh_ndx" "") (ACTION_TILE "left_end" "(clr_err)(if align_lst(progn(updlst)(SETQ mh_ndx 0)(mhdata)))") (ACTION_TILE "advan_left" "(clr_err)(if align_lst(progn(updlst)(ndxlt)))") ;;; ;;;THIS IS THE "GoTo" BUTTON!!! (ACTION_TILE "goto_mh" "(clr_err)(if align_lst(progn(getmh)(if(eq(type(get_tile\"mh_to_do\"))'INT)(set_tile\"mh_to_do\"\"\"))))" ) ;_ end of ACTION_TILE ;;; ;;;THIS IS THE "View" BUTTON!!! (ACTION_TILE "view_mh" "(clr_err)(if(and(read(get_tile\"mh_to_do\"))align_lst)(progn(updlst)(getmh)(set_tile\"mh_to_do\"\"\")(SETQ which\"(viewmh)\")(SETQ gpdgn_loc(done_dialog)))(set_tile\"mh_to_do\"\"\"))" ) ;_ end of ACTION_TILE ;;; ;;;THIS IS THE "Find" BUTTON!!! (ACTION_TILE "find_mh" "(clr_err)(SETQ srchstr(get_tile\"mh_to_do\"))(updlst)(findmh)") ;;; ;;;THIS IS THE "Move" BUTTON!!! (ACTION_TILE "move_mh" "(clr_err)(if(and(/=(SETQ mv_ndx (get_tile\"mh_to_do\")))(eq(type(read mv_ndx))'INT))(ask_really \"Move a Point\"))" ) ;_ end of ACTION_TILE ;;; ;;;THIS IS THE "Label" BUTTON!!! (ACTION_TILE "mh_label" "(clr_err)(if align_lst(progn(updlst)(label_dlg)(if(and do_label(eq which \"(mhlbl)\"))(SETQ gpdgn_loc(done_dialog)))))" ; ) ;_ end of ACTION_TILE ;;; ;;;THIS IS THE "Table" BUTTON!!! (ACTION_TILE "mh_table" "(clr_err)(if align_lst(progn(updlst)(SETQ which\"(mhtbl)\")(SETQ gpdgn_loc (done_dialog 2))))" ) ;_ end of ACTION_TILE (ACTION_TILE "delete_mh" "(clr_err)(if(and(/=(SETQ do_ndx (get_tile\"mh_to_do\")))(eq(type(read do_ndx))'INT))(ask_really \"Delete a Point\"))" ) ;_ end of ACTION_TILE (ACTION_TILE "mh_to_do" "") (ACTION_TILE "advan_right" "(clr_err)(if align_lst(progn(updlst)(ndxrt)))") (ACTION_TILE "right_end" "(clr_err)(if align_lst(progn(updlst)(SETQ mh_ndx (-(length align_lst)2))(mhdata)))" ) ;_ end of ACTION_TILE (ACTION_TILE "next_mh_ndx" "") (ACTION_TILE "cur_mh_no" "(nullf \"mhid\" 0)") (ACTION_TILE "cur_mh_sta" "(nullf \"sta\" 0)") (ACTION_TILE "cur_rim_el" "(updlst)(mhdata)") (ACTION_TILE "cur_inv_el" "(calc_inv)(updlst)(mhdata)") (ACTION_TILE "cur_drop_el" "(nullf \"mhdrop\" 1)") (ACTION_TILE "cur_mh_dia" "(updlst)(mhdata)") (ACTION_TILE "mh_image" "(mhimage)") (ACTION_TILE "next_mh_no" "(nullf \"mhid\" 1)") (ACTION_TILE "next_mh_sta" "(nullf \"sta\" 1)") (ACTION_TILE "next_rim_el" "(updlst)(mhdata)") (ACTION_TILE "next_inv_el" "(calc_inv)(updlst)(mhdata)") (ACTION_TILE "next_drop_el" "(nullf \"mhdrop\" 1)") (ACTION_TILE "next_mh_dia" "(updlst)(mhdata)") (ACTION_TILE "cur_mh_type" "(updlst)(mhdata)") (ACTION_TILE "pipe_dia" "(nullf \"pdia\" 0)") (ACTION_TILE "pipe_matl" "(nullf \"pmat\" 0)") (ACTION_TILE "cl_calc_rad" "(set_cl_calc_main)(mhdata)") (ACTION_TILE "pipe_slope" "(calc_inv)") (ACTION_TILE "next_mh_type" "(updlst)(mhdata)") ;;; ;;;THIS IS THE "Global Edits..." BUTTON!!! (ACTION_TILE "adjusts" "(clr_err)(if align_lst(adjust_dlg))") (ACTION_TILE "dgn_units" "(clr_err)(set_units)") ;;; ;;;THIS IS THE "START..." BUTTON!!! (ACTION_TILE "new_align" "(clr_err)(updlst)(SETQ new_main T skip_qry nil)(dbl_gate)(if halt_cmd nil (by_a_name))" ) ;_ end of ACTION_TILE ;;; ;;;THIS IS THE "SAVE..." BUTTON!!! (ACTION_TILE "save_align" ;;; "(clr_err)(if align_lst(progn(updlst)(SETQ which \"(save_aln)\")(SETQ gpdgn_loc(done_dialog))))" "(clr_err)(if align_lst(progn(updlst)(save_aln)))" ) ;_ end of ACTION_TILE ;;; ;;;THIS IS THE "Draw..." BUTTON!!! (ACTION_TILE "draw_prof" "(clr_err)(if align_lst(progn(updlst)(draw_dlg)(if(and do_draw(not which))(SETQ gpdgn_loc(done_dialog)))))" ;;; "(clr_err)(if align_lst(progn(updlst)(draw_dlg)))" ;(SETQ gpdgn_loc (done_dialog 2)) ) ;_ end of ACTION_TILE ;;; ;;;THIS IS THE "Quit" BUTTON!!! (ACTION_TILE "quit_align" "(clr_err)(SETQ quit_main T)(updlst)(dbl_gate)(if halt_cmd nil(SETQ gpdgn_loc(done_dialog 2)))" ) ;_ end of ACTION_TILE ;;; ;;;THIS IS THE "Close" BUTTON!!! (ACTION_TILE "close_align" "(clr_err)(SETQ quit_main T do_draw nil whalign nil which nil errmsg nil)(updlst)(SETQ gpdgn_loc(done_dialog 2))" ) ;_ end of ACTION_TILE ;;; ;;;THIS IS THE "Help..." BUTTON!!! (ACTION_TILE "help_align" "(help \"gpdgn.hlp\" \"REQUIRED_FOR\")") (ACTION_TILE "show_vsf" "(if(eq(get_tile\"show_vsf\")\"0\")(SETQ show_vsf nil)(SETQ show_vsf T))(mhimage)" ) ;_ end of ACTION_TILE (mhdata) (PROGN (START_LIST "cur_mh_type") (ADD_LIST "Vented Cover") (ADD_LIST "WaterTight") (ADD_LIST "Vented MH") (ADD_LIST "N/A") (END_LIST) (START_LIST "next_mh_type") (ADD_LIST "Vented Cover") (ADD_LIST "WaterTight") (ADD_LIST "Vented MH") (ADD_LIST "N/A") (END_LIST) ) ;_ end of PROGN (IF align_lst (PROGN (MODE_TILE "swap_aln" 0) (MODE_TILE "split_aln" 0) (MODE_TILE "align_name" 0) (MODE_TILE "seq_text" 0) (MODE_TILE "defl_text" 0) (MODE_TILE "bend_text" 0) (MODE_TILE "just_sta_text" 0) (MODE_TILE "just_inv_text" 0) (MODE_TILE "just_in_text" 0) (MODE_TILE "just_depth_text" 0) (MODE_TILE "begin_sta" 0) (MODE_TILE "add_mhl" 0) (MODE_TILE "insert_mh" 0) (MODE_TILE "add_mhr" 0) (MODE_TILE "end_sta" 0) (MODE_TILE "cur_mh_ndx" 0) (MODE_TILE "left_end" 0) (MODE_TILE "advan_left" 0) (MODE_TILE "goto_mh" 0) (MODE_TILE "view_mh" 0) (MODE_TILE "find_mh" 0) (MODE_TILE "move_mh" 0) (MODE_TILE "mh_label" 0) (MODE_TILE "mh_table" 0) (MODE_TILE "delete_mh" 0) (MODE_TILE "mh_to_do" 0) (MODE_TILE "advan_right" 0) (MODE_TILE "right_end" 0) (MODE_TILE "next_mh_ndx" 0) (MODE_TILE "cur_mh_no" 0) (MODE_TILE "cur_mh_sta" 0) (MODE_TILE "cur_rim_el" 0) (MODE_TILE "cur_inv_el" 0) (MODE_TILE "cur_drop_el" 0) (MODE_TILE "cur_mh_dia" 0) (MODE_TILE "cur_vent_el" (IF (EQ top_1 2) 0 1 ) ;_ end of IF ) ;_ end of MODE_TILE (MODE_TILE "mh_image" 0) (MODE_TILE "next_mh_no" 0) (MODE_TILE "next_mh_sta" 0) (MODE_TILE "next_rim_el" 0) (MODE_TILE "next_inv_el" 0) (MODE_TILE "next_drop_el" 0) (MODE_TILE "next_mh_dia" 0) (MODE_TILE "next_vent_el" (IF (EQ top_2 2) 0 1 ) ;_ end of IF ) ;_ end of MODE_TILE (MODE_TILE "cur_mh_type" 0) (MODE_TILE "nor_text" 0) (MODE_TILE "eas_text" 0) (MODE_TILE "cur_mh_nor" 0) (MODE_TILE "cur_mh_eas" 0) (MODE_TILE "pipe_dia" 0) (MODE_TILE "pipe_matl" 0) (MODE_TILE "pipe_slope" 0) (MODE_TILE "next_mh_type" 0) (MODE_TILE "next_mh_nor" 0) (MODE_TILE "next_mh_eas" 0) (MODE_TILE "adjusts" 0) (MODE_TILE "dgn_units" 0) (MODE_TILE "new_align" 0) (MODE_TILE "save_align" 0) (MODE_TILE "draw_prof" 0) (MODE_TILE "quit_align" 0) ; (MODE_TILE "help_align" 0) (MODE_TILE "show_vsf" 0) (IF nxtfocus (MODE_TILE nxtfocus 2) (MODE_TILE "mh_to_do" 2) ) (MODE_TILE "cur_vang" 0) (MODE_TILE "cur_mh_defl" 0) (MODE_TILE "next_mh_defl" 0) (MODE_TILE "nxt_vang" 0) (MODE_TILE "cur_inv_in" 0) (MODE_TILE "next_inv_in" 0) (MODE_TILE "right_cover" 0) (MODE_TILE "left_cover" 0) (MODE_TILE "len_units" 0) (MODE_TILE "pipe_units" 0) (MODE_TILE "scalc_mode" 0) (MODE_TILE "lf_reach" 0) (MODE_TILE "dist_method" 0) (MODE_TILE "cl_calc_rad" 0) ) ;_ end of PROGN (PROGN (SET_TILE "error" "Start... opens new or existing alignments.") (MODE_TILE "new_align" 0)) ) ;_ end of IF (if (eq defact_gpdgn "(setq mh_ndx(+ mh_ndx 1)nxtfocus\"mh_to_do\")") (set_tile"mh_to_do"(itoa(+ mh_ndx 2))) ) (COND (newdlg_gpdgn (IF nxtfocus (MODE_TILE nxtfocus 2) (MODE_TILE "mh_to_do" 2) ) (START_DIALOG) (UNLOAD_DIALOG gpdgn_dlg#) (SETQ gpdgn_dlg# NIL) (SETQ nxtfocus NIL) (SETQ newdlg_gpdgn NIL) (COND ((EQ which "(open_aln)") (SETQ which nil defact_gpdgn nil) (open_aln)) ((EQ which "(set_rim)") (SETQ which nil set_rim_only T defact_gpdgn nil ) ;_ end of SETQ (set_rim) (SETQ set_rim_only nil) (c:gpdgn) ) ((EQ which "(viewmh)") (SETQ which nil); nxtfocus "cur_mh_no" (SETQ defact_gpdgn "(setq mh_ndx(+ mh_ndx 1)nxtfocus\"mh_to_do\")" ) (viewmh) (c:gpdgn) (eval(read defact_gpdgn)) ) ((EQ which "(save_aln)") (SETQ which nil defact_gpdgn nil) (save_aln) (c:gpdgn)) ((EQ which "(h_align)") (SETQ which nil defact_gpdgn nil) (h_align) (SETQ finish_new_aln T) (new_aln) (SETQ finish_new_aln NIL) (IF contour_grade (xngrde) ) ;_ end of IF (c:dupfix) (c:gpdgn) ) (which (EVAL (READ which)) (SETQ which nil defact_gpdgn nil) (c:gpdgn)) (do_draw (COND ((AND (EQ whalign "vert") lblprfsset)(drawprf)) ((EQ whalign "horiz") (drwhoriz)) ) ;_ end of COND (SETQ defact_gpdgn nil) (c:gpdgn) ) ) ;_ end of COND (SETVAR "lunits" c_lunits) (SETVAR "luprec" c_luprec) (SETVAR "regenmode" oldregenmode) ) (T (PRINC "\nERROR! Unable to start dialog. ") (SETQ *error* orig_error)) ) ;_ end of COND (PRINC) ) ;_ end of DEFUN