.


:




:

































 

 

 

 





: : .


(defun dtr (a) (* pi (/ a 180.0)))

 

(defun c:(/ d l priz p0 p1 p2 p3 p4 p5 p6 p7

b0 b1 b2 b3 q1 q2 base otv)

(if (tblsearch "LAYER" "")

(command "" "" "" "")

(command "" "" "" "" "2" "" "" "")

)

(if (not (tblsearch "Layer" ""))

(command "" "" "" "" "4" "" "" "")

)

(setq priz 1)

(setq priz_r 1)

(prompt "\n : ")

(initget 1)

(setq p1 (getpoint "\n : "))

(setq base p1)

(initget 1)

(setq d (getreal "\n 1- : "))

(initget 1)

(setq l (getreal "\n 1- : "))

(setq p2 (polar p1 (dtr 90) (- (/ d 2) (* d 0.1))))

(setq p3 (list (+ (car p1) (* d 0.1)) (+ (cadr p1) (/ d 2))))

(setq p4 (list (+ (car p1) l) (cadr p3)))

(setq p5 (polar p4 (dtr 270) d))

(setq p6 (polar p5 (dtr 180) (- l (* d 0.1))))

(setq p7 (list (- (car p6) (* d 0.1)) (+ (cadr p6) (* d 0.1))))

(setq b1 (list (+ (car p3) 10) (cadr p3))

b2 (polar b1 (dtr 270) d)

q1 (list (car p7) (- (cadr p6) 10))

)

(command "" p1 p2 p3 p4 p5 p6 p7 "")

(command "" p3 p6 "")

(command "" "" "" "")

(command "" "" b1 b2 b2 (strcat "%%C" (rtos d))

"" p7 p5 q1 "" "")

(command "" "" "" "")

(while priz

(setq p1 (polar p1 (dtr 0) l))

(initget 1)

(setq d (getreal "\n : "))

(initget 1)

(setq l (getreal "\n : "))

(setq p2 (polar p1 (dtr 90) (/ d 2))

p3 (polar p2 (dtr 0) l)

p4 (polar p3 (dtr 270) d)

p5 (polar p4 (dtr 180) l)

b1 (list (+ (car p2) 10) (cadr p2))

b2 (polar b1 (dtr 270) d)

q2 (polar q1 (dtr 270) 10)

)

(command "" p1 p2 p3 p4 p5 "")

(if (< (cadr p4) (+ (cadr q2) 10))

(setq q2 (list (car q2) (- (cadr p4) 10) 0.0))

)

(setq q1 q2)

(command "" "" "" "")

(command "" "" b1 b2 b2 (strcat "%%C" (rtos d))

"" base p4 q2 "" "")

(command "" "" "" "")

(initget "_")

(setq otv (getkword "\n _ <>: "))

(if (= otv "_")

(progn

(setq p1 (polar p1 (dtr 0) l))

(initget 1)

(setq d (getreal "\n : "))

(initget 1)

(setq l (getreal "\n : "))

(setq priz nill)

(setq p2 (polar p1 (dtr 90) (/ d 2))

p3 (polar p2 (dtr 0) (- l (* d 0.1)))

p4 (list (+ (car p3) (* d 0.1)) (- (cadr p3) (* d 0.1)) 0.0)

p5 (polar p4 (dtr 270) (- d (* d 0.2)))

p6 (list (- (car p5) (* d 0.1)) (- (cadr p5) (* d 0.1)) 0.0)

p7 (polar p6 (dtr 180) (- l (* d 0.1)))

b1 (list (+ (car p2) 10) (cadr p2) 0.0)

b2 (polar b1 (dtr 270) d)

q2 (polar q1 (dtr 270) 10)

b3 (polar p4 (dtr 270) (/ (- d (* d 0.2)) 2))

p0 (polar base (dtr 180) 5)

b0 (polar b3 (dtr 0) 5)

)

(command "" p1 p2 p3 p4 p5 p6 p7 ""

"" p3 p6 ""

)

(if (tblsearch "LTYPE" "CENTRE")

(command "" "" "CENTRE" "")

(command "" "" "CENTRE" "" "" "CENTRE" "")

)

(command "" p0 b0 "")

(command "" "" "" "")

(if (< (cadr p6) (+ (cadr q2) 10))

(setq q2 (list (car q2) (- (cadr p6) 10) 0.0))

)

(command "" "" "" "")

(command "" "" b1 b2 b2 (strcat "%%c" (rtos d))

"" base p5 q2 "" "")

(command "" "" "" "")

); progn

);if

);while

(princ)

)

 

