;****************************************************************** ; VIRTUAL PAGING FUNCTION (VMON) ;****************************************************************** ;****************************************************************** ; CONVERTS ANGLES IN DEGREES TO RADIANS SO LISP CAN USE IT. ; ; (DEFUN DTR (A) (* PI (/ A 180.0)) ) ;****************************************************************** ; ; WRITTEN BY: DOUGLAS SCHIEBER (2-89) ;****************************************************************** ; ; THIS PROGRAM DRAWS A SIDE VIEW OF A C'BORED ; THRU HOLE (HIDDEN). AND PUTS IN IT'S OWN ; CENTER LINE. ; ; (DEFUN C:CBORESV (/ sz) (SETVAR "CMDECHO" 0) (SETQ IP (GETPOINT "\nPlease Pick Center Point Of C'bore: ")) (prompt "\nEnter size: (Available sizes 0 Thru 1.0): ") (setq sz (getstring)) (type (data1)) (SETQ CBD rd) (SETQ CDB dii) (SETQ MT (GETDIST IP "\nPlease Enter Total Part Thickness: ")) (SETQ DD dia) (SETQ ANG (GETANGLE IP "\nPlease Pick Angle For C'bore: ")) (SETQ A (- CDB MT)) (SETQ P1A (/ CBD 2)) (SETQ P1B (/ DD 2)) (SETQ P1 (POLAR IP (+ ANG (DTR +90)) P1A)) (SETQ P2 (POLAR P1 ANG CDB)) (SETQ P3 (POLAR P2 (- ANG (DTR +90)) CBD)) (SETQ P4 (POLAR P3 (+ ANG (DTR -180)) CDB)) (SETQ IP1 (POLAR IP ANG CDB)) (SETQ P5 (POLAR IP1 (+ ANG (DTR +90)) P1B)) (SETQ P6 (POLAR P5 (+ ANG (DTR +180)) A)) (SETQ P7 (POLAR P5 (+ ANG (DTR -90)) DD)) (SETQ P8 (POLAR P7 (+ ANG (DTR +180)) A)) (SETQ LN (GETVAR "CLAYER")) (IF (/= HID) (COMMAND "LAYER" "M" "HID" "L" "HIDDEN" "" "C" "6" "" "S" "HID" "")) (COMMAND "LINE" P1 P2 P3 P4 "" "LINE" P5 P6 "" "LINE" P7 P8 "") (SETQ CEN 0.125) (SETQ CEN1 (POLAR IP (+ ANG (DTR +180)) CEN)) (SETQ CE (+ MT CEN)) (SETQ CE1 (+ CE CEN)) (SETQ CEN2 (POLAR CEN1 ANG CE1)) (IF (/= CEN) (COMMAND "LAYER" "M" "CEN" "L" "CENTER" "" "C" "2" "" "S" "CEN" "")) (COMMAND "LINE" CEN1 CEN2 "") (COMMAND "LAYER" "S" LN "")(PRINC)) ; ; ;****************************************************************** ; THIS PROGRAM DRAWS IN A SIDE VIEW OF A TAPPED HOLE (HIDDEN), ; WITH IT'S OWN CENTER LINE. ; ; (DEFUN C:SVTH (/ sz) (SETVAR "CMDECHO" 0) (TERPRI) (SETQ LN (GETVAR "CLAYER")) (SETQ IP (GETPOINT "\nPlease Pick Center Point of Hole: ")) (prompt "\nEnter size: (Available sizes 0 Thru 1.0): ") (setq sz (getstring)) (type (data1)) (SETQ DD di) (SETQ TS dii) (SETQ TD (GETREAL "\nPlease Enter Full Tapped Hole Depth: ")) (SETQ ANG (GETANGLE IP "\nPlease Pick Angle For Tapped Hole: ")) (setq dd1 (/ dd 2)) (setq ts1 (/ ts 2)) (setq tdd (+ td ts1)) (setq td1 (polar ip (+ ang (dtr -90)) dd1)) (setq td2 (polar td1 ang tdd)) (setq ang1 (/ dd1 0.8660254)) (setq td3 (polar td2 (+ ang (dtr 60)) ang1)) (setq td4 (polar td3 (+ ang (dtr 120)) ang1)) (setq td5 (polar td4 (+ ang (dtr 180)) tdd)) (setq t1 (polar ip (+ ang (dtr -90)) ts1)) (setq t2 (polar t1 ang td)) (setq t3 (polar t2 (+ ang (dtr 90)) ts)) (setq t4 (polar t3 (+ ang (dtr 180)) td)) (IF (/= HID) (COMMAND "LAYER" "M" "HID" "L" "HIDDEN" "" "C" "6" "" "S" "HID" "")) (command "line" td1 td2 td3 td4 td5 "" "line" td2 td4 "" "line" t1 t2 t3 t4 "") (IF (/= CEN) (COMMAND "LAYER" "M" "CEN" "L" "CENTER" "" "C" "2" "" "S" "CEN" "")) (setq cen1 (polar ip (+ ang (dtr 180)) 0.125)) (setq cen2 (polar td3 ang 0.125)) (COMMAND "LINE" CEN1 CEN2 "") (COMMAND "LAYER" "S" LN "")(PRINC)) ;****************************************************************** ; THIS PROGRAM PUTS IN TOP VIEW OF A TAPPED HOLE. ; ; (DEFUN C:TH (/ sz) (SETVAR "CMDECHO" 0) (SETQ LN (GETVAR "CLAYER")) (SETQ A (GETPOINT "\nPlease Pick Center Point Of Tapped Hole: ")) (prompt "\nEnter size: (Available sizes 0 Thru 1.0): ") (setq sz (getstring)) (type (data1)) (SETQ B di) (SETQ D dii) (IF (/= FASTENERS) (COMMAND "LAYER" "M" "FASTENERS" "L" "" "" "C" "4" "" "S" "FASTENERS" "")) (COMMAND "CIRCLE" A "D" B) (IF (/= HID) (COMMAND "LAYER" "M" "HID" "L" "HIDDEN" "" "C" "6" "" "S" "HID" "")) (COMMAND "CIRCLE" A "D" D) (COMMAND "LAYER" "S" LN "")(PRINC)) ;****************************************************************** ; THIS PROGRAM PUTS IN TOP VIEW OF A ; SOCKET HEAD CAP SCREW ; ; (DEFUN C:TVSH (/ sz)(SETVAR "CMDECHO" 0) (SETQ LN (GETVAR "CLAYER")) (SETQ IP (GETPOINT "\nPlease Pick Center Point Of Cap: ")) (prompt "\nEnter size: (Available sizes 0 Thru 1.0): ") (setq sz (getstring)) (type (data)) (SETQ BHD rd) (setq rdd (- rd 0.03)) (SETQ ST (/ di 2)) (IF (/= FASTENERS) (COMMAND "LAYER" "M" "FASTENERS" "C" "4" "" "S" "FASTENERS" "")) (COMMAND "CIRCLE" IP "D" BHD) (COMMAND "CIRCLE" IP "D" rdd) (COMMAND "POLYGON" "6" IP "I" st) (COMMAND "LAYER" "S" LN "") (PRINC)) ; ; ; ;****************************************************************** ; THIS PROGRAM PUTS IN COUNTER SINK SIDE VIEW (hidden) ; WITH IT'S OWN CENTER LINE. ; (DEFUN C:CSSV (/ sz) (SETQ LN (GETVAR "CLAYER")) (SETVAR "CMDECHO" 0) (SETQ IP (GETPOINT "\nPlease Pick Center Point: ")) (prompt "\nEnter size: (Available sizes 0 Thru 3/4): ") (setq sz (getstring)) (type (csinkdata)) (setq fhd dia) (setq thd rd) (setq dfh di) (setq mt (getDIST IP "\nPlease Enter Total Material Thickness: ")) (setq ang (getangle IP "\nPlease Enter Angle Of C'sink: ")) (setq a (/ fhd 2)) (setq b (/ rd 2)) (setq a1 (polar ip ang di)) (setq b1 (polar ip ang mt)) (setq pt1 (polar ip (- ang (dtr +90)) a)) (setq pt2 (polar a1 (- ang (dtr +90)) b)) (setq pt3 (polar b1 (- ang (dtr +90)) b)) (setq pt4 (polar b1 (- ang (dtr -90)) b)) (setq pt5 (polar a1 (- ang (dtr -90)) b)) (setq pt6 (polar ip (- ang (dtr -90)) a)) (setq cen1 (polar ip (+ ang (dtr +180)) 0.125)) (setq cen2 (polar b1 ang 0.125)) (IF (/= HID) (COMMAND "LAYER" "M" "HID" "L" "HIDDEN" "" "C" "6" "" "S" "HID" "")) (COMMAND "LINE" Pt1 Pt2 Pt3 "" "LINE" Pt4 Pt5 Pt6 "" "LINE" Pt5 Pt2 "") (IF (/= CEN) (COMMAND "LAYER" "M" "CEN" "L" "CENTER" "" "C" "2" "" "S" "CEN" "")) (COMMAND "LINE" CEN1 CEN2 "") (COMMAND "LAYER" "S" LN "")(PRINC)) ; ;****************************************************************** ; ; ; THIS PROGRAM PUTS IN TOP VIEW ; COUNTER BORED HOLES. ; ; ; (defun c:cboretv (/ sz) (SETVAR "CMDECHO" 0) (SETQ LN (GETVAR "CLAYER")) (setq cp (getpoint "\nPlease Pick Center Point Of C'bore: ")) (prompt "\nEnter size: (Available sizes 0 Thru 1.0): ") (setq sz (getstring)) (type (data1)) (setq td dia) (setq bd rd) (IF (/= FASTENERS) (COMMAND "LAYER" "M" "FASTENERS" "C" "4" "" "S" "FASTENERS" "")) (command "circle" cp "d" td "circle" cp "d" bd ) (COMMAND "LAYER" "S" LN "") (PRINC)) ;****************************************************************** ; ; ; THIS PROGRAM PUTS IN SIDE VIEW OF ; A SHANK AND SIMPLIFIED THREADS ONLY,NOT THE CAP. ; ; ; (DEFUN C:SVCS (/ sz) (SETQ LN (GETVAR "CLAYER")) (SETVAR "CMDECHO" 0) (SETQ IP (GETPOINT "\nPlease Pick Center Point: ")) (prompt "\nEnter size: (Available sizes 0 Thru 1.0): ") (setq sz (getstring)) (type (data)) (SETQ HD rd) (SETQ HT dia) (SETQ SD HT) (SETQ BL (GETdist ip "\nPlease Enter Total Bolt Length: ")) (SETQ TL (GETREAL "\nPlease Enter Thread Length: ")) (SETQ ANG (GETANGLE IP "\nPlease Pick Angle For Screw: ")) (SETQ A (/ HD 2)) (SETQ HHT (/ HT 2)) (SETQ B (- HT 0.03)) (SETQ C (- A 0.03)) (SETQ D 0.0424264) (SETQ E (/ SD 2)) (SETQ F (- A E)) (SETQ G (- BL 0.03)) (SETQ H (- SD 0.06)) (SETQ K tl) (SETQ P1 (POLAR IP (+ ANG (DTR -90)) HHT)) (SETQ P2 (POLAR P1 ANG G)) (SETQ P3 (POLAR P2 (+ ANG (DTR +45)) D)) (SETQ P4 (POLAR P3 (+ ANG (DTR +90)) H)) (SETQ P5 (POLAR P4 (+ ANG (DTR +135)) D)) (SETQ P6 (POLAR P5 (+ ANG (DTR +180)) G)) (IF (/= FASTENERS) (COMMAND "LAYER" "M" "FASTENERS" "S" "FASTENERS" "")) (COMMAND "LINE" P1 P2 P3 P4 P5 P6 "") (COMMAND "LINE" P2 P5 "") (SETQ P7 (POLAR P2 (+ ANG (DTR +90)) 0.03)) (SETQ P8 (POLAR P7 (+ ANG (DTR +180)) K)) (SETQ P9 (POLAR P5 (+ ANG (DTR -90)) 0.03)) (SETQ P10 (POLAR P9 (+ ANG (DTR +180)) K)) (SETQ P11 (POLAR P2 (+ ANG (DTR +180)) K)) (SETQ P12 (POLAR P11 (+ ANG (DTR +90)) SD)) (COMMAND "LINE" P11 P12 "") (IF (/= HID) (COMMAND "LAYER" "M" "HID" "L" "HIDDEN" "" "S" "HID" "")) (COMMAND "LINE" P7 P8 "" "LINE" P9 P10 "") (COMMAND "LAYER" "S" LN "") (princ)) ;****************************************************************** ; ; ; THIS PROGRAM PUTS IN SIDE VIEW OF ; A SOCKET HEAD CAP ; ; ; (DEFUN C:SVSHC (/ sz) (SETQ LN (GETVAR "CLAYER")) (SETVAR "CMDECHO" 0) (SETQ IP (GETPOINT "\nPlease Pick Center Point: ")) (prompt "\nEnter size: (Available sizes 0 Thru 1.0): ") (setq sz (getstring)) (type (data)) (SETQ HD rd) (SETQ HT dia) (SETQ ANG (GETANGLE IP "\nPlease Pick Angle For Head: ")) (SETQ A (/ HD 2)) (SETQ B (- HT 0.03)) (SETQ C (- HD 0.06)) (SETQ D 0.0424264) (SETQ P1 (POLAR IP (+ ANG (DTR -90)) A)) (SETQ P2 (POLAR P1 (+ ANG (DTR +180)) B)) (SETQ P3 (POLAR P2 (- ANG (DTR +225)) D)) (SETQ P4 (POLAR P3 (+ ANG (DTR +90)) C)) (SETQ P5 (POLAR P4 (+ ANG (DTR -315)) D)) (SETQ P6 (POLAR P5 ANG B)) (IF (/= FASTENERS) (COMMAND "LAYER" "M" "FASTENERS" "S" "FASTENERS" "")) (COMMAND "LINE" P1 P2 P3 P4 P5 P6 "") (COMMAND "LINE" P2 P5 "" "LINE" P6 P1 "") (IF (/= HID) (COMMAND "LAYER" "M" "HID" "L" "HIDDEN" "" "S" "HID" "")) (COMMAND "LAYER" "S" LN "") (princ)) ;****************************************************************** ; THIS PROGRAM PUTS IN SIDE VIEW OF A THRU TAPPED ; HOLE (HIDDEN). ; ; (DEFUN C:TTH (/ sz) (SETQ LN (GETVAR "CLAYER")) (SETVAR "CMDECHO" 0) (SETQ IP (GETPOINT "\nPlease Pick Center Point: ")) (PROMPT "\nEnter Size: (Available Size 0 THRU 1.0): ") (SETQ SZ (GETSTRING)) (type (data1)) (SETQ TD (GETdist IP "\nPlease Enter Full Tap Depth: ")) (SETQ PT (GETDIST IP "\nPlease Enter Total Part Thickness: ")) (SETQ ANG (GETANGLE IP "\nPlease Pick Angle For Tapped Hole: ")) (SETQ DD DI) (SETQ TS DII) (SETQ A (/ DD 2)) (SETQ B (/ TS 2)) (SETQ P1 (POLAR IP (+ ANG (DTR -90)) A)) (SETQ P2 (POLAR P1 ANG PT)) (SETQ P3 (POLAR P1 (+ ANG (DTR +90)) DD)) (SETQ P4 (POLAR P3 ANG PT)) (SETQ P5 (POLAR IP (+ ANG (DTR -90)) B)) (SETQ P6 (POLAR P5 ANG TD)) (SETQ P7 (POLAR P6 (+ ANG (DTR +90)) TS)) (SETQ P8 (POLAR P7 (+ ANG (DTR -180)) TD)) (IF (/= HID) (COMMAND "LAYER" "M" "HID" "L" "HIDDEN" "" "C" "6" "" "S" "HID" "")) (COMMAND "LINE" P1 P2 "" "LINE" P3 P4 "" "LINE" P5 P6 P7 P8 "") (COMMAND "LAYER" "S" LN "")(PRINC)) ;***************************************************************** ; ; THIS PROGRAM PUTS IN A SIDE VIEW ; OF A BUTTON HEAD ONLY,NO SHANK OR THREADS. ; ; (DEFUN C:SVBH (/ sz) (SETVAR "CMDECHO" 0) (SETQ LN (GETVAR "CLAYER")) (SETQ IP (GETPOINT "\nPlease Pick Center Point: ")) (PROMPT "\nENTER SIZE: (Available Sizes 4,6,8,10,1/4,5/16,3/8,1/2,5/8): ") (SETQ SZ (GETSTRING)) (TYPE (BHDATA)) (SETQ ANG (GETANGLE IP "\nPlease Pick Angle For B.H.C.: ")) (SETQ HD DIA) (SETQ HH RD) (SETQ FD DI) (SETQ HFD (/ FD 2)) (SETQ LH DII) (SETQ HHD (/ HD 2)) (SETQ RAD (- HD FD)) (SETQ R (/ RAD 2)) (SETQ P1 (POLAR IP (+ ANG (DTR -90)) HHD)) (SETQ P2 (POLAR P1 (+ ANG (DTR -180)) LH)) (SETQ P3 (POLAR P2 (+ ANG (DTR +90)) HD)) (SETQ P4 (POLAR P3 ANG LH)) (SETQ A (POLAR IP (+ ANG (DTR +180)) RD)) (SETQ P5 (POLAR A (+ ANG (DTR -90)) HFD)) (SETQ P6 (POLAR P5 (+ ANG (DTR +90)) FD)) (IF (/= FASTENERS) (COMMAND "LAYER" "M" "FASTENERS" "C" "4" "" "S" "FASTENERS" "")) (COMMAND "LINE" P1 P2 P3 P4 P1 "" "LINE" P5 P6 "" "ARC" P5 "E" P2 "R" R "ARC" P3 "E" P6 "R" R) (COMMAND "LAYER" "S" LN "")(PRINC)) ;***************************************************************** ; ; THIS PROGRAM PUT IN A SIDE VIEW OF ; A FLAT HEAD CAP ONLY,NO SHANK OR THREADS. ; ; (defun c:flhc (/ sz) (setq ln (getvar "clayer")) (setvar "cmdecho" 0) (setq ip (getpoint "\nPlease Pick Center Point: ")) (prompt "\nEnter Size Here: (Available sizes 0 thru 3/4): ") (setq sz (getstring)) (type (flhcdata)) (setq ang (getangle IP "\nPlease Pick Angle For Cap: ")) (setq fhd dia) (setq ht rd) (setq lh di) (setq hhd (/ fhd 2)) (setq la (dtr 41)) (setq cos1 (cos la)) (setq ah (- ht lh))(setq lal (/ ah cos1)) (setq a (polar ip (+ ang (dtr -90)) hhd)) (setq p1 (polar a (+ ang (dtr -180)) ht)) (setq p2 (polar p1 (+ ang (dtr +90)) fhd)) (setq p3 (polar p2 ang lh)) (setq p4 (polar p3 (+ ang (dtr -90)) fhd)) (setq p5 (polar p3 (+ ang (dtr -41)) lal)) (setq p6 (polar p4 (+ ang (dtr +41)) lal)) (if (/= FASTENERS) (command "layer" "m" "FASTENERS" "c" "4" "" "s" "FASTENERS" "")) (command "line" p1 p2 p3 p4 p1 "" "line" p3 p5 p6 p4 "") (command "layer" "s" ln "")(princ)) ;***************************************************************** ;***************************************************************** (DEFUN data (/ tbl) (SETQ TBL (LIST '("0" 0.060 0.096 0.050) '("#1" 0.073 0.118 0.062) '("2" 0.086 0.140 0.078) '("3" 0.099 0.161 0.078) '("4" 0.112 0.183 0.094) '("5" 0.125 0.205 0.094) '("6" 0.138 0.226 0.109) '("8" 0.164 0.270 0.141) '("10" 0.190 0.312 0.156) '("1/4" 0.250 0.375 0.188) '("5/16" 0.3125 0.469 0.250) '("3/8" 0.375 0.562 0.312) '("7/16" 0.438 0.656 0.375) '("1/2" 0.500 0.750 0.375) '("5/8" 0.625 0.938 0.500 0.9876) '("3/4" 0.750 1.125 0.625) '("7/8" 0.875 1.3125 0.750) '("1" 1.000 1.500 0.750)) ) (setq n 20) (while (and (>= n 0) (/= sz (car (nth n tbl)))) (setq n (1- n)) ) (if (>= n 0) (setq dia (cadr (nth n tbl)) rd (caddr (nth n tbl)) di (cadddr (nth n tbl)) ))) ; ;*********************************************************** (DEFUN data1 (/ tbl) (SETQ TBL (LIST '("0" 0.073 0.115 0.0465 0.060) '("#1" 0.089 0.140 0.0595 0.073) '("2" 0.106 0.172 0.070 0.086) '("3" 0.120 0.194 0.081 0.099) '("4" 0.136 0.219 0.089 0.112) '("5" 0.154 0.250 0.1015 0.125) '("6" 0.1695 0.272 0.1094 0.138) '("8" 0.1935 0.316 0.136 0.164) '("10" 0.221 0.359 0.1495 0.190) '("1/4" 0.281 0.422 0.204 0.250) '("5/16" 0.3437 0.515 0.261 0.3125) '("3/8" 0.406 0.609 0.316 0.375) '("7/16" 0.4687 0.703 0.368 0.4375) '("1/2" 0.5312 0.797 0.4219 0.500) '("5/8" 0.6562 1.000 0.5312 0.625) '("3/4" 0.7812 1.187 0.6562 0.750) '("7/8" 0.9062 1.375 0.7656 0.875) '("1" 1.0312 1.562 0.875 1.000)) ) (setq n 20) (while (and (>= n 0) (/= sz (car (nth n tbl)))) (setq n (1- n)) ) (if (>= n 0) (setq dia (cadr (nth n tbl)) rd (caddr (nth n tbl)) di (cadddr (nth n tbl)) dii (last (nth n tbl)) ))) ;*********************************************************** (DEFUN csinkdata (/ tbl) (SETQ TBL (LIST '("0" 0.1495 0.0730 0.0440) '("1" 0.1829 0.0890 0.0540) '("2" 0.2178 0.1065 0.0640) '("3" 0.2469 0.1200 0.0730) '("4" 0.2803 0.1360 0.0830) '("5" 0.3105 0.154 0.0900) '("6" 0.3381 0.1695 0.0970) '("8" 0.3882 0.1935 0.1120) '("10" 0.4418 0.221 0.1270) '("1/4" 0.5609 0.281 0.1610) '("5/16" 0.6879 0.3437 0.1980) '("3/8" 0.8130 0.4062 0.2340) '("7/16" 0.8755 0.4687 0.2340) '("1/2" 0.9676 0.5312 0.2510) '("5/8" 1.2195 0.6562 0.3240) '("3/4" 1.4697 0.7812 0.3960)) ) (setq n 20) (while (and (>= n 0) (/= sz (car (nth n tbl)))) (setq n (1- n)) ) (if (>= n 0) (setq dia (cadr (nth n tbl)) rd (caddr (nth n tbl)) di (cadddr (nth n tbl)) ))) ;*********************************************************** (DEFUN BHdata (/ tbl) (SETQ TBL (LIST '("4" 0.213 0.059 0.092 0.015) '("6" 0.262 0.073 0.108 0.015) '("8" 0.312 0.087 0.123 0.015) '("10" 0.361 0.101 0.155 0.020) '("1/4" 0.437 0.132 0.186 0.031) '("5/16" 0.547 0.166 0.217 0.031) '("3/8" 0.656 0.199 0.248 0.031) '("1/2" 0.875 0.265 0.342 0.046) '("5/8" 1.0000 0.331 0.5312 0.0625)) ) (setq n 20) (while (and (>= n 0) (/= sz (car (nth n tbl)))) (setq n (1- n)) ) (if (>= n 0) (setq dia (cadr (nth n tbl)) rd (caddr (nth n tbl)) di (cadddr (nth n tbl)) dii (last (nth n tbl)) ))) ;*********************************************************** (DEFUN flhcdata (/ tbl) (SETQ TBL (LIST '("0" 0.1170 0.044 0.0118) '("1" 0.1430 0.054 0.0142) '("2" 0.1680 0.064 0.0167) '("3" 0.1930 0.073 0.0190) '("4" 0.2180 0.083 0.0215) '("5" 0.2400 0.090 0.0252) '("6" 0.2630 0.097 0.0250) '("8" 0.3110 0.112 0.0276) '("10" 0.3590 0.127 0.0299) '("1/4" 0.4800 0.161 0.0292) '("5/16" 0.6000 0.198 0.0323) '("3/8" 0.7200 0.234 0.0352) '("7/16" 0.7810 0.234 0.0363) '("1/2" 0.8720 0.251 0.03780) '("5/8" 1.1120 0.324 0.0439) '("3/4" 1.3550 0.3960 0.0501)) ) (setq n 20) (while (and (>= n 0) (/= sz (car (nth n tbl)))) (setq n (1- n)) ) (if (>= n 0) (setq dia (cadr (nth n tbl)) rd (caddr (nth n tbl)) di (cadddr (nth n tbl)) )))(princ)