home *** CD-ROM | disk | FTP | other *** search
- ;*************************************************
- ;** **
- ;** A u t o G B B Z **
- ;** **
- ;** Version 1.1 for AutoCAD 2.18 **
- ;** **
- ;*************************************************
- (textscr)
- (terpri)
- (princ " A u t o G B B Z")
- (terpri)
- (terpri)
- (princ "Copyright (C) 1987 GANSU GONGYE DAXUE")
- (terpri)
- (princ "Version 1.1 (16/6/87) for AutoCAD 2.18")
- (terpri)
- (princ "Serial Number: 01-014")
- (repeat 19 (terpri))
- (princ "Loading GBBZ command file...")
- (setvar "cmdecho" 0)
- (setvar "aperture" 5)
-
-
- ; ===================================
- ;| The function for error dealing. |
- ; ===================================
- (defun *error* (st)
- (terpri)
- (if (eq st "quit / exit abort") (setq st1 "" st "") (setq st1 "error: "))
- (if (or (eq st "bad point value")
- (eq st "bad argument type")
- (eq st "console break")
- (eq st "invalid")
- (eq st "bad point argument")
- )
- (progn
- (princ "GBBZ error: entry mistake!")
- (terpri)
- (princ "*Invalid*")
- )
- (progn (princ st1)
- (princ st)
- )
- )
- (princ )
- )
-
-
- ; ==================================================
- ;| The functoin for redisplay a "Command" prompt. |
- ; ==================================================
- (defun cmdprompt ()
- (quit)
- )
-
-
- ; =============================================
- ;| The function for call a *error* function. |
- ; =============================================
- (defun err ()
- (*error* "invalid")
- (quit)
- )
-
-
- ; ===================
- ;| Scale function. |
- ; ===================
- (defun scale1 ()
- (setq sca (getreal "\n▒╚└²: <1>: "))
- (if (null sca) (setq sca 1))
- )
-
-
- ; ================================================
- ;| The function for entry a dimensioning point. |
- ; ================================================
- (defun point1 ()
- (setq pt1 (getpoint "\n▒Ω╫ó╡π: "))
- )
-
-
- ;++++++++++++++++++++++++++++++++++++++++++++++
- ;+ This function for clean AutoLISP memory. +
- ;++++++++++++++++++++++++++++++++++++++++++++++
- (defun C:CLEAN ()
- (setq atomlist (member 'C:CLEAN atomlist))
- 'done
- )
-
-
- ;*********************************************************
- ;* The function for dimensioning geometric tolerances. *
- ;*********************************************************
- (defun C:XWGC ()
- (prompt "\n╤í╘±: 1:╓▒╧▀╢╚ 2:╞╜├µ╢╚ 3:╘▓╢╚ 4:╘▓╓∙╢╚ 5:╧▀┬╓└¬╢╚ 6:├µ┬╓└¬╢╚ 7:╞╜╨╨╢╚: ")
- (prompt "8:┤╣╓▒╢╚ 9:╟π╨▒╢╚ 10:═¼╓ß╢╚ 11:╢╘│╞╢╚ 12:╬╗╓├╢╚ 13:╘▓╠°╢» 14:╚½╠°╢»: ")
- (setq n (getint))
- (if (null n) (setq n 8))
- (setq st "wzk" q 36)
- (if (and (>= n 1) (<= n 6)) (setq st "xzk" q 28))
- (setq d (getint "\n▒Ω╫ó╖╜╧≥: 1/2 <1>: "))
- (point1)
- (setq pt2 (getpoint "\n┐≥╕±╗∙╡π: "))
- (scale1)
- (setq sy (nth n '(nil "zxd" "pmd" "yd" "yzd" "xlkd" "mlkd" "pxd" "czd" "qxd" "tzd" "dcd" "wzd" "ytd" "qtd")))
- (setq v (getstring "\n╣½▓ε╓╡: "))
- (if (= st "wzk")(progn
- (setq sb (getstring "\n╗∙╫╝┤·║┼: "))
- (setq nn (strlen sb))
- (if (= nn 1)(setq st "wzk"))
- (if (= nn 3)(setq st "wzk1" q 47))
- ))
- (if (or (null pt1) (null pt2) (null sy) (null st)) (err))
- (if (= d 2) (setq a (/ pi 2)) (setq a 0))
- (if (= d 2)
- (if (> (cadr pt2) (cadr pt1)) (setq ip pt2) (setq ip (list (car pt2) (- (cadr pt2) (* q sca)))))
- (if (> (car pt2) (car pt1)) (setq ip pt2) (setq ip (list (- (car pt2) (* q sca)) (cadr pt2))))
- )
- (if (= d 2)
- (setq pt5 (list (+ (car ip) (* sca 1.5)) (+ (cadr ip) (* 18 sca))) pt6 (list (+ (car ip) (* sca 2)) (+ (cadr ip) (* sca 32))))
- (setq pt5 (list (+ (car ip) (* 18 sca)) (- (cadr ip) (* sca 1.5))) pt6 (list (+ (car ip) (* sca 32)) (- (cadr ip) (* sca 2))))
- )
- (if (= d 2) (if (= (car pt1) (car pt2)) (setq pt3 pt2) (setq pt3 (list (car pt2) (cadr pt1))))
- (if (= (cadr pt1) (cadr pt2)) (setq pt3 pt2) (setq pt3 (list (car pt1) (cadr pt2))))
- )
- (if (= a 0) (setq a "0") (setq a (angtos a 0 0)))
- (command "layer" "s" 6 "" "insert" st ip sca "" a "insert" sy ip sca "" a)
- (if (= n 10)(setq v (strcat "%%c" v)))
- (command "text" "c" pt5 (* 3.5 sca) a v)
- (if (= st "wzk")(command "text" "c" pt6 (* 4.5 sca) a sb))
- (if (= st "wzk1")(command "text" pt6 (* 4.5 sca) a sb))
- (command "line" pt1 pt3 pt2 "")
- (setq pt4 (polar pt1 (angle pt1 pt3) (* 5 sca)))
- (command "pline" pt1 "w" 0 (* 1.2 sca) pt4 "")
- (redraw)
- (cmdprompt)
- )
-
-
- ;******************************************************
- ;* This function to dimension the code of reference *
- ;* about position tolerance! *
- ;******************************************************
- (defun C:JZDH ()
- (point1)
- (setq pt2 (osnap pt1 "nea"))
- (setq pt3 (osnap pt2 "end"))
- (setq d (getint "\n╖╜╧≥: 0-4, <1>: "))
- (setq a 0)
- (if (= d 2) (setq a (/ pi 2)))
- (if (= d 3) (setq a pi))
- (if (= d 4) (setq a (* pi 1.5)))
- (if (= d 0) (setq a (angle pt2 pt3)))
- (scale1)
- (setq ds (getdist pt2 "\n╥²│÷╧▀│ñ╢╚: "))
- (setq sy (getstring "\n╗∙╫╝┤·║┼: "))
- (setq pt4 (polar pt2 (+ a (* pi 0.5)) (* 2 sca)))
- (setq pt5 (polar pt4 a (* 4 sca)))
- (setq pt6 (polar pt4 (+ a pi) (* 4 sca)))
- (setq pt7 (polar pt4 (+ a (* pi 0.5)) ds))
- (setq pt8 (polar pt7 (+ a (* pi 0.5)) (* 5 sca)))
- (setq pt9 (polar pt8 (* pi 1.5) (* 3 sca)))
- (command "layer" "s" 6 "" "pline" pt5 "w" 0.4 "" pt6 "" "line" pt4 pt7 "")
- (command "circle" pt8 (* 5 sca) "text" "c" pt9 (* 5.2 sca) 0 sy)
- (redraw)
- (cmdprompt)
- )
-
-
- ;**********************************************************
- ;* The function for dimensioning the surface roughness. *
- ;**********************************************************
- (defun C:CCD()
- (setq f (getstring "\n┤╓▓┌╢╚└α╨═:╚Ñ│²▓─┴╧Q/▓╗╚Ñ│²▓─┴╧B/╚╬╥ΓR: <Q>: "))
- (setq c "ccd")
- (if (or (= f "B") (= f "b")) (setq c "ccd1"))
- (if (or (= f "R") (= f "r")) (setq c "ccd2"))
- (setq d (getint "\n╖╜╧≥: (0-4) <1>:"))
- (setq a 0)
- (if (= d 2) (setq a (/ pi 2)))
- (if (= d 3) (setq a pi))
- (if (= d 4) (setq a (* pi 1.5)))
- (point1)
- (setq pt2 (osnap pt1 "end"))
- (scale1)
- (setq st (getstring "\n╓╡:<RETURN▒φ╩╛├╗╙╨╓╡>: "))
- (if (null pt1) (err))
- (if (= d 0) (setq a (angle pt1 pt2)))
- (if (= a 0) (setq a1 0) (setq a1 (angtos a 0 0)))
- (command "layer" "s" 6 "" "insert" c pt1 sca "" a1)
- (if (and (> a -1) (< a 2))
- (setq cc (polar pt1 (+ a (/ pi 2)) (* 5.4 sca)))
- (progn (setq cc (polar pt1 (+ a (/ pi 2)) (* 7.8 sca)))
- (setq a1 (angtos (+ a pi) 0 0))
- )
- )
- (command "text" "c" cc (* 2.4 sca) a1 st)
- (redraw)
- (cmdprompt)
- )
-
-
- ;******************************************************
- ;* The function to dimension the technical request. *
- ;******************************************************
- (defun C:JSYQ ()
- (point1)
- (if (null pt1) (err))
- (scale1)
- (setq n (getint "\n▒Ω╫ó╧ε╡─╩²─┐: "))
- (command "layer" "s" 6 "" "insert" "*jsyq" pt1 sca "")
- (setq m 1)
- (setq pt2 (list (- (car pt1) (* sca 24)) (- (cadr pt1) (* sca 17))))
- (while (<= m n)
- (prompt "\n╤í╘±: 1:╬┤╫ó╘▓╜╟ 2:╬┤╫ó╡╣╜╟ 3:╡≈╓╩┤ª└φ 4:▒φ├µ┤π╗≡ 5:╔°╠╝┤π╗≡ 6:╒²╗≡┤ª└φ: ")
- (prompt "7:┤╓▓┌╢╚╡╚╙┌ 8:╓²╝■╥¬╟≤ 9:╩▒╨º┤ª└φ 10:╚±▒▀╡╣╢█: ")
- (setq q (getint))
- (if (and (>= q 1) (<= q 7)) (setq str (getstring "\n╓╡:<RETURN ▒φ╩╛╬▐╓╡>: ")
- pt3 (list (+ (car pt2) (* sca 22)) (cadr pt2))))
- (if (null str) (setq str ""))
- (if (= m n) (setq str3 ".") (setq str3 ";"))
- (setq str1 (nth q '(nil "*wzyj" "*wzdj" "*tzcl" "*bmch" "*stch" "*zhcl" "*ccdd" "*zjyq" "*sxcl" "*rjdd"))
- str2 (nth q (list nil (strcat "R=" str str3)
- (strcat str "x45%%d" str3)
- (strcat "HB=" str str3)
- (strcat "HRC=" str str3)
- (strcat "HRC=" str str3)
- (strcat "HB=" str str3)
- )
- )
- )
- (if (null str1) (err))
- (command "text" pt2 (* sca 4.5) 0 (strcat (itoa m) "."))
- (command "insert" str1 pt2 sca "")
- (if (and (>= q 1) (<= q 6))
- (command "text" pt3 (* sca 4.5) "" str2))
- (if (= q 7) (progn
- (setq pt3 (list (+ (car pt2) (* sca 19.5)) (+ (cadr pt2) (* sca 3.6))))
- (command "text" "c" pt3 (* sca 2.2) 0 str)))
- (setq pt2 (list (car pt2) (- (cadr pt2) (* sca 8.5))) m (1+ m))
- )
- (redraw)
- (cmdprompt)
- )
-
-
- ;*******************************************************************
- ;* The function to dimension any character, taper, chamfer, etc. *
- ;*******************************************************************
- (defun C:PZ ()
- (setq f (getint "\n╤í╘±▒Ω╫ó└α╨═: 0:╫╓╖√; 1:╡╣╜╟; 2:╫╢╢╚; 3:╨▒╢╚; 4:╛∙▓╝. <0>: "))
- (if (null f) (setq f 0))
- (point1)
- (if (= f 1)
- (setq pt2 (osnap pt1 "end") a1 (angle pt1 pt2) pt1 pt2
- d (getdist "\n╥²│÷╧▀│ñ╢╚: ") pt2 (polar pt1 a1 d)
- )
- (setq pt2 (getpoint "\n╬─╫╓╡π: "))
- )
- (scale1)
- (setq str (getstring T "\n╬─╫╓: "))
- (if (= f 1) (setq str (strcat str "x45%%d") n (- (strlen str) 2)) (setq n (strlen str)))
- (if (or (= f 2) (= f 3))
- (setq d1 (+ (* n 2.9 sca) (* 7 sca)))
- (setq d1 (* n 2.9 sca))
- )
- (if (> (car pt1) (car pt2))
- (setq a2 pi)
- (setq a2 0)
- )
- (setq pt3 (polar pt2 a2 d1))
- (if (> (car pt1) (car pt2)) (setq pt4 pt3) (setq pt4 pt2))
- (if (or (= f 2) (= f 3))
- (setq pt5 (list (+ (car pt4) (* 6.5 sca)) (+ (cadr pt4) (* 1.2 sca)))
- pt6 (list (+ (car pt5) (* (strlen str) 1.4 sca)) (cadr pt5)))
- (setq pt6 (list (+ (car pt4) (/ d1 2)) (+ (cadr pt4) (* 1.2 sca))))
- )
- (if (= f 2) (setq st1 "zd"))
- (if (= f 3) (setq st1 "xd"))
- (if (= f 4) (setq pt5 pt6 st1 "jb"))
- (command "layer" "s" 6 "" "line" pt1 pt2 pt3 "")
- (command "text" "c" pt6 (* 3 sca) 0 str)
- (if (or (= f 2) (= f 3) (= f 4)) (progn
- (if (or (null st1) (null pt5)) (err))
- (command "insert" st1 pt5 sca sca 0)
- )
- )
- (redraw)
- (cmdprompt)
- )
-
-
- ;*********************************************************
- ;* The function for dimensioning geometric tolerances. *
- ;*********************************************************
- (defun C:XW ()
- (prompt "\n╤í╘±: 1:╓▒╧▀╢╚ 2:╞╜├µ╢╚ 3:╘▓╢╚ 4:╘▓╓∙╢╚ 5:╧▀┬╓└¬╢╚ 6:├µ┬╓└¬╢╚ 7:╞╜╨╨╢╚: ")
- (prompt "8:┤╣╓▒╢╚ 9:╟π╨▒╢╚ 10:═¼╓ß╢╚ 11:╢╘│╞╢╚ 12:╬╗╓├╢╚ 13:╘▓╠°╢» 14:╚½╠°╢»: ")
- (setq n (getint))
- (if (null n) (setq n 8))
- (setq st "wzk" q 36)
- (if (and (>= n 1) (<= n 6)) (setq st "xzk" q 28))
- (point1)
- (setq d (getint "\n▒Ω╫ó╖╜╧≥: 1/2 <1>: "))
- (setq pt02 (getpoint "\n┐≥╕±╗∙╡π:"))
- (scale1)
- (if (= d 2) (setq pt2 (polar pt02 pi (* 4 sca))) (setq pt2 (polar pt02 (/ pi 2) (* 4 sca))))
- (setq sy (nth n '(nil "zxd" "pmd" "yd" "yzd" "xlkd" "mlkd" "pxd" "czd" "qxd" "tzd" "dcd" "wzd" "ytd" "qtd")))
- (setq v (getstring "\n╣½▓ε╓╡: "))
- (if (= st "wzk")(progn
- (setq sb (getstring "\n╗∙╫╝┤·║┼: "))
- (setq nn (strlen sb))
- (if (= nn 1)(setq st "wzk"))
- (if (= nn 3)(setq st "wzk1" q 47))
- ))
- (if (= d 2) (setq a (/ pi 2)) (setq a 0))
- (if (= d 2)
- (if (> (cadr pt2) (cadr pt1)) (setq ip pt2) (setq ip (list (car pt2) (- (cadr pt2) (* q sca)))))
- (if (> (car pt2) (car pt1)) (setq ip pt2) (setq ip (list (- (car pt2) (* q sca)) (cadr pt2))))
- )
- (if (= d 2)
- (setq pt5 (list (+ (car ip) (* sca 1.5)) (+ (cadr ip) (* 18 sca))) pt6 (list (+ (car ip) (* sca 2)) (+ (cadr ip) (* sca 32))))
- (setq pt5 (list (+ (car ip) (* 18 sca)) (- (cadr ip) (* sca 1.5))) pt6 (list (+ (car ip) (* sca 32)) (- (cadr ip) (* sca 2))))
- )
- (if (= d 2) (if (= (car pt1) (car pt2)) (setq pt3 pt2) (setq pt3 (list (car pt2) (cadr pt1))))
- (if (= (cadr pt1) (cadr pt2)) (setq pt3 pt2) (setq pt3 (list (car pt1) (cadr pt2))))
- )
- (if (= a 0) (setq a "0") (setq a (angtos a 0 0)))
- (command "layer" "s" 6 "" "insert" st ip sca "" a "insert" sy ip sca "" a)
- (command "text" "c" pt5 (* 3.5 sca) a v)
- (if (= st "wzk")(command "text" "c" pt6 (* 4.5 sca) a sb))
- (if (= st "wzk1")(command "text" pt6 (* 4.5 sca) a sb))
- (redraw)
- (cmdprompt)
- )
- (GRAPHSCR)
- (cmdprompt)