: .


;

(defun dtr (a);

(* pi (/ a 180.0))

)

 

(defun c: (/ b1 ot len s1 s2 s3 s4 x y z p1 p2 p3 p4 p5 p6 p7 n1 n2 m1 m2 m3 m4 d1 d2 d3 o1 o2 t)

 

(prompt "\n ")

(initget 1)

(setq ot (getstring "\n :");

x (getreal "\n X :")

y (getreal "\n Y :")

z (getreal "\n Z :")

b1 (getpoint "\n :")

)

 

(setq len (+ 10 (max (abs x) (abs y) (abs z))));

(setq s1 (polar b1 (dtr 0.0) len)

s2 (polar b1 (dtr 90.0) len)

s3 (polar b1 (dtr 180.0) len)

s4 (polar b1 (dtr 270.0) len)

)

 

(setq n1 (car b1);

n2 (cadr b1)

m1 (- (car b1) x)

m2 (- (cadr b1) y)

m3 (+ (cadr b1) z)

m4 (+ (car b1) y)

)

(setq p1 (list m1 m2)

p2 (list m1 m3)

p3 (list m4 m3)

p4 (list n1 m2)

p5 (list m4 n2)

p6 (list n1 m3)

p7 (list m1 n2)

)

 

(if (>= x 0) (setq d1 "+") (setq d1 "-"));

(if (>= y 0) (setq d2 "+") (setq d2 "-"))

(if (>= z 0) (setq d3 "+") (setq d3 "-"))

(setq o1 (strcat d1 d2 d3))

(cond ((= o1 "+++") (setq o2 "1 OKTAHT"))

((= o1 "+-+") (setq o2 "2 OKTAHT"))

((= o1 "+--") (setq o2 "3 OKTAHT"))

((= o1 "++-") (setq o2 "4 OKTAHT"))

((= o1 "-++") (setq o2 "5 OKTAHT"))

((= o1 "--+") (setq o2 "6 OKTAHT"))

((= o1 "---") (setq o2 "7 OKTAHT"))

((= o1 "-+-") (setq o2 "8 OKTAHT"))

(t nil)

)

 

(command "" s1 s3 ""); ,

(command "" s2 s4 "")

(command "" p1 p2 "")

(command "" p2 p3 "")

(command "" p1 p4 "")

(command "" p3 p5 "")

(command "" p2 p6 "")

(command "" p2 p7 "")

(command "" 0 2 p1 p2 p3 "")

(command "" "" (list (+ m1 3) (+ m2 5)) (list (+ m1 7) (+ m2 5)) 5 (strcase (strcat ot "1")));

(command "" "" (list (+ m1 3) (+ m3 5)) (list (+ m1 7) (+ m3 5)) 5 (strcase (strcat ot "2")))

(command "" "" (list (+ m4 3) (+ m3 5)) (list (+ m4 7) (+ m3 5)) 5 (strcase (strcat ot "3")))

(command "" "" (polar b1 (dtr 0.0) (+ 5 len)) (polar b1 (dtr 0.0) (+ 20 len)) 5 "y(-x)")

(command "" "" (polar b1 (dtr 90.0) (+ 5 len)) (polar (list (+ 20 (car b1)) (cadr b1)) (dtr 90.0) (+ 5 len)) 5 "z(-y)")

(command "" "" (polar b1 (dtr 180.0) (+ 20 len)) (polar b1 (dtr 180.0) (+ 5 len)) 5 "x(-y)")

(command "" "" (polar b1 (dtr 270.0) (+ 8 len)) (polar (list (+ 20 (car b1)) (cadr b1)) (dtr 270.0) (+ 8 len)) 5 "y(-z)")

(command "" "" (polar (polar b1 (dtr 0.0) len) (dtr 90.0) (+ 5 len)) (polar (polar b1 (dtr 0.0) (+ 25 len)) (dtr 90.0) (+ 5 len)) 6 (strcase (strcat ot "(" (rtos x) ";" (rtos y) ";" (rtos z) ")")))

(command "" "" (polar (polar b1 (dtr 180.0) (+ 25 len)) (dtr 90.0) (+ 5 len)) (polar (polar b1 (dtr 180.0) len) (dtr 90.0) (+ 5 len)) 6 o2)

(princ)

)

 

