;;;Dialog - Save and Restore views by name. Preserves layer settings and view area as EED. (uses SVIEW.DCL) ;;; ;;; Requires: TSNAP.LSP ;;; ;;; ;;; ;;;******************************************************************** (DEFUN c:sview (/ rview sview eview del_key offlst onlst frzlst thwlst lcklst ulklst) (SETQ old_cmdecho (GETVAR "cmdecho")) (SETQ old_expert (GETVAR "expert")) ;;; (SETQ old_auprec (GETVAR "auprec")) ;;; (SETQ old_luprec (GETVAR "luprec")) (SETVAR "cmdecho" 0) (SETVAR "expert" 5) (SETVAR "auprec" 8) (SETVAR "luprec" 8) (SETQ view_name nil) (SETQ num (LOAD_DIALOG "sview")) (NEW_DIALOG "sview" num (IF defact_sview defact_sview "" ) ;_ end of IF (IF sview_loc sview_loc '(-1 -1) ) ;_ end of IF ) (IF sel_view_ndx (MODE_TILE "saved_views" 2) (MODE_TILE "view_name" 2) ) ;;; (MODE_TILE "Edit_name" 1) ;;; (MODE_TILE "Delete_name" 1) (ACTION_TILE "saved_views" "(setq sel_view_ndx (get_tile\"saved_views\"))" ) ;_ end of ACTION_TILE ;;; (ACTION_TILE "view_name" "(mode_tile \"Save_name\" 2)") (ACTION_TILE "view_desc" "") (ACTION_TILE "Save_name" "(setq sview (get_tile \"view_name\"))(setq sview_loc (done_dialog))" ) ;_ end of ACTION_TILE (ACTION_TILE "Update_name" "(setq uview (get_tile\"saved_views\"))(setq sview_loc (done_dialog))" ) ;_ end of ACTION_TILE (ACTION_TILE "Restore_name" "(setq rview (get_tile \"saved_views\"))(setq sview_loc (done_dialog))" ) ;_ end of ACTION_TILE (ACTION_TILE "Export_name" "(setq xview (get_tile \"saved_views\"))(setq sview_loc (done_dialog))" ) ;_ end of ACTION_TILE (ACTION_TILE "Import_name" "(setq iview T)(setq sview_loc (done_dialog))" ) ;_ end of ACTION_TILE ;;; (ACTION_TILE ;;; "Edit_name" ;;; "(setq eview (get_tile\"saved_views\"))(done_dialog)" ;;; ) ;_ end of ACTION_TILE (ACTION_TILE "Delete_name" "(setq del_key (get_tile\"saved_views\"))(setq sview_loc (done_dialog))" ) ;_ end of ACTION_TILE (ACTION_TILE "Add_cancel" "(setq sview_loc (done_dialog 0))") (set_sview_list) (START_LIST "saved_views") (MAPCAR 'ADD_LIST sview_list) (END_LIST) (IF (AND sel_view_ndx (< (ATOI sel_view_ndx) (LENGTH sview_list)) ) ;_ end of AND (SET_TILE "saved_views" sel_view_ndx) ) ;_ end of IF (START_DIALOG) (IF (AND uview (/= uview "")) (PROGN (SETQ sview (NTH (ATOI uview) sview_list)) (SETQ del_key uview) (delete_svname) (SETQ uview NIL) ) (SETQ uview NIL) ) ;;; (PRINC "\nsview=") ;;; (princ sview) ;;; (princ "\t") ;;; (princ (TYPE sview)) ;;; (PRINC "\nuview=") ;;; (princ uview) ;;; (princ "\t") ;;; (princ (TYPE uview)) ;;; (princ) (COND ((AND rview (/= rview "")) ;_ end of AND (restore_view) ) ((AND sview (/= sview "")) (save_view)) ((AND eview (/= eview "")) (edit_view)) ((AND del_key (/= del_key "")) (delete_svname)) ((AND xview (/= xview "")) (export_view xview)) (iview (import_view)) ) ;_ end of COND (SETVAR "cmdecho" old_cmdecho) (SETVAR "expert" old_expert) ;;; (SETVAR "auprec" old_auprec) ;;; (SETVAR "luprec" old_luprec) (UNLOAD_DIALOG num) (PRINC) ) ;_ end of DEFUN (DEFUN set_sview_list (/) (SETQ sview_list nil) (IF (SETQ svw_ss (SSGET "x" (LIST (CONS 0 "INSERT") (CONS 2 "VIEW_*")) ;_ end of LIST ) ;_ end of SSGET ) ;_ end of SETQ (PROGN (SETQ count 0) (PRINC "\nReading Saved Views, please wait...") (WHILE (SETQ svw_ename (SSNAME svw_ss count)) (SETQ vname_str (CDR (ASSOC 2 (ENTGET svw_ename)))) (SETQ eed_list (MEMBER "SAVED_VIEWS" (CADR (ASSOC -3 (ENTGET svw_ename (LIST "SAVED_VIEWS")))) ) ;_ end of MEMBER ) ;_ end of SETQ (IF eed_list (PROGN (SETQ vdesc_str (CDR (NTH 1 eed_list))) (PRINC ".") (IF sview_list (SETQ sview_list (APPEND sview_list (LIST (STRCAT (SUBSTR vname_str 6) "\t-\t" vdesc_str) ) ;_ end of LIST ) ;_ end of APPEND ) ;_ end of SETQ (SETQ sview_list (LIST (STRCAT (SUBSTR vname_str 6) "\t-\t" vdesc_str)) ) ;_ end of SETQ ) ;_ end of IF ) ;_ end of PROGN ) ;_ end of IF (SETQ count (1+ count)) ) ;_ end of WHILE (PRINC "\nDone!") (SETQ sview_list (ACAD_STRLSORT sview_list)) ) ;_ end of PROGN (SETQ sview_list nil) ) ;_ end of IF ) ;_ end of DEFUN (DEFUN save_view (/) (SETQ collt_lst nil) (PRINC "\nSaving view settings, please wait...") (SETQ onlst nil offlst nil thwlst nil frzlst nil lcklst nil ulklst nil vpfrz_llst nil on_list nil off_list nil thw_list nil frz_list nil lck_list nil ulk_list nil ) ;_ end of SETQ (IF (= (GETVAR "tilemode") 1) (PROGN (SETVAR "TILEMODE" 0) (SETVAR "TILEMODE" 1)) ) ;_ end of IF (SETQ tln (TBLNEXT "LAYER" "T")) (WHILE tln (IF (< (CDR (ASSOC 62 tln)) 0) ; IF it is OFF (SETQ offlst (APPEND (LIST (CDR (ASSOC 2 tln))) offlst)) (SETQ onlst (APPEND (LIST (CDR (ASSOC 2 tln))) onlst)) ) ;_ end of IF (IF (= (BOOLE 1 1 (CDR (ASSOC 70 tln))) 1) ; IF it is FROZEN (SETQ frzlst (APPEND (LIST (CDR (ASSOC 2 tln))) frzlst)) (SETQ thwlst (APPEND (LIST (CDR (ASSOC 2 tln))) thwlst)) ) ;_ end of IF (IF (= (BOOLE 1 4 (CDR (ASSOC 70 tln))) 4) ; IF it is LOCKED (SETQ lcklst (APPEND (LIST (CDR (ASSOC 2 tln))) lcklst)) (SETQ ulklst (APPEND (LIST (CDR (ASSOC 2 tln))) ulklst)) ) ;_ end of IF (SETQ tln (TBLNEXT "LAYER")) (IF collt_lst (SETQ collt_lst (APPEND collt_lst (LIST (LIST (CDR (ASSOC 2 tln)) (CDR (ASSOC 62 tln)) (CDR (ASSOC 6 tln)) ) ;_ end of list ) ;_ end of list ) ;_ end of append ) ;_ end of setq (SETQ collt_lst (LIST (LIST (CDR (ASSOC 2 tln)) (CDR (ASSOC 62 tln)) (CDR (ASSOC 6 tln)) ) ;_ end of list ) ;_ end of list ) ;_ end of setq ) ;_ end of IF ) ;_ end of WHILE (SETQ count 1) (WHILE (NOT (OR (EQ (SUBSTR sview count 1) " ") (EQ (SUBSTR sview count 1) "\t") (> count (STRLEN sview)) ) ;_ end of OR ) ;_ end of NOT (SETQ count (1+ count)) ) ;_ end of WHILE (SETQ vname (STRCASE (SUBSTR sview 1 (1- count)))) (WHILE (OR (EQ (SUBSTR sview count 1) "-") (EQ (SUBSTR sview count 1) "\t") (EQ (SUBSTR sview count 1) " ") ) ;_ end of OR (SETQ count (1+ count)) ) ;_ end of WHILE (SETQ vdesc (SUBSTR sview count)) (SETQ on_list (LIST (CONS 1002 "{"))) (FOREACH n onlst (SETQ on_list (APPEND on_list (LIST (CONS 1003 n)))) ) ;_ end of FOREACH (SETQ on_list (APPEND on_list (LIST (CONS 1002 "}")))) (SETQ off_list (LIST (CONS 1002 "{"))) (FOREACH n offlst (SETQ off_list (APPEND off_list (LIST (CONS 1003 n)))) ) ;_ end of FOREACH (SETQ off_list (APPEND off_list (LIST (CONS 1002 "}")))) (SETQ thw_list (LIST (CONS 1002 "{"))) (FOREACH n thwlst (SETQ thw_list (APPEND thw_list (LIST (CONS 1003 n)))) ) ;_ end of FOREACH (SETQ thw_list (APPEND thw_list (LIST (CONS 1002 "}")))) (SETQ frz_list (LIST (CONS 1002 "{"))) (FOREACH n frzlst (SETQ frz_list (APPEND frz_list (LIST (CONS 1003 n)))) ) ;_ end of FOREACH (SETQ frz_list (APPEND frz_list (LIST (CONS 1002 "}")))) (SETQ lck_list (LIST (CONS 1002 "{"))) (FOREACH n lcklst (SETQ lck_list (APPEND lck_list (LIST (CONS 1003 n)))) ) ;_ end of FOREACH (SETQ lck_list (APPEND lck_list (LIST (CONS 1002 "}")))) (SETQ ulk_list (LIST (CONS 1002 "{"))) (FOREACH n ulklst (SETQ ulk_list (APPEND ulk_list (LIST (CONS 1003 n)))) ) ;_ end of FOREACH (SETQ ulk_list (APPEND ulk_list (LIST (CONS 1002 "}")))) (SETQ vp_cur (GETVAR "cvport")) (SETQ vpss (SSGET "x" (LIST (CONS 69 vp_cur)))) ;;; (setq it(acad_strlsort (mapcar '(lambda (x) (cdr x)) (cdr(reverse(cdr on_list)))))) (IF vpss (PROGN (SETQ vpss_len (SSLENGTH vpss)) (SETQ vp_ent (ENTGET (SSNAME vpss 0) (LIST "ACAD"))) (SETQ acad_eed (MEMBER "ACAD" (CADR (ASSOC -3 vp_ent)))) (SETQ vp_list (REVERSE (CDR (REVERSE (SUBST "SAVED_VIEWS" "ACAD" acad_eed) ;_ end of SUBST ) ;_ end of REVERSE ) ;_ end of CDR ) ;_ end of SUBST ) ;_ end of SETQ (SETQ vp_list (SUBST (CONS 1000 vdesc) (CONS 1000 "MVIEW") vp_list)) (SETQ vp_list (APPEND (LIST (NTH 0 vp_list) (NTH 1 vp_list) (NTH 2 vp_list) (NTH 3 vp_list) (NTH 4 vp_list) (NTH 5 vp_list) (NTH 6 vp_list) (NTH 7 vp_list) (CONS 1040 (CAR (GETVAR "viewctr"))) (CONS 1040 (CADR (GETVAR "viewctr"))) (NTH 10 vp_list) (NTH 11 vp_list) (NTH 12 vp_list)) (MEMBER (ASSOC 1070 (cdr(cdddr vp_list)))vp_list) )) ) ;_ end of PROGN (SETQ vp_lst (LIST "SAVED_VIEWS" (CONS 1000 vdesc) (CONS 1002 "{") (CONS 1070 16) (CONS 1010 (GETVAR "target")) (CONS 1010 (GETVAR "viewdir")) (CONS 1040 (GETVAR "viewtwist")) (CONS 1040 (GETVAR "viewsize")) (CONS 1040 (CAR (GETVAR "viewctr"))) (CONS 1040 (CADR (GETVAR "viewctr"))) (CONS 1040 (GETVAR "lenslength")) (CONS 1040 (GETVAR "frontz")) (CONS 1040 (GETVAR "backz")) (CONS 1070 (GETVAR "viewmode")) (CONS 1070 100) (CONS 1070 1) (CONS 1070 (GETVAR "ucsicon")) (CONS 1070 (GETVAR "snapmode")) (CONS 1070 (GETVAR "gridmode")) (CONS 1070 (GETVAR "snapstyl")) (CONS 1070 (GETVAR "snapisopair")) (CONS 1040 (GETVAR "snapang")) (CONS 1040 (CAR (GETVAR "snapbase"))) (CONS 1040 (CADR (GETVAR "snapbase"))) (CONS 1040 (CAR (GETVAR "snapunit"))) (CONS 1040 (CADR (GETVAR "snapunit"))) (CONS 1040 (CAR (GETVAR "gridunit"))) (CONS 1040 (CADR (GETVAR "gridunit"))) (CONS 1002 "{") (CONS 1002 "}") ) ;_ end of LIST vp_list vp_lst ) ;_ end of SETQ ) ;_ end of IF (SETQ vp_list (APPEND vp_list on_list off_list thw_list frz_list lck_list ulk_list (LIST (CONS 1002 "}")) ) ;_ end of APPEND ) ;_ end of SETQ (SETQ ins_elist (APPEND (LIST (CONS 0 "INSERT")) (LIST (CONS 2 (STRCAT "VIEW_" vname))) (LIST (CONS 10 (LIST 0 0 0))) (LIST (LIST -3 vp_list)) ) ;_ end of APPEND ) ;_ end of SETQ (SETQ blk_elist (LIST (CONS 0 "BLOCK") (CONS 2 (STRCAT "VIEW_" vname)) (CONS 10 (LIST 0 0 0)) (CONS 70 0) ) ;_ end of LIST ) ;_ end of SETQ (REGAPP "SAVED_VIEWS") (ENTMAKE blk_elist) (ENTMAKE (LIST (CONS 0 "ENDBLK"))) (ENTMAKE ins_elist) ) ;_ end of DEFUN (DEFUN export_view (sv_optn / ) (SETQ xview NIL) (SETQ view_desc (NTH (ATOI sv_optn) sview_list) count 1 ) ;_ end of SETQ (WHILE (NOT (OR (EQ (SUBSTR view_desc count 1) " ") (EQ (SUBSTR view_desc count 1) "\t") (> count (STRLEN view_desc)) ) ;_ end of OR ) ;_ end of NOT (SETQ count (1+ count)) ) ;_ end of WHILE (SETQ vname (STRCAT "VIEW_" (STRCASE (SUBSTR view_desc 1 (1- count))))) (WHILE (OR (EQ (SUBSTR view_desc count 1) " ") (EQ (SUBSTR view_desc count 1) "-") (EQ (SUBSTR view_desc count 1) "\t") ) ;_ end of OR (SETQ count (1+ count)) ) ;_ end of WHILE (SETQ vdesc (SUBSTR view_desc count)) (SETQ vpss (SSGET "x" (LIST (CONS 2 vname)))) (SETQ vp_ent (ENTGET (SSNAME vpss 0) (LIST "SAVED_VIEWS"))) (SETQ vp_eed (ASSOC -3 vp_ent)) (SETQ svxport_path (STRCAT (getvar"dwgprefix")(SUBSTR(GETVAR"dwgname")1 8) vdesc ".svx")) (SETQ svxport_fn (OPEN svxport_path "w")) (PRIN1 (REVERSE (CDR (MEMBER (NTH 20 vp_ent) (REVERSE vp_ent)))) svxport_fn) (PRINC "\n" svxport_fn) (PRIN1 vp_eed svxport_fn) (CLOSE svxport_fn) (PRINC (STRCAT "\nSaved View " vdesc " exported to " svxport_path)) (princ) ) (DEFUN restore_view (/ rsv_list count vp_alist write_str onlst offlst frxlst thwlst lcklst ulklst on_list off_list thw_list frz_list lck_list ulk_list) (PRINC "\nRetrieving Saved View settings, please wait...") (sel_view rview) (SETQ vp_ent (ENTGET (SSNAME vpss 0) (LIST "SAVED_VIEWS"))) (SETQ vp_eed (CDR (MEMBER "SAVED_VIEWS" (CADR (ASSOC -3 vp_ent))))) (SETQ count 0) (WHILE (/= 1040 (CAR (NTH count vp_eed))) (SETQ count (1+ count)) ) ;_ end of WHILE (SETQ vp_alist nil) (WHILE (= 1040 (CAR (NTH count vp_eed))) (SETQ vp_alist (IF vp_alist (APPEND vp_alist (LIST (CDR (NTH count vp_eed)))) (LIST (CDR (NTH count vp_eed))) ) ;_ end of IF ) ;_ end of SETQ (SETQ count (1+ count)) ) ;_ end of WHILE (SETQ vpfrz_list (CDR (MEMBER (CONS 1002 "{") (CDR (MEMBER (CONS 1002 "{") vp_eed)) ) ;_ end of member ) ;_ end of cdr ) ;_ end of setq (SETQ on_list (CDR (MEMBER (CONS 1002 "{") vpfrz_list))) (SETQ off_list (CDR (MEMBER (CONS 1002 "{") on_list))) (SETQ thw_list (CDR (MEMBER (CONS 1002 "{") off_list))) (SETQ frz_list (CDR (MEMBER (CONS 1002 "{") thw_list))) (SETQ lck_list (CDR (MEMBER (CONS 1002 "{") frz_list))) (SETQ ulk_list (CDR (MEMBER (CONS 1002 "{") lck_list))) (SETQ ulk_len (LENGTH ulk_list)) (SETQ lck_len (- (LENGTH lck_list) ulk_len)) (SETQ frz_len (- (LENGTH frz_list) lck_len)) (SETQ thw_len (- (LENGTH thw_list) frz_len)) (SETQ off_len (- (LENGTH off_list) thw_len)) (SETQ on_len (- (LENGTH on_list) off_len)) (SETQ vpfrz_len (- (LENGTH vpfrz_list) (LENGTH on_list))) (extr_llist "vpfrz") (extr_llist "thw") (extr_llist "frz") (extr_llist "on") (extr_llist "off") (extr_llist "lck") (extr_llist "ulk") (IF (AND rsv_file (EQ (TYPE rsv_file) 'FILE)) (CLOSE rsv_file) ) (SETQ rsv_file (OPEN (STRCAT (GETVAR "dwgprefix") "RSV_TEMP.SCR") "w")) (IF rsv_file (PROGN (IF (AND (EQ (GETVAR "tilemode") 0) vpfrz_llst) ;_ end of AND (PROGN (WRITE-LINE "._vplayer thaw * " rsv_file) (FOREACH n vpfrz_llst (IF write_str (IF (> (STRLEN write_str) 220) (PROGN (WRITE-LINE (STRCAT "freeze " write_str " ") rsv_file) (SETQ write_str n) ) ;_ end of progn (SETQ write_str (STRCAT write_str "," n)) ) ;_ end of if (SETQ write_str n) ) ;_ end of if ) ;_ end of FOREACH (WRITE-LINE (STRCAT "freeze " write_str " ") rsv_file) (WRITE-LINE "" rsv_file) ) ;_ end of PROGN (IF vpfrz_llst (PROGN (SETQ sview_msg1 "\nThis Saved View has Vplayer frozen layers. ") ;_ end of SETQ (SETQ sview_msg2 "\nThese layers are inaccessible because TILEMODE=1 " ) ;_ end of SETQ ) ;_ end of PROGN ) ;_ end of IF ) ;_ end of IF (WRITE-LINE "._layer thaw *" rsv_file) (IF frz_llst (PROGN (FOREACH n frz_llst (WRITE-LINE (STRCAT "freeze " n) rsv_file) ) ;_ end of FOREACH (WRITE-LINE "" rsv_file) ) ;_ end of PROGN (WRITE-LINE "" rsv_file) ) ;_ end of IF (WRITE-LINE "._layer on *" rsv_file) (IF off_llst (PROGN (FOREACH n off_llst (WRITE-LINE (STRCAT "off " n) rsv_file)) ;_ end of FOREACH (WRITE-LINE "" rsv_file) ) ;_ end of PROGN (WRITE-LINE "" rsv_file) ) ;_ end of IF (WRITE-LINE "._layer unlock *" rsv_file) (IF lck_llst (PROGN (FOREACH n lck_llst (WRITE-LINE (STRCAT "unlock " n) rsv_file) ) ;_ end of FOREACH (WRITE-LINE "" rsv_file) ) ;_ end of PROGN (WRITE-LINE "" rsv_file) ) ;_ end of IF (IF (AND (= (GETVAR "CVPORT") 1) (= (GETVAR "tilemode") 0)) (SETQ sview_msg3 "\nVIEWTWIST not accessible in paper space. ") ;_ end of SETQ (IF (EQ (GETVAR "viewtwist") (CDR (NTH 4 vp_eed))) (SETQ sview_msg3 "\nCurrent VIEWTWIST = restored VIEWTWIST, no change. " ) ;_ end of SETQ (PROGN (WRITE-LINE (STRCAT "._dview tw " (RTOS (* (/ (CAR vp_alist) PI) 180) 2 8) " " ) ;_ end of STRCAT rsv_file ) ;_ end of WRITE-LINE ) ;_ end of PROGN ) ;_ end of IF ) ;_ end of IF (COND ((WCMATCH (STRCASE (CDAR vp_eed)) "*ORTHO=BOTTOM*") (Write-line "(command \"-view\" \"O\" \"B\")" rsv_file)) ((WCMATCH (STRCASE (CDAR vp_eed)) "*ORTHO=FRONT*") (Write-line "(command \"-view\" \"O\" \"F\")" rsv_file)) ((WCMATCH (STRCASE (CDAR vp_eed)) "*ORTHO=BACK*") (Write-line "(command \"-view\" \"O\" \"BA\")" rsv_file)) ((WCMATCH (STRCASE (CDAR vp_eed)) "*ORTHO=LEFT*") (Write-line "(command \"-view\" \"O\" \"L\")" rsv_file)) ((WCMATCH (STRCASE (CDAR vp_eed)) "*ORTHO=RIGHT*") (Write-line "(command \"-view\" \"O\" \"R\")" rsv_file)) (T (Write-line "(command \"-view\" \"O\" \"T\")" rsv_file));TOP is default ortho view ) (write-line "UCS W" rsv_file) (write-line (strcat "(COMMAND \"._zoom\" \"c\" \"" (rtos (NTH 2 vp_alist) 2 8) "," (rtos (NTH 3 vp_alist) 2 8) "," "0\" \"" (RTOS (NTH 1 vp_alist) 2 8) "\")" ) rsv_file ) ;_ end of COMMAND (SETQ sav_vp_alist vp_alist) (IF (OR sview_msg1 sview_msg2 sview_msg3) (WRITE-LINE "(sview_msgs)" rsv_file) ) ;_ end of IF (WRITE-LINE "SVIEW" rsv_file) (CLOSE rsv_file) (COMMAND "._script" (STRCAT (GETVAR "dwgprefix") "rsv_temp") ) ;_ end of COMMAND (IF c:tsnap nil (LOAD "tsnap" "\nFile TSNAP.LSP not loaded!")) (C:TSNAP) ) (PRINC "\nFailed to open view-restore file. Please try again. ") ) (PRINC) ) ;_ end of DEFUN (DEFUN import_view (/ rsv_list count vp_alist write_str onlst offlst frxlst thwlst lcklst ulklst on_list off_list thw_list frz_list lck_list ulk_list) (SETQ iview NIL) (SETQ import_fn (getfiled "Import Saved View File" (getvar"dwgprefix") "svx" 4)) (IF import_fn (progn (setq import_fo (open import_fn "r")) (SETQ vp_ent1 (read-line import_fo)) (SETQ vp_ent2 (read-line import_fo)) (close import_fo) (SETQ vp_eed (CDADR (READ vp_ent2))) (SETQ count 0) (WHILE (/= 1040 (CAR (NTH count vp_eed))) (SETQ count (1+ count)) ) ;_ end of WHILE (SETQ vp_alist nil) (WHILE (= 1040 (CAR (NTH count vp_eed))) (SETQ vp_alist (IF vp_alist (APPEND vp_alist (LIST (CDR (NTH count vp_eed)))) (LIST (CDR (NTH count vp_eed))) ) ;_ end of IF ) ;_ end of SETQ (SETQ count (1+ count)) ) ;_ end of WHILE (SETQ vpfrz_list (CDR (MEMBER (CONS 1002 "{") (CDR (MEMBER (CONS 1002 "{") vp_eed)) ) ;_ end of member ) ;_ end of cdr ) ;_ end of setq (SETQ on_list (CDR (MEMBER (CONS 1002 "{") vpfrz_list))) (SETQ off_list (CDR (MEMBER (CONS 1002 "{") on_list))) (SETQ thw_list (CDR (MEMBER (CONS 1002 "{") off_list))) (SETQ frz_list (CDR (MEMBER (CONS 1002 "{") thw_list))) (SETQ lck_list (CDR (MEMBER (CONS 1002 "{") frz_list))) (SETQ ulk_list (CDR (MEMBER (CONS 1002 "{") lck_list))) (SETQ ulk_len (LENGTH ulk_list)) (SETQ lck_len (- (LENGTH lck_list) ulk_len)) (SETQ frz_len (- (LENGTH frz_list) lck_len)) (SETQ thw_len (- (LENGTH thw_list) frz_len)) (SETQ off_len (- (LENGTH off_list) thw_len)) (SETQ on_len (- (LENGTH on_list) off_len)) (SETQ vpfrz_len (- (LENGTH vpfrz_list) (LENGTH on_list))) (extr_llist "vpfrz") (extr_llist "thw") (extr_llist "frz") (extr_llist "on") (extr_llist "off") (extr_llist "lck") (extr_llist "ulk") (SETQ rsv_file (OPEN (STRCAT (GETVAR "dwgprefix") "RSV_TEMP.SCR") "w")) (IF (AND (EQ (GETVAR "tilemode") 0) vpfrz_llst) ;_ end of AND (PROGN (WRITE-LINE "._vplayer thaw * " rsv_file) (FOREACH n vpfrz_llst (IF write_str (IF (> (STRLEN write_str) 220) (PROGN (WRITE-LINE (STRCAT "freeze " write_str " ") rsv_file) (SETQ write_str n) ) ;_ end of progn (SETQ write_str (STRCAT write_str "," n)) ) ;_ end of if (SETQ write_str n) ) ;_ end of if ) ;_ end of FOREACH (WRITE-LINE (STRCAT "freeze " write_str " ") rsv_file) (WRITE-LINE "" rsv_file) ) ;_ end of PROGN (IF vpfrz_llst (PROGN (SETQ sview_msg1 "\nThis Saved View has Vplayer frozen layers. ") ;_ end of SETQ (SETQ sview_msg2 "\nThese layers are inaccessible because TILEMODE=1 " ) ;_ end of SETQ ) ;_ end of PROGN ) ;_ end of IF ) ;_ end of IF (WRITE-LINE "._layer thaw *" rsv_file) (IF frz_llst (PROGN (FOREACH n frz_llst (WRITE-LINE (STRCAT "freeze " n) rsv_file) ) ;_ end of FOREACH (WRITE-LINE "" rsv_file) ) ;_ end of PROGN (WRITE-LINE "" rsv_file) ) ;_ end of IF (WRITE-LINE "._layer on *" rsv_file) (IF off_llst (PROGN (FOREACH n off_llst (WRITE-LINE (STRCAT "off " n) rsv_file)) ;_ end of FOREACH (WRITE-LINE "" rsv_file) ) ;_ end of PROGN (WRITE-LINE "" rsv_file) ) ;_ end of IF (WRITE-LINE "._layer unlock *" rsv_file) (IF lck_llst (PROGN (FOREACH n lck_llst (WRITE-LINE (STRCAT "unlock " n) rsv_file) ) ;_ end of FOREACH (WRITE-LINE "" rsv_file) ) ;_ end of PROGN (WRITE-LINE "" rsv_file) ) ;_ end of IF (IF (AND (= (GETVAR "CVPORT") 1) (= (GETVAR "tilemode") 0)) (SETQ sview_msg3 "\nVIEWTWIST not accessible in paper space. ") ;_ end of SETQ (IF (EQ (GETVAR "viewtwist") (CDR (NTH 4 vp_eed))) (SETQ sview_msg3 "\nCurrent VIEWTWIST = restored VIEWTWIST, no change. " ) ;_ end of SETQ (PROGN (WRITE-LINE (STRCAT "._dview tw " (RTOS (* (/ (CAR vp_alist) PI) 180) 2 8) " " ) ;_ end of STRCAT rsv_file ) ;_ end of WRITE-LINE ) ;_ end of PROGN ) ;_ end of IF ) ;_ end of IF (COND ((WCMATCH (STRCASE (CDAR vp_eed)) "*ORTHO=BOTTOM*") (Write-line "(command \"-view\" \"O\" \"B\")" rsv_file)) ((WCMATCH (STRCASE (CDAR vp_eed)) "*ORTHO=FRONT*") (Write-line "(command \"-view\" \"O\" \"F\")" rsv_file)) ((WCMATCH (STRCASE (CDAR vp_eed)) "*ORTHO=BACK*") (Write-line "(command \"-view\" \"O\" \"BA\")" rsv_file)) ((WCMATCH (STRCASE (CDAR vp_eed)) "*ORTHO=LEFT*") (Write-line "(command \"-view\" \"O\" \"L\")" rsv_file)) ((WCMATCH (STRCASE (CDAR vp_eed)) "*ORTHO=RIGHT*") (Write-line "(command \"-view\" \"O\" \"R\")" rsv_file)) (T (Write-line "(command \"-view\" \"O\" \"T\")" rsv_file));TOP is default ortho view ) (write-line "UCS W" rsv_file) (write-line (strcat "(COMMAND \"._zoom\" \"c\" \"" (rtos (NTH 2 vp_alist) 2 8) "," (rtos (NTH 3 vp_alist) 2 8) "," "0\" \"" (RTOS (NTH 1 vp_alist) 2 8) "\")" ) rsv_file ) ;_ end of COMMAND (SETQ sav_vp_alist vp_alist) (IF (OR sview_msg1 sview_msg2 sview_msg3) (WRITE-LINE "(sview_msgs)" rsv_file) ) ;_ end of IF (WRITE-LINE "SVIEW" rsv_file) (CLOSE rsv_file) (COMMAND "._script" (STRCAT (GETVAR "dwgprefix") "rsv_temp") ) ;_ end of COMMAND (IF c:tsnap nil (LOAD "tsnap" "\nFile TSNAP.LSP not loaded!")) (C:TSNAP) (princ) )) (PRINC) ) ;_ end of DEFUN (DEFUN delete_svname (/ rsv_list count) (sel_view del_key) (ENTDEL (SSNAME vpss count)) ) ;_ end of DEFUN (DEFUN sel_view (sv_optn /) (SETQ view_desc (NTH (ATOI sv_optn) sview_list) count 1 ) ;_ end of SETQ (WHILE (NOT (OR (EQ (SUBSTR view_desc count 1) " ") (EQ (SUBSTR view_desc count 1) "\t") (> count (STRLEN view_desc)) ) ;_ end of OR ) ;_ end of NOT (SETQ count (1+ count)) ) ;_ end of WHILE (SETQ vname (STRCAT "VIEW_" (STRCASE (SUBSTR view_desc 1 (1- count))))) (WHILE (OR (EQ (SUBSTR view_desc count 1) " ") (EQ (SUBSTR view_desc count 1) "-") (EQ (SUBSTR view_desc count 1) "\t") ) ;_ end of OR (SETQ count (1+ count)) ) ;_ end of WHILE (SETQ vdesc (SUBSTR view_desc count)) (SETQ vpss (SSGET "x" (LIST (CONS 0 "INSERT") (CONS 2 vname)))) (SETQ count 0) (IF (> (SSLENGTH vpss) 1) (PROGN (WHILE (NOT (EQ (CDR (CADADR (ASSOC -3 (ENTGET (SSNAME vpss count) (LIST "sview"))) ) ;_ end of CADADR ) ;_ end of CDR vdesc ) ;_ end of EQ ) ;_ end of NOT (SETQ count (1+ count)) ) ;_ end of WHILE ) ;_ end of PROGN ) ;_ end of IF ) ;_ end of DEFUN (DEFUN extr_llist (list_prfx /) (IF (> (EVAL (READ (STRCAT list_prfx "_len"))) 2) (PROGN (SETQ count 0) (SET (READ (STRCAT list_prfx "_llst")) nil) (WHILE (AND (/= "}" (CDR (NTH count (EVAL (READ (STRCAT list_prfx "_list"))))) ) ;_ end of /= (< count (EVAL (READ (STRCAT list_prfx "_len")))) ) ;_ end of AND (SET (READ (STRCAT list_prfx "_llst")) (IF (EQ "{" (CDR (NTH count (EVAL (READ (STRCAT list_prfx "_list")))))) NIL (IF (EVAL (READ (STRCAT list_prfx "_llst"))) (APPEND (EVAL (READ (STRCAT list_prfx "_llst"))) (LIST (CDR (NTH count (EVAL (READ (STRCAT list_prfx "_list"))))) ) ;_ end of LIST ) ;_ end of APPEND (LIST (CDR (NTH count (EVAL (READ (STRCAT list_prfx "_list"))))) ) ;_ end of LIST ) ;_ end of IF ) ) ;_ end of SETQ (SETQ count (1+ count)) ) ;_ end of WHILE ) ;_ end of PROGN (SET (READ (STRCAT list_prfx "_list")) nil) ) ;_ end of IF ) ;_ end of DEFUN (DEFUN edit_view (/) (NEW_DIALOG "editview" num) (ACTION_TILE "on_list" "") (ACTION_TILE "off_list" "") (ACTION_TILE "thw_list" "") (ACTION_TILE "frz_list" "") (sel_view eview) (extr_llist "vpfrz") (extr_llist "thw") (extr_llist "frz") (extr_llist "on") (extr_llist "off") (extr_llist "lck") (extr_llist "ulk") (IF (NOT (MEMBER (CDR (ASSOC 2 (TBLNEXT "LAYER" T))) vpfrz_llst)) (SETQ vpthw_llst (LIST (CDR (ASSOC 2 (TBLNEXT "LAYER" T))))) (SETQ vpthw_llst nil) ) (WHILE (SETQ nxt_layr (TBLNEXT "LAYER")) (IF (NOT (MEMBER (CDR (ASSOC 2 nxt_layr)) vpfrz_llst)) (IF vpthw_llst (SETQ vpthw_llst (APPEND vpthw_llst (LIST (CDR (ASSOC 2 nxt_layr))))) (SETQ vpthw_llst (LIST (CDR (ASSOC 2 nxt_layr)))) ) ) ) (START_LIST "on_list") (MAPCAR 'ADD_LIST on_llst) (END_LIST) (START_LIST "off_list") (MAPCAR 'ADD_LIST off_llst) (END_LIST) (START_LIST "thw_list") (MAPCAR 'ADD_LIST thw_llst) (END_LIST) (START_LIST "frz_list") (MAPCAR 'ADD_LIST frz_llst) (END_LIST) (START_LIST "ulk_list") (MAPCAR 'ADD_LIST ulk_llst) (END_LIST) (START_LIST "lck_list") (MAPCAR 'ADD_LIST lck_llst) (END_LIST) (START_LIST "vpthw_list") (MAPCAR 'ADD_LIST vpthw_llst) (END_LIST) (START_LIST "vpfrz_list") (MAPCAR 'ADD_LIST vpfrz_llst) (END_LIST) (START_DIALOG) ) ;_ end of DEFUN (DEFUN sview_msgs (/) (IF sview_msg1 (PRINC sview_msg1) ) ;_ end of IF (IF sview_msg2 (PRINC sview_msg2) ) ;_ end of IF (IF sview_msg3 (PRINC sview_msg3) ) ;_ end of IF (SETQ sview_msg1 nil sview_msg2 nil sview_msg3 nil ) ;_ end of SETQ (PRINC) ) ;_ end of DEFUN (DEFUN c:rescollt () (IF collt_lst (PROGN (SETQ collt_scr (OPEN (STRCAT (GETVAR "dwgprefix") "rescollt.scr") "w") ;_ end of open ) ;_ end of setq (FOREACH n collt_lst (SETQ step_lname (NTH 0 n)) (IF step_lname (COND ((WCMATCH step_lname "*|*") (PROGN (WRITE-LINE "-layer" collt_scr) (WRITE-LINE "c" collt_scr) (WRITE-LINE (ITOA (NTH 1 n)) collt_scr) (WRITE-LINE step_lname collt_scr) (WRITE-LINE "" collt_scr) (IF (WCMATCH (NTH 2 n) "*|*") nil (PROGN (WRITE-LINE "-layer" collt_scr) (WRITE-LINE "lt" collt_scr) (WRITE-LINE (NTH 2 n) collt_scr) (WRITE-LINE step_lname collt_scr) (WRITE-LINE "" collt_scr) ) ;_ end of progn ) ;_ end of if ) ;_ end of progn ) (step_lname (WRITE-LINE "-layer" collt_scr) (WRITE-LINE "c" collt_scr) (WRITE-LINE (ITOA (NTH 1 n)) collt_scr) (WRITE-LINE step_lname collt_scr) (WRITE-LINE "" collt_scr) (WRITE-LINE "-layer" collt_scr) (WRITE-LINE "lt" collt_scr) (WRITE-LINE (NTH 2 n) collt_scr) (WRITE-LINE step_lname collt_scr) (WRITE-LINE "" collt_scr) ) ) ;_ end of cond ) ;_ end of if ) ;_ end of foreach nil ) ;_ end of progn ) ;_ end of if (CLOSE collt_scr) (PRINC) ) ;_ end of defun (PRINC) ;|«ViLL© FORMAT OPTIONS...» (72 2 40 2 T "end of " 60 9 2 0 0 T T nil T) ***Don't add text below the comment!***|; ;|«Visual LISP© Format Options» (84 2 40 2 T "end of " 60 9 2 0 0 T T nil T) ***Don't add text below the comment!***|;