;;;Creates 3D breakline between selected AECC_POINT objects ;;; ;;;> Author: Henry C. Francis ;;;> 425 N. Ashe St. ;;;> Southern Pines, NC 28387 ;;;> http://paracadd.com ;;;> All rights reserved. ;;; ;;;> COPYRIGHT: 12/15/2004 ;;;> EDITED: 05-24-2006 ;;; (DEFUN driveway_error (msg /) (IF old_drvwosmode (SETVAR "osmode" old_drvwosmode) ) ;_ end of IF (SETQ *error* (IF old_drvwerror old_drvwerror NIL ) ;_ end of IF ) ;_ end of SETQ (SETQ ent_10x NIL ent_10y NIL ent_10z NIL ent_11x NIL ent_11y NIL ent_11z NIL ) ;_ end of SETQ (PRINC "\n") (PRINC msg) (PRINC " May need to END UNDO. ") (PRINC) ) ;_ end of defun (DEFUN c:driveway (/ line_ent ent_data ent_pt el_adj_val el_adj_val1 el_adj_val2 defadjcnt ;;; drvbp1 ;;; drvbp2 eop_point pick_302 ent_302 ent_303 nent_302 nent_303 ent_data nentdata ent_10x ent_10y ent_10z nent_10x nent_10y nent_10z ) (command ".undo" "begin") (IF upoint NIL (LOAD "upoint" "\nFile UPOINT.LSP not loaded!") ) ;_ end of IF (SETQ old_drvwosmode (GETVAR "osmode")) (SETVAR "osmode" 9) (SETQ old_drvwerror *error*) (SETQ *error* driveway_error) (IF (AND ustr ureal uint ukword upoint) NIL (LOAD "uutils" "\nFile UUTILS.LSP not loaded") ) ;_ end of IF (SETQ line_ent (ENTSEL (STRCAT "\nSelect road or driveway center AECC_POINT at EOP: "))) (IF (AND line_ent (EQ (CDR (ASSOC 0 (ENTGET (CAR line_ent)))) "AECC_POINT")) (SETQ ent_data (ENTGET (CAR line_ent))) (PROGN (SETVAR "osmode" 512) (SETQ eop_point (upoint 1 "" "\nPick point at edge of roadway" nil nil)) (SETQ pick_302 (ukword 1 "Ashphalt Concrete Gravel Soil" "\nType of driveway [Asphalt/Concrete/Gravel/Soil]" (IF pick_302 pick_302 "Gravel" ) ;_ end of IF ) ;_ end of ukword ) ;_ end of SETQ (SETQ ent_data (LIST (CONS 0 "AECC_POINT") (CONS 11 eop_point) (CONS 302 pick_302) (CONS 303 pick_302))) ) ;_ end of PROGN ) ;_ end of IF ;;; (SETQ ent_pt (CADR line_ent)) ;;; (SETQ ent_pt (LIST (CAR ent_pt) (CADR ent_pt) 0)) (COND ((EQ (CDR (ASSOC 0 ent_data)) "AECC_POINT") (SETQ ent_10x (CADR (ASSOC 11 ent_data))) (SETQ ent_10y (CADDR (ASSOC 11 ent_data))) (SETQ ent_302 (STRCASE (CDR (ASSOC 302 ent_data)))) (SETQ ent_303 (STRCASE (CDR (ASSOC 303 ent_data)))) (SETQ el_adj_val 0) (IF (WCMATCH ent_302 "*#*") NIL (PROGN (SETQ drv_size1 (uint 1 "" "Width of drive? " (IF drv_size1 drv_size1 10 ) ;_ end of if ) ;_ end of uint ) ;_ end of SETQ (COND ((OR (WCMATCH (STRCASE ent_302) "*GRVL*DR*") (WCMATCH (STRCASE ent_302) "*GRAVEL*DR*") (WCMATCH (STRCASE ent_302) "*GDR*") (WCMATCH (STRCASE pick_302) "*GRAVEL*") ) ;_ end of OR (SETQ ent_302 (STRCAT "CL" (RTOS drv_size1 2 0) "' GRAVEL DRIVE")) ) ((OR (WCMATCH (STRCASE ent_302) "*GRVL*R*D*") (WCMATCH (STRCASE ent_302) "*GRAVEL*R*D*") (WCMATCH (STRCASE ent_302) "*GRD*") ) ;_ end of OR (SETQ ent_302 (STRCAT "CL" (RTOS drv_size1 2 0) "' GRAVEL ROAD")) ) ((OR (WCMATCH (STRCASE ent_302) "*CONC*DR*") (WCMATCH (STRCASE pick_302) "*CONC*") ) (SETQ ent_302 (STRCAT "CL" (RTOS drv_size1 2 0) "' CONCRETE DRIVE")) ) ((OR (WCMATCH (STRCASE ent_302) "*SRD*") (WCMATCH (STRCASE ent_302) "*SOIL*R*D*") ) ;_ end of OR (SETQ ent_302 (STRCAT "CL" (ITOA drv_size1) "' SOIL ROAD")) ) ((OR (WCMATCH (STRCASE ent_302) "*SDR*") (WCMATCH (STRCASE ent_302) "*SOIL*D*R*") (WCMATCH (STRCASE pick_302) "*SOIL*") ) ;_ end of OR (SETQ ent_302 (STRCAT "CL" (ITOA drv_size1) "' SOIL DRIVE")) ) (T (SETQ ent_302 (STRCAT "CL" (ITOA drv_size1) "' DRIVE"))) ) ;_ end of COND ) ;_ end of PROGN ) ;_ end of IF (COND ((OR (WCMATCH ent_302 "*CL#*") (WCMATCH ent_302 "*OP#*") (WCMATCH ent_302 "*CL##*") (WCMATCH ent_302 "*CL #*") (WCMATCH ent_302 "*CL#F*") (WCMATCH ent_302 "*CL##F*") ) ;_ end of or (PRINC (STRCAT " " ent_302 " ")) (PRINC) (SETQ defadjcnt 1) ; (WHILE (WCMATCH (SUBSTR ent_302 defadjcnt) "*CL#*") (SETQ defadjcnt (1+ defadjcnt))) (WHILE (OR (WCMATCH (SUBSTR ent_302 defadjcnt) "*CL#*") (WCMATCH (SUBSTR ent_302 defadjcnt) "*CL #*") (WCMATCH (SUBSTR ent_302 defadjcnt) "*OP#*") ) ;_ end of OR (SETQ defadjcnt (1+ defadjcnt)) ) ;_ end of WHILE (SETQ def_adj_val1 (SUBSTR ent_302 (1+ defadjcnt))) (SETQ defadjcnt1 1) (WHILE (OR (WCMATCH (SUBSTR def_adj_val1 defadjcnt1) "*#*") (WCMATCH (SUBSTR def_adj_val1 defadjcnt1) "*#F*") ) ;_ end of OR (SETQ defadjcnt1 (1+ defadjcnt1)) ) ;_ end of while (SETQ drvp1d (/ (READ (SUBSTR def_adj_val1 1 (1- defadjcnt1))) 2.0)) (IF debug_drvw (PROGN (princ "\ndrvbp1(A) = ") (princ drvbp1) (princ) ) ) (SETQ drvbp1 (LIST ent_10x ent_10y 0.0)) (IF debug_drvw (PROGN (princ "\ndrvbp1(B) = ") (princ drvbp1) (princ) ) ) ) (T (PRINC (STRCAT " " ent_302 " ")) (PRINC)) ) ;_ end of cond (SETQ next_pnt NIL) ;;; (WHILE (NOT next_pnt) (SETQ next_pnt (ENTSEL "\nSelect road or driveway AECC_POINT at other end: ")) ;;; ) (IF debug_drvw (IF next_pnt (ALERT "GOT NEXT POINT") (ALERT "DID NOT GET NEXT POINT") ) ) (IF (AND next_pnt (EQ (CDR (ASSOC 0 (ENTGET (CAR next_pnt)))) "AECC_POINT")) (PROGN (IF debug_drvw (ALERT "PASSED AECC_POINT TEST") ) (SETQ nent_data (ENTGET (CAR next_pnt))) ) (PROGN (IF debug_drvw (ALERT "FAILED AECC_POINT TEST") ) (SETVAR "osmode" 512) (SETQ drv_point (upoint 1 "" "\nSelect road or driveway center point away from road" nil eop_point)) (SETQ nent_data (LIST (CONS 0 "AECC_POINT") (CONS 11 drv_point) (CONS 302 pick_302) (CONS 303 pick_302))) ) ;_ end of PROGN ) ;_ end of IF ;;; ) ;_ end of WHILE ;;; (SETQ nent_pt (CADR next_pnt)) ;;; (SETQ nent_pt (LIST (CAR nent_pt) (CADR nent_pt) 0)) (SETQ nent_10x (CADR (ASSOC 11 nent_data))) (SETQ nent_10y (CADDR (ASSOC 11 nent_data))) (SETQ nent_302 (STRCASE (IF (CDR (ASSOC 302 nent_data)) (CDR (ASSOC 302 nent_data)) (CDR (ASSOC 302 ent_data)) ))) (SETQ nent_303 (STRCASE (IF (CDR (ASSOC 303 nent_data)) (CDR (ASSOC 303 nent_data)) (CDR (ASSOC 303 ent_data)) ))) (SETQ el_adj_val 0) (IF (WCMATCH nent_302 "*#*") NIL (PROGN (SETQ drv_size2 (uint 1 "" "Width of drive? " (IF drv_size2 drv_size2 10 ) ;_ end of if ) ;_ end of uint ) ;_ end of SETQ (COND ((OR (WCMATCH (STRCASE nent_302) "*G*DR*") (WCMATCH (STRCASE nent_302) "*GR*") (WCMATCH (STRCASE nent_302) "*GD*") (WCMATCH (STRCASE pick_302) "*GR*") ) ;_ end of OR (SETQ nent_302 (STRCAT "CL" (RTOS drv_size2 2 0) "' GRAVEL DRIVE")) ) ((WCMATCH (STRCASE nent_302) "*CONC*") (SETQ nent_302 (STRCAT "CL" (RTOS drv_size2 2 0) "' CONCRETE DRIVE")) ) ((OR (WCMATCH (STRCASE nent_302) "*SOILRD*") (WCMATCH (STRCASE nent_302) "*SRD*") (WCMATCH (STRCASE ent_302) "*SOILDR*") (WCMATCH (STRCASE ent_302) "*SOIL DR*") (WCMATCH (STRCASE pick_302) "*SOIL*") ) ;_ end of OR (SETQ nent_302 (STRCAT "CL" (ITOA drv_size2) "' SOIL DRIVE")) ) (T (SETQ nent_302 (STRCAT "CL" (ITOA drv_size2) "' DRIVE"))) ) ;_ end of COND ) ;_ end of PROGN ) ;_ end of IF (COND ((OR (WCMATCH nent_302 "*CL#*") ;;; (WCMATCH nent_302 "L#*") (WCMATCH nent_302 "*OP#*") (WCMATCH nent_302 "*CL##*") (WCMATCH nent_302 "*CL #*") (WCMATCH nent_302 "*CL#F*") (WCMATCH nent_302 "*CL##F*") ) ;_ end of or (IF debug_drvw (PROGN (PRINC "\n\t\tCOND #1: \n") ) ) (PRINC (STRCAT " " nent_302 " ")) (PRINC) (SETQ defadjcnt 1) ; (WHILE (WCMATCH (SUBSTR nent_302 defadjcnt) "*CL#*") (SETQ defadjcnt (1+ defadjcnt))) (WHILE (OR (WCMATCH (SUBSTR nent_302 defadjcnt) "*CL#*") ;;; (WCMATCH (SUBSTR nent_302 defadjcnt) "L#*");fix for single bad descr. prob. (WCMATCH (SUBSTR nent_302 defadjcnt) "*CL #*") (WCMATCH (SUBSTR nent_302 defadjcnt) "*OP#*") ) ;_ end of OR (SETQ defadjcnt (1+ defadjcnt)) ) ;_ end of WHILE (SETQ def_adj_val2 (SUBSTR nent_302 (1+ defadjcnt))) (SETQ defadjcnt2 1) (WHILE (OR (WCMATCH (SUBSTR def_adj_val2 defadjcnt2) "*#*") (WCMATCH (SUBSTR def_adj_val2 defadjcnt2) "*#F*") ) ;_ end of or (SETQ defadjcnt2 (1+ defadjcnt2)) ) ;_ end of while ;;; (IF (WCMATCH (SUBSTR nent_302 1) "L#*")fix for single bad descr. prob. ;;; (PROGN ;;; (SETQ defadjcnt (1- defadjcnt)) ;;; (SETQ def_adj_val2 (SUBSTR nent_302 (1+ defadjcnt))) ;;; (SETQ defadjcnt2 1) ;;; (WHILE (WCMATCH (SUBSTR def_adj_val2 defadjcnt2) "#*") ;;; (SETQ defadjcnt2 (1+ defadjcnt2)) ;;; ) ;_ end of while ;;; ) ;;; ) (SETQ drvp2d (/ (READ (SUBSTR def_adj_val2 1 (1- defadjcnt2))) 2.0)) (IF debug_drvw (PROGN (princ "\ndrvbp2(A) = ") (princ drvbp2) (princ) ) ) (SETQ drvbp2 (LIST nent_10x nent_10y 0.0)) (IF debug_drvw (PROGN (princ "\ndrvbp2(B) = ") (princ drvbp2) (princ) ) ) ) ((OR (WCMATCH nent_302 "*CL #'*") (WCMATCH nent_302 "*CL ##'*") (WCMATCH nent_302 "*CL #F*") (WCMATCH nent_302 "*CL ##F*") ) ;_ end of or (IF debug_drvw (PROGN (PRINC "\n\t\tCOND #2: \n") ) ) (PRINC (STRCAT " " nent_302 " ")) (PRINC) (SETQ defadjcnt 1) (WHILE (WCMATCH (SUBSTR nent_302 defadjcnt) "*CL #*") (SETQ defadjcnt (1+ defadjcnt))) (SETQ def_adj_val2 (SUBSTR nent_302 (1+ defadjcnt))) (SETQ defadjcnt2 1) (WHILE (OR (WCMATCH (SUBSTR def_adj_val2 defadjcnt2) "*#'*") (WCMATCH (SUBSTR def_adj_val2 defadjcnt2) "*#F*") ) ;_ end of or (SETQ defadjcnt2 (1+ defadjcnt2)) ) ;_ end of while (SETQ drvp2d (/ (READ (SUBSTR def_adj_val2 1 (1- defadjcnt2))) 2.0)) (IF debug_drvw (PROGN (princ "\ndrvbp2(C) = ") (princ drvbp2) (princ) ) ) (SETQ drvbp2 (LIST nent_10x nent_10y 0.0)) (IF debug_drvw (PROGN (princ "\ndrvbp2(D) = ") (princ drvbp2) (princ) ) ) ) (T (SETQ drvpt1a NIL drvpt2a NIL drvpt1b NIL drvpt2b NIL ) ;_ end of SETQ (IF debug_drvw (PROGN (PRINC "\n\t\tCOND #3: \n") ) ) (PRINC (STRCAT " " nent_302 " ")) (PRINC) ) ) ;_ end of cond ) ) ;_ end of COND ;;; (IF (EQ ;;; (SETQ do_inters (ukword 1 "Yes No" "Do you want to intersect an edge of pavement?" (IF do_inters do_inters ;;; "Yes"))) ;;; "Yes" ;;; ) (PROGN (SETVAR "osmode" 512) (GRDRAW drvbp1 (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 0.5)) 10.0) 7) (GRDRAW (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 0.5)) 10.0) (POLAR (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 0.5)) 10.0) (- (ANGLE drvbp1 drvbp2) (/ PI 3.0)) 2.0 ) ;_ end of polar 7 ) ;_ end of grdraw (GRDRAW (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 0.5)) 10.0) (POLAR (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 0.5)) 10.0) (- (ANGLE drvbp1 drvbp2) (/ PI 1.5)) 2.0 ) ;_ end of polar 7 ) ;_ end of grdraw (SETQ inteop1 (upoint 1 "" "\nSelect edge of pavement line for left edge of driveway: " nil drvbp1)) (GRDRAW drvbp1 (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 0.5)) 10.0) -7) (GRDRAW (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 0.5)) 10.0) (POLAR (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 0.5)) 10.0) (- (ANGLE drvbp1 drvbp2) (/ PI 3.0)) 2.0 ) ;_ end of polar -7 ) ;_ end of grdraw (GRDRAW (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 0.5)) 10.0) (POLAR (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 0.5)) 10.0) (- (ANGLE drvbp1 drvbp2) (/ PI 1.5)) 2.0 ) ;_ end of polar -7 ) ;_ end of grdraw (GRDRAW drvbp1 (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 1.5)) 10.0) 7) (GRDRAW (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 1.5)) 10.0) (POLAR (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 1.5)) 10.0) (+ (ANGLE drvbp1 drvbp2) (/ PI 3.0)) 2.0 ) ;_ end of polar 7 ) ;_ end of grdraw (GRDRAW (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 1.5)) 10.0) (POLAR (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 1.5)) 10.0) (+ (ANGLE drvbp1 drvbp2) (/ PI 1.5)) 2.0 ) ;_ end of polar 7 ) ;_ end of grdraw (SETQ inteop2 (upoint 1 "" "\nSelect edge of pavement line for right edge of driveway: " nil drvbp1)) (GRDRAW drvbp1 (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 1.5)) 10.0) -7) (GRDRAW (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 1.5)) 10.0) (POLAR (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 1.5)) 10.0) (+ (ANGLE drvbp1 drvbp2) (/ PI 3.0)) 2.0 ) ;_ end of polar -7 ) ;_ end of grdraw (GRDRAW (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 1.5)) 10.0) (POLAR (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 1.5)) 10.0) (+ (ANGLE drvbp1 drvbp2) (/ PI 1.5)) 2.0 ) ;_ end of polar -7 ) ;_ end of grdraw (REDRAW) (SETVAR "osmode" old_drvwosmode) ) ;_ end of PROGN ;;; ) (COND ((OR (WCMATCH (STRCASE ent_302) "*GD*") (WCMATCH (STRCASE ent_302) "*GRAVEL*DR*") (WCMATCH (STRCASE ent_302) "*GRVL*DR*") (WCMATCH (STRCASE nent_302) "*GD*") (WCMATCH (STRCASE nent_302) "*GRAVEL*DR*") (WCMATCH (STRCASE nent_302) "*GRVL*DR*") (IF PICK_302 (WCMATCH (STRCASE pick_302) "*GRAVEL*") ) ) ;_ end of OR (SETQ ent_lay "C-GRVL7DRVE") ) ((OR (WCMATCH (STRCASE ent_302) "*GRD*") (WCMATCH (STRCASE ent_302) "*GRAVEL*RD*") (WCMATCH (STRCASE ent_302) "*GRAVEL*ROAD*") (WCMATCH (STRCASE ent_302) "*GRVL*RD*") (WCMATCH (STRCASE nent_302) "*GRVL*ROAD*") (WCMATCH (STRCASE nent_302) "*GRD*") (WCMATCH (STRCASE nent_302) "*GRAVEL*RD*") (WCMATCH (STRCASE nent_302) "*GRAVEL*ROAD*") (WCMATCH (STRCASE nent_302) "*GRVL*RD*") (WCMATCH (STRCASE nent_302) "*GRVL*ROAD*") ) ;_ end of OR (SETQ ent_lay "C-GRVL7ROAD") ) ((OR (WCMATCH (STRCASE ent_302) "*CONC*RD*") (WCMATCH (STRCASE ent_302) "*CONC*ROAD*") (WCMATCH (STRCASE nent_302) "*CONC*RD*") (WCMATCH (STRCASE nent_302) "*CONC*ROAD*") ) ;_ end of OR (SETQ ent_lay "C-CONC7ROAD") ) ((OR (WCMATCH (STRCASE ent_302) "*CONC*DR*") (WCMATCH (STRCASE nent_302) "*CONC*DR*") (IF PICK_302 (WCMATCH (STRCASE pick_302) "*CONC*") ) ) (SETQ ent_lay "C-CONC7DRVE") ) ((OR (WCMATCH (STRCASE ent_302) "*SOIL*RD*") (WCMATCH (STRCASE ent_302) "*SRD*") (WCMATCH (STRCASE ent_302) "*SOIL*ROAD*") (WCMATCH (STRCASE nent_302) "*SOIL*RD*") (WCMATCH (STRCASE nent_302) "*SRD*") (WCMATCH (STRCASE nent_302) "*SOIL*ROAD*") ) ;_ end of OR (SETQ ent_lay "C-SOIL7ROAD") ) ((OR (WCMATCH (STRCASE ent_302) "*SOIL*DR*") (WCMATCH (STRCASE ent_302) "*SDR*") (WCMATCH (STRCASE nent_302) "*SOIL*DR*") (WCMATCH (STRCASE nent_302) "*SDR*") (IF PICK_302 (WCMATCH (STRCASE pick_302) "*SOIL*") ) ) ;_ end of OR (SETQ ent_lay "C-SOIL7DRVE") ) (T (SETQ ent_lay "C-0UNK7DRVE")) ) ;_ end of COND (IF (AND inteop1 inteop2 drvbp1 drvbp2 drvp1d drvp2d) (PROGN (SETQ drvpt1a (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 0.5)) drvp1d) drvpt1b (POLAR drvbp2 (+ (ANGLE drvbp1 drvbp2) (* PI 0.5)) drvp2d) drvpt1c (POLAR drvpt1b (ANGLE drvbp1 drvbp2) 20.0) drvpt2a (POLAR drvbp1 (+ (ANGLE drvbp1 drvbp2) (* PI 1.5)) drvp1d) drvpt2b (POLAR drvbp2 (+ (ANGLE drvbp1 drvbp2) (* PI 1.5)) drvp2d) drvpt2c (POLAR drvpt2b (ANGLE drvbp1 drvbp2) 20.0) ) ;_ end of SETQ ;;; (IF (AND enteop1 enteop2) ;;; (PROGN (SETQ interpt1a drvbp1 interpt1b inteop1 interpt2a drvbp1 interpt2b inteop2 intpt1a (LIST (CAR interpt1a) (CADR interpt1a) 0.0) intpt1b (LIST (CAR interpt1b) (CADR interpt1b) 0.0) intpt2a (LIST (CAR interpt2a) (CADR interpt2a) 0.0) intpt2b (LIST (CAR interpt2b) (CADR interpt2b) 0.0) drvpt1a (INTERS drvpt1a drvpt1b intpt1a intpt1b NIL) drvpt2a (INTERS drvpt2a drvpt2b intpt2a intpt2b NIL) drvpt1a (POLAR drvbp1 (ANGLE drvbp1 drvpt1a) drvp1d) drvpt2a (POLAR drvbp1 (ANGLE drvbp1 drvpt2a) drvp1d) ) ;_ end of SETQ (ENTMAKE (LIST (CONS 0 "LINE") (CONS 8 ent_lay) (CONS 10 drvpt1a) (CONS 11 drvpt1b))) (ENTMAKE (LIST (CONS 0 "LINE") (CONS 8 ent_lay) (CONS 10 drvpt1b) (CONS 11 drvpt1c))) (ENTMAKE (LIST (CONS 0 "LINE") (CONS 8 ent_lay) (CONS 10 drvpt2a) (CONS 11 drvpt2b))) (ENTMAKE (LIST (CONS 0 "LINE") (CONS 8 ent_lay) (CONS 10 drvpt2b) (CONS 11 drvpt2c))) (SETQ entlaydef (TBLSEARCH "layer" ent_lay)) (IF (EQ (CDR (ASSOC 6 entlaydef)) "CONTINUOUS") NIL (COMMAND "-layer" "lt" "continuous" ent_lay "") ) ;_ end of if ;;; ) ;;; (if (not (or enteop1 enteop2)) ;;; (PRINC "\nOne or more edge of pavement entities is not a line! ") ;;; (if (not (and drvbp1 drvbp2 drvp1d drvp2d)) ;;; (PRINC "\nUnable to find intersections at EOP! ") ;;; ) ;;; ) ) ;_ end of PROGN (PRINC "\nSelected points do NOT have CL#' or CL#F in their descriptions! ") ) ;_ end of IF (IF old_drvwerror (SETQ *error* old_drvwerror) ) ;_ end of IF (IF old_drvwosmode (SETVAR "osmode" old_drvwosmode) ) ;_ end of IF (command ".undo" "end") (PRINC) ) ;_ end of DEFUN (SET 'c:drvw c:driveway) (PRINC) ;|«Visual LISP© Format Options» (120 2 15 2 T "end of " 100 9 2 0 nil nil nil T T) ***Don't add text below the comment!***|;