: .

;

(defun dtr (a);

(* pi (/ a 180.0))

)

 

(defun c: (/ b1 len ot1 ot2 s1 s2 s3 s4 x1 y1 z1 x2 y2 z2 p1 p2 p3 p4 p5 p6 p7 p12 p22 p32 p42 p52 p62 p72 n1 n2 m1 m2 m3 m4 m12 m22 m32 m42)


 

(prompt "\n ");

(initget 1)

(setq ot1 (getstring "\n 1- :")

x1 (getreal "\n X 1- :")

y1 (getreal "\n Y 1- :")

z1 (getreal "\n Z 1- :")

ot2 (getstring "\n 2- :")

x2 (getreal "\n X 2- :")

y2 (getreal "\n Y 2- :")

z2 (getreal "\n Z 2- :")

b1 (getpoint "\n :")

)

 

(setq len (+ 10 (max (abs x1) (abs y1) (abs z1) (abs x2) (abs y2) (abs z2))));

(setq s1 (polar b1 (dtr 0.0) len)

s2 (polar b1 (dtr 90.0) len)

s3 (polar b1 (dtr 180.0) len)

s4 (polar b1 (dtr 270.0) len)

)

 

(setq n1 (car b1);

n2 (cadr b1)

)

(setq m1 (- n1 x1)

m2 (- n2 y1)

m3 (+ n2 z1)

m4 (+ n1 y1)

m12 (- n1 x2)

m22 (- n2 y2)

m32 (+ n2 z2)

m42 (+ n1 y2)

)

(setq p1 (list m1 m2)

p2 (list m1 m3)

p3 (list m4 m3)

p4 (list n1 m2)

p5 (list m4 n2)

p6 (list n1 m3)

p7 (list m1 n2)

p12 (list m12 m22)

p22 (list m12 m32)

p32 (list m42 m32)

p42 (list n1 m22)

p52 (list m42 n2)

p62 (list n1 m32)

p72 (list m12 n2)

)

 

(command "" s1 s3 ""); , ,

(command "" s2 s4 "")

(command "" p1 p2 "")

(command "" p2 p3 "")

(command "" p1 p4 "")

(command "" p3 p5 "")

(command "" p2 p6 "")

(command "" p2 p7 "")

(command "" p12 p22 "")

(command "" p22 p32 "")

(command "" p12 p42 "")

(command "" p32 p52 "")

(command "" p22 p62 "")

(command "" p22 p72 "")

(command "" p1 "" 1 1 p12 "")

(command "" p2 "" 1 1 p22 "")

(command "" p3 "" 1 1 p32 "")

(command "" 0 2 p1 p2 p3 "")

(command "" 0 2 p12 p22 p32 "")

(command "" "" (list (- m1 7) (+ m2 5)) (list (- m1 3) (+ m2 5)) 5 (strcase (strcat ot1 "1"))); 1-

(command "" "" (list (- m1 7) (+ m3 5)) (list (- m1 3) (+ m3 5)) 5 (strcase (strcat ot1 "2")))

(command "" "" (list (- m4 7) (+ m3 5)) (list (- m4 3) (+ m3 5)) 5 (strcase (strcat ot1 "3")))

(command "" "" (list (+ m12 3) (- m22 7)) (list (+ m12 7) (- m22 7)) 5 (strcase (strcat ot2 "1"))); 2-

(command "" "" (list (+ m12 3) (- m32 7)) (list (+ m12 7) (- m32 7)) 5 (strcase (strcat ot2 "2")))

(command "" "" (list (+ m42 3) (- m32 7)) (list (+ m42 7) (- m32 7)) 5 (strcase (strcat ot2 "3")))

(command "" "" (polar b1 (dtr 0.0) (+ 5 len)) (polar b1 (dtr 0.0) (+ 20 len)) 5 "y(-x)")

(command "" "" (polar b1 (dtr 90.0) (+ 5 len)) (polar (list (+ 20 (car b1)) (cadr b1)) (dtr 90.0) (+ 5 len)) 5 "z(-y)")

(command "" "" (polar b1 (dtr 180.0) (+ 20 len)) (polar b1 (dtr 180.0) (+ 5 len)) 5 "x(-y)")

(command "" "" (polar b1 (dtr 270.0) (+ 9 len)) (polar (list (+ 20 (car b1)) (cadr b1)) (dtr 270.0) (+ 9 len)) 5 "y(-z)")

(command "" "" (polar (polar b1 (dtr 0.0) len) (dtr 90.0) (+ 5 len)) (polar (polar b1 (dtr 0.0) (+ 25 len)) (dtr 90.0) (+ 5 len)) 6 (strcase (strcat ot2 "(" (rtos x2) ";" (rtos y2) ";" (rtos z2) ")")))

(command "" "" (polar (polar b1 (dtr 180.0) (+ 25 len)) (dtr 90.0) (+ 5 len)) (polar (polar b1 (dtr 180.0) len) (dtr 90.0) (+ 5 len)) 6 (strcase (strcat ot1 "(" (rtos x1) ";" (rtos y1) ";" (rtos z1) ")")))

(princ)

)

 

