Примеры компьютерного решения графических
Пример: Программа чертежа вала по заданным параметрам: диаметру и длине ступени.
(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.
Дата добавления: 2017-09-19; просмотров: 398;