;;;Places demolish (double hatch) or abandon (single hatch) linetype ;;;Requires Linetypes ABAN and DEMOL to be added into ACAD.LIN ;;;Requires shapes ABAN and DEMOL in Ltypeshp.shp compiled into Ltypeshp.shx ;;; ;;;LINETYPE DEFINITIONS: ;;; ;;;*ABAN,Abandon \\\\\\\\\\\\\\\\\\\\\ ;;;A,0,-.15,[ABAN,ltypeshp.shx,x=-.15,y=-.1,s=.2] ;;;*DEMOL,Demolish XXXXXXXXXXXXXXXXXXXX ;;;A,0,-.15,[ABAN,ltypeshp.shx,x=-.1,y=-.1,s=.2],0,[DEMOL,ltypeshp.shx,x=-.1,y=.1,s=.2] ;;; ;;;SHAPE DEFINITIONS: (Your numbers may need to be something other than 139 and 140) ;;; ;;;*139,2,ABAN ;;;012,0 ;;; ;;;*140,2,DEMOL ;;;01E,0 ;;; ;;; ;;; ;;; ;;;> Author: Henry C. Francis ;;;> 425 N. Ashe St. ;;;> Southern Pines, NC 28387 ;;;> http://paracadd.com ;;;> All rights reserved. ;;; ;;;> COPYRIGHT: 3-5-96 ;;;> EDITED: 10-06-2005 ;;; (DEFUN c:dmlt (/ pt) (c:svlayr) (IF dimscl nil (LOAD "dimscl") ) ;_ end of if (dimscl) (SETQ clay_col (CDR (ASSOC 62 (TBLSEARCH "layer" (GETVAR "clayer"))))) (SETQ colr "1" atyp (ukword 1 "Demolish Abandon" "Demolish or Abandon?" (IF atyp atyp "Demolish" ) ;_ end of if ) ;_ end of ukword modf (SUBSTR atyp 1 4) prod (IF prod prod "UTIL" ) ;_ end of if llt "-" ) ;_ end of setq (c:mklayr) (IF (EQ atyp "Demolish") (PROGN (IF (TBLSEARCH "LTYPE" "DEMOL") NIL (COMMAND "-LINETYPE" "LOAD" "DEMOL" "ACAD.LIN" "") ;_ end of COMMAND ) ;_ end of IF (COMMAND "-LAYER" "LT" "DEMOL" "" "") ) (PROGN (IF (TBLSEARCH "LTYPE" "ABAN") NIL (COMMAND "-LINETYPE" "LOAD" "ABAN" "ACAD.LIN" "") ;_ end of COMMAND ) ;_ end of IF (COMMAND "-LAYER" "LT" "ABAN" "" "") ) ) ;_ end of IF ;;; (IF (EQ atyp "Demolish") ;;; (IF (TBLSEARCH "LTYPE" "DEMOL") ;;; (COMMAND "-LINETYPE" "SET" "DEMOL" "") ;;; (COMMAND "-LINETYPE" "LOAD" "DEMOL" "ACAD.LIN" "SET" "DEMOL" "") ;_ end of COMMAND ;;; ) ;_ end of IF ;;; (IF (TBLSEARCH "LTYPE" "ABAN") ;;; (COMMAND "-LINETYPE" "SET" "ABAN" "") ;;; (COMMAND "-LINETYPE" "LOAD" "ABAN" "ACAD.LIN" "SET" "ABAN" "") ;_ end of COMMAND ;;; ) ;_ end of IF ;;; ) ;_ end of IF ;;; (PROGN ;;; (SETQ dont_stop T ;;; never_pt T ;;; prev_pt NIL ;;; new_msg NIL ;;; old_msg NIL ;;; seg_type NIL ;;; ) ;_ end of SETQ ;;; (COMMAND ".pline") ;;; (PRINC "\nSpecify start point: ") ;;; (PRINC) ;;; (WHILE ;;; (OR ;;; (AND ;;; (EQ (CAR (SETQ pt (GRREAD T 3 0))) 5) ;;; dont_stop ;;; ) ;_ end of AND ;;; (AND ;;; (EQ (CAR pt) 3) ;;; dont_stop ;;; ) ;_ end of AND ;;; (AND ;;; (EQ (CAR pt) 2) ;;; (EQ (CADR pt) 13) ;;; (OR ;;; never_pt ;;; (EQ (CADR prev_pt) 65) ;;; (EQ (CADR prev_pt) 97) ;;; (EQ (CADR prev_pt) 67) ;;; (EQ (CADR prev_pt) 99) ;;; (EQ (CADR prev_pt) 76) ;;; (EQ (CADR prev_pt) 108) ;;; (EQ (CADR prev_pt) 81) ;;; (EQ (CADR prev_pt) 113) ;;; (EQ (CADR prev_pt) 85) ;;; (EQ (CADR prev_pt) 117) ;;; ) ;_ end of OR ;;; dont_stop ;;; ) ;_ end of AND ;;; (AND ;;; (EQ (CAR pt) 2) ;;; (OR ;;; (EQ (CADR pt) 65) ;;; (EQ (CADR pt) 97) ;;; ) ;_ end of OR ;;; dont_stop ;;; ) ;_ end of AND ;;; (AND ;;; (EQ (CAR pt) 2) ;;; (OR ;;; (EQ (CADR pt) 67) ;;; (EQ (CADR pt) 99) ;;; ) ;_ end of OR ;;; dont_stop ;;; ) ;_ end of AND ;;; (AND ;;; (EQ (CAR pt) 2) ;;; (OR ;;; (EQ (CADR pt) 76) ;;; (EQ (CADR pt) 108) ;;; ) ;_ end of OR ;;; dont_stop ;;; ) ;_ end of AND ;;; (AND ;;; (EQ (CAR pt) 2) ;;; (OR ;;; (EQ (CADR pt) 85) ;;; (EQ (CADR pt) 117) ;;; ) ;_ end of OR ;;; dont_stop ;;; ) ;_ end of AND ;;; (AND ;;; (/= (CAR pt) 2) ;;; (/= (CADR pt) 81) ;;; (/= (CADR pt) 113) ;;; dont_stop ;;; ) ;_ end of AND ;;; ) ;_ end of OR ;;; (COND ;;; ((EQ (CAR pt) 3) ;;; (SETQ never_pt NIL) ;;; (COMMAND (CADR pt)) ;;; ) ;;; ((AND (EQ (CAR pt) 2) ;;; (OR ;;; (EQ (CADR pt) 81) ;;; (EQ (CADR pt) 113) ;;; (EQ (CADR pt) 65) ;;; (EQ (CADR pt) 97) ;;; (EQ (CADR pt) 67) ;;; (EQ (CADR pt) 99) ;;; (EQ (CADR pt) 76) ;;; (EQ (CADR pt) 108) ;;; (EQ (CADR pt) 85) ;;; (EQ (CADR pt) 117) ;;; ) ;_ end of OR ;;; ) ;_ end of AND ;;; (COND ;;; ((EQ (STRCASE (CHR (CADR pt))) "C") ;;; (SETQ dont_stop NIL) ;;; (COMMAND "CL") ;;; ) ;;; ((EQ (STRCASE (CHR (CADR pt))) "Q") ;;; (SETQ dont_stop NIL) ;;; (COMMAND "") ;;; ) ;;; (T (COMMAND (CHR (CADR pt)))) ;;; ) ;_ end of COND ;;; ) ;;; ((AND (EQ (CAR pt) 2) (EQ (CADR pt) 13) never_pt) ;;; (COMMAND (GETVAR"lastpoint")) ;;; (SETQ never_pt NIL)) ;;; ) ;_ end of COND ;;; (IF (OR ;;; (EQ (CADR pt) 67) ;;; (EQ (CADR pt) 99) ;;; (EQ (CADR pt) 81) ;;; (EQ (CADR pt) 113) ;;; ) ;_ end of OR ;;; (PROGN ;;; (SETQ new_msg NIL ;;; old_msg NIL ;;; seg_type NIL ;;; ) ;_ end of SETQ ;;; ) ;_ end of PROGN ;;; ) ;_ end of IF ;;; (COND ;;; ((OR (EQ (CADR pt) 65) (EQ (CADR pt) 97)) ;;; (SETQ seg_type "Arc") ;;; ) ;;; ((OR (EQ (CADR pt) 76) (EQ (CADR pt) 108)) ;;; (SETQ seg_type "Line") ;;; ) ;;; ) ;_ end of COND ;;; (COND ;;; ((EQ seg_type "Arc") ;;; (SETQ new_msg (STRCAT "\nSpecify endpoint of " ;;; seg_type ;;; " or [Line/Undo/Close/Quit]: " ;;; ) ;_ end of STRCAT ;;; ) ;_ end of SETQ ;;; (IF (EQ new_msg old_msg) ;;; NIL ;;; (PROGN (PRINC new_msg) (PRINC)) ;;; ) ;_ end of IF ;;; ) ;;; ((OR (EQ seg_type "Line") (NOT seg_type)) ;;; (SETQ seg_type "Line") ;;; (SETQ new_msg (STRCAT "\nSpecify endpoint of " ;;; seg_type ;;; " or [Arc/Undo/Close/Quit]: " ;;; ) ;_ end of STRCAT ;;; ) ;_ end of SETQ ;;; (IF (EQ new_msg old_msg) ;;; NIL ;;; (PROGN (PRINC new_msg) (PRINC)) ;;; ) ;_ end of IF ;;; ) ;;; ) ;_ end of COND ;;; (SETQ prev_pt pt ;;; old_msg new_msg ;;; ) ;_ end of SETQ ;;; ) ;_ end of while ;;; (PRINC) ;;; ) ;_ end of PROGN ;;; (c:rslayr) ;;; (COMMAND) ;;; (COMMAND "-LINETYPE" "SET" "BYLAYER" "") (COMMAND ".PLINE") (PRINC) ) ;_ end of DEFUN ;|«Visual LISP© Format Options» (72 2 40 2 T "end of " 60 9 2 0 0 T T nil T) ;*** DO NOT add text below the comment! ***|;