: . , . , .


;

 

(defun dtr (a);

(* pi (/ a 180.0))

)

 

(defun c: (/ b1 len s1 s2 s3 s4 x y z x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4 x5 y5 z5 p1 p2 p3 p4 p5 p6 p7 p12 p22 p32 p42 p52 p62 p72 p23 p33 p43 p53 p63 p73 p24 p34 p44 p54 p64 p74 p25 p35 p45 p55 p65 p75 n1 n2 m1 m2 m3 m4 m12 m22 m32 m42 m13 m23

mm4 m24 m34 m44 m15 m25 m35 m45 vivod apl bpl cpl apl2 bpl2 cpl2 apl3 bpl3 cpl3 apr bpr cpr k1 k2 k3 k4)

 

(prompt "\n ");

(initget 1)

(setq x1 (getreal "\n X 1- :")

y1 (getreal "\n Y 1- :")

z1 (getreal "\n Z 1- :")

x2 (getreal "\n X 2- :")

y2 (getreal "\n Y 2- :")

z2 (getreal "\n Z 2- :")

x3 (getreal "\n X 3- :")

y3 (getreal "\n Y 3- :")

z3 (getreal "\n Z 3- :")

x4 (getreal "\n X 1- :")

y4 (getreal "\n Y 1- :")

z4 (getreal "\n Z 1- :")

x5 (getreal "\n X 2- :")

y5 (getreal "\n Y 2- :")

z5 (getreal "\n Z 2- :")

b1 (getpoint "\n :")

)

 

(setq len (+ 10 (max (abs x1) (abs y1) (abs z1) (abs x2) (abs y2) (abs z2) (abs x3) (abs y3) (abs z3) (abs x4) (abs y4) (abs z4) (abs x5) (abs y5) (abs z5))))

 

(setq s1 (polar b1 (dtr 0.0) len)

s2 (polar b1 (dtr 90.0) len)

s3 (polar b1 (dtr 180.0) len)

s4 (polar b1 (dtr 270.0) len)

)

 

(setq n1 (car b1);

n2 (cadr b1)

)

(setq m1 (- n1 x1)

m2 (- n2 y1)

m3 (+ n2 z1)

m4 (+ n1 y1)

 

m12 (- n1 x2)

m22 (- n2 y2)

m32 (+ n2 z2)

m42 (+ n1 y2)

 

m13 (- n1 x3)

m23 (- n2 y3)

m33 (+ n2 z3)

m43 (+ n1 y3)

 

m14 (- n1 x4)

m24 (- n2 y4)

m34 (+ n2 z4)

m44 (+ n1 y4)

 

m15 (- n1 x5)

m25 (- n2 y5)

m35 (+ n2 z5)

m45 (+ n1 y5)

)

 

(setq p1 (list m1 m2)

p2 (list m1 m3)

p3 (list m4 m3)

p4 (list n1 m2)

p5 (list m4 n2)

p6 (list n1 m3)

p7 (list m1 n2)

 

p12 (list m12 m22)

p22 (list m12 m32)

p32 (list m42 m32)

p42 (list n1 m22)

p52 (list m42 n2)

p62 (list n1 m32)

p72 (list m12 n2)

 

p13 (list m13 m23)

p23 (list m13 m33)

p33 (list m43 m33)

p43 (list n1 m23)

p53 (list m43 n2)

p63 (list n1 m33)

p73 (list m13 n2)

 

p14 (list m14 m24)

p24 (list m14 m34)

p34 (list m44 m34)

p44 (list n1 m24)

p54 (list m44 n2)

p64 (list n1 m34)

p74 (list m14 n2)

 

p15 (list m15 m25)

p25 (list m15 m35)

p35 (list m45 m35)

p45 (list n1 m25)

p55 (list m45 n2)

p65 (list n1 m35)

p75 (list m15 n2)

)

 

(setq apr (- x5 x4)

bpr (- y5 y4)

cpr (- z5 z4)

apl2 (- x2 x1)

bpl2 (- y2 y1)

cpl2 (- z2 z1)

apl3 (- x3 x1)

bpl3 (- y3 y1)

cpl3 (- z3 z1)

)

 

(setq apl (- (* bpl2 cpl3) (* cpl2 bpl3))

bpl (- (* cpl2 apl3) (* apl2 cpl3))

cpl (- (* apl2 bpl3) (* bpl2 apl3))

)

 

(setq dpl (- 0 (+ (* apl x1) (* bpl y1) (* cpl z1))))

 

(if (= (+ (* apl apr) (* bpl bpr) (* cpl cpr)) 0)

(if (/= (+ (* apl x5) (* bpl y5) (* cpl z5) dpl) 0) (setq vivod " ")

(if (= (+ (* apl x5) (* bpl y5) (* cpl z5) dpl) 0)

(if (= (+ (* apl x4) (* bpl y4) (* cpl z4) dpl) 0) (setq vivod " ")

(if (= (* apl bpr cpr) (* bpl apr cpr) (* cpl apr bpr))

(progn

(setq vivod " .A ")

(setq par (/ (- 0 (* apl x4) (* bpl y4) (* cpl z4) dpl) (+ (* apl apr) (* bpl bpr) (* cpl cpr))))

(setq x (+ x4 (* apr par))

y (+ y4 (* bpr par))

z (+ z4 (* cpr par)))

)

)

)

(if (= (* apl bpr cpr) (* bpl apr cpr) (* cpl apr bpr))

(progn

(setq vivod " .A ")

(setq par (/ (- 0 (* apl x4) (* bpl y4) (* cpl z4) dpl) (+ (* apl apr) (* bpl bpr) (* cpl cpr))))

(setq x (+ x4 (* apr par))

y (+ y4 (* bpr par))

z (+ z4 (* cpr par)))

)

)

)

)

(if (= (* apl bpr cpr) (* bpl apr cpr) (* cpl apr bpr))

(progn

(setq vivod " .A ")

(setq par (/ (- 0 (* apl x4) (* bpl y4) (* cpl z4) dpl) (+ (* apl apr) (* bpl bpr) (* cpl cpr))))

(setq x (+ x4 (* apr par))

y (+ y4 (* bpr par))

z (+ z4 (* cpr par)))

)

)

)

 

(if (= vivod nil)

(progn

(setq vivod " .A ")

(setq par (/ (- 0 (* apl x4) (* bpl y4) (* cpl z4) dpl) (+ (* apl apr) (* bpl bpr) (* cpl cpr))))

(setq x (+ x4 (* apr par))

y (+ y4 (* bpr par))

z (+ z4 (* cpr par)))

)

)

 

(setq k1 (- (car b1) x)

k2 (- (cadr b1) y)

k3 (+ (cadr b1) z)

k4 (+ (car b1) y)

)

 

(command "" s1 s3 ""); , ,

(command "" s2 s4 "")

(command "" p1 p2 "")

(command "" p2 p3 "")

(command "" p1 p4 "")

(command "" p3 p5 "")

(command "" p2 p6 "")

(command "" p2 p7 "")

 

(command "" p12 p22 "")

(command "" p22 p32 "")

(command "" p12 p42 "")

(command "" p32 p52 "")

(command "" p22 p62 "")

(command "" p22 p72 "")

 

(command "" p13 p23 "")

(command "" p23 p33 "")

(command "" p13 p43 "")

(command "" p33 p53 "")

(command "" p23 p63 "")

(command "" p23 p73 "")

 

(command "" p14 p24 "")

(command "" p24 p34 "")

(command "" p14 p44 "")

(command "" p34 p54 "")

(command "" p24 p64 "")

(command "" p24 p74 "")

 

(command "" p15 p25 "")

(command "" p25 p35 "")

(command "" p15 p45 "")

(command "" p35 p55 "")

(command "" p25 p65 "")

(command "" p25 p75 "")

 

(command "" p1 "" 1 1 p12 "")

(command "" p2 "" 1 1 p22 "")

(command "" p3 "" 1 1 p32 "")

(command "" p1 "" 1 1 p13 "")

(command "" p2 "" 1 1 p23 "")

(command "" p3 "" 1 1 p33 "")

(command "" p12 "" 1 1 p13 "")

(command "" p22 "" 1 1 p23 "")

(command "" p32 "" 1 1 p33 "")

(command "" 0 2 p1 p2 p3 "")

(command "" 0 2 p12 p22 p32 "")

(command "" 0 2 p13 p23 p33 "")

 

(command "" "" (polar b1 (dtr 0.0) (+ 5 len)) (polar b1 (dtr 0.0) (+ 20 len)) 5 "y(-x)")

(command "" "" (polar b1 (dtr 90.0) (+ 5 len)) (polar (list (+ 20 (car b1)) (cadr b1)) (dtr 90.0) (+ 5 len)) 5 "z(-y)")

(command "" "" (polar b1 (dtr 180.0) (+ 20 len)) (polar b1 (dtr 180.0) (+ 5 len)) 5 "x(-y)")

(command "" "" (polar b1 (dtr 270.0) (+ 9 len)) (polar (list (+ 20 (car b1)) (cadr b1)) (dtr 270.0) (+ 9 len)) 5 "y(-z)")

;(command "" "" (polar (polar b1 (dtr 180.0) (+ 25 len)) (dtr 90.0) (+ 5 len)) (polar (polar b1 (dtr 180.0) len) (dtr 90.0) (+ 5 len)) 6 vivod)

 

(command "" "" "1" "" "5" "1" "" "1" "")

(command "" p14 "" 1 1 p15 "")

(command "" p24 "" 1 1 p25 "")

(command "" p34 "" 1 1 p35 "")

(command "" 0 2 p14 p24 p34 "")

(command "" 0 2 p15 p25 p35 "")

 

(command "" "" "2" "" "6" "2" "" "2" "")

(command "" 0 2 (list k1 k2) (list k1 k3) (list k4 k3) "")

(command "" "" (list (+ k1 3) (+ k2 5)) (list (+ k1 7) (+ k2 5)) 5 "A1")

(command "" "" (list (+ k1 3) (+ k3 5)) (list (+ k1 7) (+ k3 5)) 5 "A2")

(command "" "" (list (+ k4 3) (+ k3 5)) (list (+ k4 7) (+ k3 5)) 5 "A3")

(command "" "" (polar (polar b1 (dtr 0.0) (- len 5)) (dtr 90.0) (+ 5 len)) (polar (polar b1 (dtr 0.0) (+ 30 len)) (dtr 90.0) (+ 5 len)) 6 (strcase (strcat "A" "(" (rtos x 2 2) ";" (rtos y 2 2) ";" (rtos z 2 2) ")")))

 

(command "" "" "0" "")

 

(print vivod)

(princ)

)


1. .. ., 1985.

2. .. AutoCAD: ., 1995.

3. .., .. AutoCAD ., 1994.

4. .. ., 1990.

5. .. ., 1985.

6. .. ., 1999.

7. .. ., 1987.

 





:


: 2016-10-30; !; : 308 |


:

:

, .
==> ...

1602 - | 1420 -


© 2015-2024 lektsii.org - -

: 0.222 .