(defun err1 (s1)
(if (/= s1 “Function cancelled”)
(princ (strcat “nError:” s1))
)
(setvar “cmdecho” echo)
(setq *error* olderr)
(princ)
)
(defun c:tor ()
(graphscr)
(setq olderr *error* *error* err1)
(setq echo (getvar “cmdecho”))
(setvar “cmdecho” 0)
(menucmd “p0=m_tolerance”)(menucmd “p0=*”)
(initget 1 “Shaft Hole STand Key SRSha SRHol”)
(prompt “nSelect option…”)(terpri)
(setq to_cmd (getkword “nShaft/Hole/Standard/Key-shaft(KS)/Key-hole(KH)/Snapring-shaft(SRS)/Snapring-hole(SRH):”))
(cond ((= to_cmd “Shaft”)
(progn
(if (= to_dia nil)(setq to_dia 10))(setq qto_dia to_dia)
(setq to_dia (getdist (strcat “nInput diameter<” (rtos to_dia 2 2) “>:”)))
(if (= to_dia nil)(setq to_dia qto_dia))
(if (= to_num nil)(setq to_num “g6”))(setq qto_num to_num)
(setq dd 5)
(while dd
(setq to_num (getstring (strcat “nInput Tolerance<” to_num “>:”)))
(if (= to_num “”)(setq to_num qto_num))
(setq to_num (strcase to_num t))
(if (or (= to_num “b9”)(= to_num “c9”)(= to_num “d8”)(= to_num “d9”)
(= to_num “e7”)(= to_num “e8”)(= to_num “e9”)(= to_num “f6”)
(= to_num “f7”)(= to_num “f8”)(= to_num “g4”)(= to_num “g5”)
(= to_num “g6”)(= to_num “h4”)(= to_num “h5”)(= to_num “h6”)
(= to_num “h7”)(= to_num “h8”)(= to_num “h9”)(= to_num “js4”)
(= to_num “js5”)(= to_num “js6”)(= to_num “js7”)(= to_num “k4”)
(= to_num “k5”)(= to_num “k6”)(= to_num “m4”)(= to_num “m5”)
(= to_num “m6”)(= to_num “n6”)(= to_num “p6”)(= to_num “r6”)
(= to_num “s6”)(= to_num “t6”)(= to_num “u6”)(= to_num “x6”) )
(setq dd nil)
(princ (strcat “nInvalide. <” to_num “>not found. Try again!!”))
)
);; while dd end
(setq tn to_num
tn-a (substr tn 1 1)
to_file (open “z:/acad/data/to-shaft.dat” “r”)
to_file1 (read-line to_file)
to_dmin (atof (substr to_file1 1 3))
to_dmax (atof (substr to_file1 5 3)) )
(while (or (<= to_dia to_dmin)(> to_dia to_dmax))
(setq to_file1 (read-line to_file)
to_dmin (atof (substr to_file1 1 3))
to_dmax (atof (substr to_file1 5 3)) )
);;
(cond ((= tn “b9”)(setq aa 9 bb 3 cc 97 dd 3))((= tn “c9”)(setq aa 13 bb 3 cc 101 dd 3))
((= tn “d8”)(setq aa 17 bb 3 cc 105 dd 3))((= tn “d9”)(setq aa 17 bb 3 cc 109 dd 3))
((= tn “e7”)(setq aa 21 bb 3 cc 113 dd 3))((= tn “e8”)(setq aa 21 bb 3 cc 117 dd 3))
((= tn “e9”)(setq aa 21 bb 3 cc 121 dd 3))((= tn “f6”)(setq aa 25 bb 2 cc 125 dd 3))
((= tn “f7”)(setq aa 25 bb 2 cc 129 dd 3))((= tn “f8”)(setq aa 25 bb 2 cc 133 dd 3))
((= tn “g4”)(setq aa 28 bb 2 cc 137 dd 2))((= tn “g5”)(setq aa 28 bb 2 cc 140 dd 2))
((= tn “g6”)(setq aa 28 bb 2 cc 143 dd 2))((= tn “h4”)(setq aa 31 bb 2 cc 146 dd 2))
((= tn “h5”)(setq aa 31 bb 2 cc 149 dd 2))((= tn “h6”)(setq aa 31 bb 2 cc 152 dd 2))
((= tn “h7”)(setq aa 31 bb 2 cc 155 dd 2))((= tn “h8”)(setq aa 31 bb 2 cc 158 dd 2))
((= tn “h9”)(setq aa 31 bb 2 cc 161 dd 3))((= tn “js4”)(setq aa 33 bb 2 cc 33 dd 2))
((= tn “js5”)(setq aa 37 bb 4 cc 37 dd 4))((= tn “js6”)(setq aa 42 bb 4 cc 42 dd 4))
((= tn “js7”)(setq aa 47 bb 4 cc 47 dd 4))((= tn “k4”)(setq aa 52 bb 2 cc 165 dd 2))
((= tn “k5”)(setq aa 55 bb 2 cc 165 dd 2))((= tn “k6”)(setq aa 58 bb 2 cc 165 dd 2))
((= tn “m4”)(setq aa 61 bb 2 cc 168 dd 2))((= tn “m5”)(setq aa 64 bb 2 cc 168 dd 2))
((= tn “m6”)(setq aa 67 bb 2 cc 168 dd 2))((= tn “n6”)(setq aa 70 bb 2 cc 171 dd 3))
((= tn “p6”)(setq aa 73 bb 3 cc 174 dd 2))((= tn “r6”)(setq aa 77 bb 3 cc 177 dd 3))
((= tn “s6”)(setq aa 81 bb 3 cc 181 dd 3))((= tn “t6”)(setq aa 85 bb 3 cc 185 dd 3))
((= tn “u6”)(setq aa 89 bb 3 cc 189 dd 3))((= tn “x6”)(setq aa 93 bb 2 cc 193 dd 2)) );;;
(setq up_tor (/ (atof (substr to_file1 aa bb)) 1000)
dn_tor (/ (atof (substr to_file1 cc dd)) 1000) )
(cond ((or (= tn-a “b”)(= tn-a “c”)(= tn-a “d”)(= tn-a “e”)
(= tn-a “f”)(= tn-a “g”))(setq up_sym “-” dn_sym “-“))
((= tn-a “h”)(setq up_sym ” ” dn_sym “-“))
((= tn-a “j”)(setq up_sym “+” dn_sym “-“))
((or (= tn-a “k”)(= tn-a “m”)(= tn-a “n”)
(= tn-a “p”)(= tn-a “r”)(= tn-a “s”)(= tn-a “t”)
(= tn-a “u”)(= tn-a “x”))(setq up_sym “+” dn_sym “+”))
);;;
(if (= tn-a “j”)(setq dd 4)(setq up_dd 3 dn_dd 3))
(if (= up_tor 0)(setq up_dd 0))
(if (= dn_tor 0)(setq dn_dd 0))
(setq up_txt (strcat up_sym (rtos up_tor 2 up_dd))
dn_txt (strcat dn_sym (rtos dn_tor 2 dn_dd)) ) (initget 1)
(setq to_pnt (getpoint “nText position:”)) (initget 1)
(setq an (getangle “nAngle:” to_pnt))
(command “text” to_pnt (* (getvar “dimscale”) 1.5) (rtd an) dn_txt)
(setq to_pnt (polar to_pnt (ang 90) (* (getvar “dimscale”) 1.8)))
(command “text” to_pnt (* (getvar “dimscale”) 1.5) (rtd an) up_txt)
));; <progn end>
;;————————————————————————-
((= to_cmd “Hole”)
(progn
(if (= to_dia nil)(setq to_dia 10))(setq qto_dia to_dia)
(setq to_dia (getdist (strcat “nInput diameter<” (rtos to_dia 2 2) “>:”)))
(if (= to_dia nil)(setq to_dia qto_dia))
(if (= to_num1 nil)(setq to_num1 “H7”))(setq qto_num1 to_num1)
(setq dd 5)
(while dd
(setq to_num1 (getstring (strcat “nInput Tolerance<” to_num1 “>:”)))
(if (= to_num1 “”)(setq to_num1 qto_num1))
(setq to_num1 (strcase to_num1))
(if (or (= to_num1 “B10”)(= to_num1 “C9”)(= to_num1 “C10”)(= to_num1 “D8”)
(= to_num1 “D9”)(= to_num1 “D10”)(= to_num1 “E7”)(= to_num1 “E8”)
(= to_num1 “E9”)(= to_num1 “F6”)(= to_num1 “F7”)(= to_num1 “F8”)
(= to_num1 “G6”)(= to_num1 “G7”)(= to_num1 “H5”)(= to_num1 “H6”)
(= to_num1 “H7”)(= to_num1 “H8”)(= to_num1 “H9”)(= to_num1 “H10”)
(= to_num1 “JS5”)(= to_num1 “JS6”)(= to_num1 “JS7”)(= to_num1 “K5”)
(= to_num1 “K6”)(= to_num1 “K7”)(= to_num1 “M5”)(= to_num1 “M6”)
(= to_num1 “M7”)(= to_num1 “N6”)(= to_num1 “N7”)(= to_num1 “P6”)
(= to_num1 “P7”)(= to_num1 “R7”)(= to_num1 “S7”)(= to_num1 “T7”)
(= to_num1 “U7”)(= to_num1 “X7”) )
(setq dd nil)
(princ (strcat “nInvalide. <” to_num1 “>not found. Try again!!”))
)
);; while dd end
(setq tn to_num1
tn-a (substr tn 1 1)
to_file (open “z:/acad/data/to-hole.dat” “r”)
to_file1 (read-line to_file)
to_dmin (atof (substr to_file1 1 3))
to_dmax (atof (substr to_file1 5 3)) )
(while (or (<= to_dia to_dmin)(> to_dia to_dmax))
(setq to_file1 (read-line to_file)
to_dmin (atof (substr to_file1 1 3))
to_dmax (atof (substr to_file1 5 3)) )
);;
(cond ((= tn “B10”)(setq aa 9 bb 4 cc 149 dd 3))((= tn “C9”)(setq aa 14 bb 3 cc 153 dd 3))
((= tn “C10”)(setq aa 18 bb 3 cc 153 dd 3))((= tn “D8”)(setq aa 22 bb 3 cc 157 dd 3))
((= tn “D9”)(setq aa 26 bb 3 cc 157 dd 3))((= tn “D10”)(setq aa30 bb 3 cc 157 dd 3))
((= tn “E7”)(setq aa 34 bb 3 cc 161 dd 3))((= tn “E8”)(setq aa 38 bb 3 cc 161 dd 3))
((= tn “E9”)(setq aa 42 bb 3 cc 161 dd 3))((= tn “F6”)(setq aa 46 bb 3 cc 165 dd 2))
((= tn “F7”)(setq aa 50 bb 3 cc 165 dd 2))((= tn “F8”)(setq aa 54 bb 3 cc 165 dd 2))
((= tn “G6”)(setq aa 58 bb 2 cc 168 dd 2))((= tn “G7”)(setq aa 61 bb 3 cc 168 dd 2))
((= tn “H5”)(setq aa 64 bb 2 cc 171 dd 2))((= tn “H6”)(setq aa 67 bb 2 cc 171 dd 2))
((= tn “H7”)(setq aa 70 bb 2 cc 171 dd 2))((= tn “H8”)(setq aa 73 bb 2 cc 171 dd 2))
((= tn “H9”)(setq aa 76 bb 3 cc 171 dd 2))((= tn “H10”)(setq aa 80 bb 3 cc 80 dd 3))
((= tn “JS5”)(setq aa 84 bb 4 cc 84 dd 4))((= tn “JS6”)(setq aa 89 bb 4 cc 89 dd 4))
((= tn “JS7”)(setq aa 94 bb 4 cc 94 dd 4))((= tn “K5”)(setq aa 99 bb 2 cc 173 dd 2))
((= tn “K6”)(setq aa 102 bb 2 cc 176 dd 2))((= tn “K7”)(setq aa 105 bb 2 cc 179 dd 2))
((= tn “M5”)(setq aa 108 bb 2 cc 182 dd 2))((= tn “M6”)(setq aa 111 bb 2 cc 185 dd 2))
((= tn “M7”)(setq aa 114 bb 2 cc 188 dd 2))((= tn “N6”)(setq aa 117 bb 2 cc 191 dd 2))
((= tn “N7”)(setq aa 120 bb 2 cc 194 dd 2))((= tn “P6”)(setq aa 123 bb 2 cc 197 dd 2))
((= tn “P7”)(setq aa 126 bb 2 cc 200 dd 2))((= tn “R7”)(setq aa 129 bb 3 cc 203 dd 2))
((= tn “S7”)(setq aa 133 bb 2 cc 207 dd 3))((= tn “T7”)(setq aa 137 bb 3 cc 211 dd 3))
((= tn “U7”)(setq aa 141 bb 3 cc 215 dd 3))((= tn “X7”)(setq aa 145 bb 2 cc 219 dd 2)) );;;
(setq up_tor (/(atof (substr to_file1 aa bb)) 1000)
dn_tor (/ (atof (substr to_file1 cc dd)) 1000) )
(cond ((or (= tn-a “B”)(= tn-a “C”)(= tn-a “D”)(= tn-a “E”)
(= tn-a “F”)(= tn-a “G”))(setq up_sym “+” dn_sym “+”))
((= tn-a “H”)(setq up_sym “+” dn_sym ” “))
((= tn-a “J”)(setq up_sym “+” dn_sym “-“))
((= tn-a “K”)(setq up_sym “+” dn_sym “-“))
((or (= tn-a “M”)(= tn-a “N”)(= tn-a “P”)(= tn-a “R”)
(= tn-a “S”)(= tn-a “T”)(= tn-a “U”)(= tn-a “X”))
(setq up_sym “-” dn_sym “-“))
);;;
(if (= tn-a “j”)(setq dd 4)(setq up_dd 3 dn_dd 3))
(if (= up_tor 0)(setq up_dd 0 up_sym ” “))
(if (= dn_tor 0)(setq dn_dd 0 dn_sym ” “))
(setq up_txt (strcat up_sym (rtos up_tor 2 up_dd))
dn_txt (strcat dn_sym (rtos dn_tor 2 dn_dd)) ) (initget 1)
(setq to_pnt (getpoint “nText position:”)) (initget 1)
(setq an (getangle “nAngle:” to_pnt))
(command “text” to_pnt (* (getvar “dimscale”) 1.5) (rtd an) dn_txt)
(setq to_pnt (polar to_pnt (ang 90) (* (getvar “dimscale”) 1.8)))
(command “text” to_pnt (* (getvar “dimscale”) 1.5) (rtd an) up_txt)
));; <progn end>
;;———————————————————————
((= to_cmd “STand”)
(progn
(if (= stup_tor nil)(setq stup_tor “0.02”))(setq qstup_tor stup_tor)
(if (= stdn_tor nil)(setq stdn_tor “0.01”))(setq qstdn_tor stdn_tor)
(initget 1 “A B C D E”)
(setq to_type (getkword “nTolerance type?(A/B/C/D/E):”))
(cond ((= to_type “A”)(setq up_sym “+” dn_sym “+”))
((= to_type “B”)(setq up_sym “+” dn_sym ” ” stdn_tor “0”))
((= to_type “C”)(setq up_sym ” ” dn_sym “-” stup_tor “0”))
((= to_type “D”)(setq up_sym “-” dn_sym “-“))
((= to_type “E”)(setq up_sym “+” dn_sym “-“)) );;
(if (or(= to_type “A”)(= to_type “B”)(= to_type “D”)(= to_type “E”))
(setq stup_tor (getstring (strcat “nUpper tolerance<” up_sym stup_tor “>:”))) );;
(if (or(= to_type “A”)(= to_type “C”)(= to_type “D”)(= to_type “E”))
(setq stdn_tor (getstring (strcat “nDowner tolerance<” dn_sym stdn_tor “>:”))) );;
(if (= stup_tor “”)(setq stup_tor qstup_tor))
(if (= stdn_tor “”)(setq stdn_tor qstdn_tor))
(setq up_txt (strcat up_sym stup_tor)
dn_txt (strcat dn_sym stdn_tor) ) (initget 1)
(setq to_pnt (getpoint “nText position:”)) (initget 1)
(setq an (getangle “nAngle:” to_pnt))
(command “text” to_pnt (* (getvar “dimscale”) 1.5) (rtd an) dn_txt)
(setq to_pnt (polar to_pnt (ang 90) (* (getvar “dimscale”) 1.8)))
(command “text” to_pnt (* (getvar “dimscale”) 1.5) (rtd an) up_txt)
));; <progn end>
;;———————————————————————
((or (= to_cmd “SRSha”)(= to_cmd “SRHol”))
(progn
(initget 1 “Dia Wid”)
(setq to_type (getkword “nDiameter/Width:”))
(if (= to_dia nil)(setq to_dia 10))(setq qto_dia to_dia)
(setq loop 5)
(while loop
(setq to_dia (getdist (strcat “nInput diameter<” (rtos to_dia 2 0) “>:”)))
(if (= to_dia nil)(setq to_dia qto_dia))
(cond ((= to_cmd “SRSha”)(setq ser_file “z:/acad/data/snapsha.dat”))
((= to_cmd “SRHol”)(setq ser_file “z:/acad/data/snaphol.dat”)) )
(setq to_file (open ser_file “r”)
to_file1 (read-line to_file)
to_dmax (substr to_file1 1 3) )
(setq dd 5)
(while dd
(if (/= to_dia (atof to_dmax))
(progn
(setq to_file1 (read-line to_file)
to_dmax (substr to_file1 1 3) )
(if (= to_dmax “END”)
(progn
(princ (strcat “nsnap-ring dia.(” (rtos to_dia 2 2)
“)not found. Try agin!!”))
(setq dd nil)
))
);;progn
(setq dd nil)
);; ==>if end
);; ==> while dd end
(if (= to_dia (atof to_dmax))(setq loop nil))
);; ==> while loop end <==
(setq d1_tor (substr to_file1 16 4)
m_tor (substr to_file1 22 4) )
(cond ((= to_cmd “SRSha”)
(progn
(cond ((= to_type “Dia”)(setq up_txt ” 0″ dn_txt (strcat “-” d1_tor)))
((= to_type “Wid”)(setq up_txt (strcat “+” m_tor) dn_txt ” 0″))
)
))
((= to_cmd “SRHol”)
(progn
(cond ((= to_type “Dia”)(setq up_txt (strcat “+” d1_tor) dn_tor ” 0″))
((= to_type “Wid”)(setq up_txt (strcat “+” m_tor) dn_txt ” 0″))
)
))
) (initget 1)
(setq to_pnt (getpoint “nText position:”)) (initget 1)
(setq an (getangle “nAngle:” to_pnt))
(command “text” to_pnt (* (getvar “dimscale”) 1.5) (rtd an) dn_txt)
(setq to_pnt (polar to_pnt (ang 90) (* (getvar “dimscale”) 1.8)))
(command “text” to_pnt (* (getvar “dimscale”) 1.5) (rtd an) up_txt)
));; <progn end>
;———————————————————————-
((= to_cmd “Key”)
(progn
(if (= key_tor nil)(setq key_tor “A”))
(initget 1 “A B C D”)
(prompt “nA:b1(Hole,N9)/B:b2(Shaft:js9)/C:b1,b2(P9)/D:t1,t2”)(terpri)
(setq key_tor (getkword (strcat “nKey tolerance(A~D)<” key_tor “>:”)))
(if (= to_dia nil)(setq to_dia 10))(setq qto_dia to_dia)
(setq to_dia (getdist (strcat “nInput diameter<” (rtos to_dia 2 0) “>:”)))
(if (= to_dia nil)(setq to_dia qto_dia))
(setq to_file (open “z:/acad/data/key.dat” “r”)
to_file1 (read-line to_file)
to_dmin (atof (substr to_file1 1 3))
to_dmax (atof (substr to_file1 5 3)) )
(while (or (<= to_dia to_dmin)(> to_dia to_dmax))
(setq to_file1 (read-line to_file)
to_dmin (atof (substr to_file1 1 3))
to_dmax (atof (substr to_file1 5 3)) )
);;
(cond ((= key_tor “A”)(setq up_txt (substr to_file1 30 6)
dn_txt (substr to_file1 52 6)) )
((= key_tor “B”)(setq up_txt ” “
dn_txt (strcat “%%P” (substr to_file1 59 6))) )
((= key_tor “C”)(setq up_txt (substr to_file1 23 6)
dn_txt (substr to_file1 45 6)) )
((= key_tor “D”)(setq up_txt (substr to_file1 66 4)
dn_txt ” 0″))
) (initget 1)
(setq to_pnt (getpoint “nText position:”)) (initget 1)
(setq an (getangle “nAngle:” to_pnt))
(command “text” to_pnt (* (getvar “dimscale”) 1.5) (rtd an) dn_txt)
(setq to_pnt (polar to_pnt (ang 90) (* (getvar “dimscale”) 1.8)))
(command “text” to_pnt (* (getvar “dimscale”) 1.5) (rtd an) up_txt)
));; <progn end>
;———————————————————————-
);; <cond end>
(setvar “cmdecho” echo)
(setq *error* olderr)
(princ)
); defun end
공유