Пример графической программы

(defun vt()

;Ввод исходных данных:

(setq bp (getpoint "\nВведите нач.точку: ")

d (getdist "\nВведите диаметр отверстия d: ")

A (getdist "\nВведите высоту ступицы A: ")

B (getdist "\nВведите высоту обода B: ")

z1 (getstring "\n Введите наименование детали: ")

z2 (getstring "\n Введите Ф.И.О.: ")

z3 (getstring "\n Введите группу: ")

)

;Вычерчиваемое изображение:

; ; ; ; ; ; ; ; ; ; ;
8 7

       
   
 
 
 


; Расположение точек

9 10 L1,L2,...

D1 bp d D2

12 11; D1=2*d+10

; D2=d+10

 
3
 
 


1 B 2 A

 
 


;Расчет диаметров D1 и D2:

(setq D1 (+ (* 2 d) 10)

D2 (+ d 10)

)

;Определение опорных точек;

(setq pi2 (/ pi 2); pi2 - угол p/2

L1 (polar bp (* 3 pi2) (/ D1 2))

L2 (polar L1 0 B)

L3 (polar L2 pi2 (/ (- D1 D2) 2))

L4 (polar L3 0 A)

L5 (polar L4 pi2 D2)

L6 (polar L5 pi A)

L7 (polar L6 pi2 (/ (- D1 D2) 2))

L8 (polar L7 pi B)

L9 (polar L8 (* 3 pi2) (/ (- D1 d) 2))

L10 (polar L9 0 (+ A B))

L11 (polar L10 (* 3 pi2) d)

L12 (polar L11 pi (+ A B))

)

;Вычерчивание основного контура:

(command "ПЛИНИЯ" L12 L1 L2 L3 L4 L11 L12 ""

"ПЛИНИЯ" L9 L10 L5 L6 L7 L8 L9 ""

)

(command "ОТРЕЗОК" L12 L9 ""

"ОТРЕЗОК" L10 L11 ""

)

; Вычерчивание осевой линии:

;Выбор типа линии:

(command "ТИПЛИН" "У" "center" "")

(command "ОТРЕЗОК" (list (-(car bp) 10) (cadr bp))

(list (+(car bp) 10 A B) (cadr bp))""

)

; Простановка размеров:

(command "ТИПЛИН" "У" "continuous" "")

(command "РАЗМЕР" "ВЕР" L1 L8 (list(-(car bp) 10) (cadr L1)) ""

"РАЗМЕР" "ВЕР" L4 L5 (list(+(car L5) 30) (cadr L5)) ""

"РАЗМЕР" "ВЕР" L11 L10 (list(+(car L10) 15) (cadr L11)) ""

"РАЗМЕР" "ГОР" L1 L2 (list(car L1) (-(cadr L1) 15)) ""

"РАЗМЕР" "ГОР" L2 L4 (list(car L2) (-(cadr L2) 15)) ""

"РАЗМЕР" "ВЫХ"

)

; Написание текста:

(setq w1 (list (+(car bp)(/(+ A B) 2)) (+(cadr L8) 20));начальные

w2 (list (+(car bp)(/(+ A B)2)) (-(cadr L1) 30));точки

w3 (list (+(car bp)(/(+ A B)2)) (-(cadr L1) 40));текста

)

(command "ТЕКСТ" "Ц" w1 "8" "" z1

"ТЕКСТ" "Ц" w2 "5" "" z2

"ТЕКСТ" "Ц" w3 "5" "" z3

)

; Рисование штриховки:

(command "ШТРИХ" "ansi31" 30 0 l6 "";штриховка замкнутых

"ШТРИХ" "ansi31" 30 0 l3 "";полилиниями областей

)

)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: