Tải bản đầy đủ - 0 (trang)
CHƯƠNG 2. XÂY DỰNG CHƯƠNG TRÌNH

CHƯƠNG 2. XÂY DỰNG CHƯƠNG TRÌNH

Tải bản đầy đủ - 0trang

Bài tập lớn Tự động hóa Thiết kế



Phân tích số liệu chọn phương án thiết kế

Nhận biết các nhu cầu

Các con tàu hiện đại ngày nay đều trang bị hệ thống ống cực kì phức tạp

và đã được tiêu chuẩn hóa các có kích thước, đường kính, ... xác định trước.

Việc thiết kế nếu thực hiện thủ công bằng tay hay trên máy tính sẽ tốn rất nhiều

thời gian và tiền bạc gây ra sự nhàm chán và sai sót với kỹ sư thiết kế.Chính vì

vậy nhu cầu về một chương trình tự động thiết kế các chi tiết của hệ thống ơng

rất cao

Xác định vấn đề

Ở đây có hai vấn đề cần xác định là người sử dụng tự động hóa và người

thực hiện tự động hóa :

Người sử dụng tự động hóa cần biết một số vấn đề sau :

- Người sử dụng chương trình là những kí sư thiết kế, sinh viên, giảng

viên, họ đều là những người có kiến thức chun mơn cao và kiến thức về phần

mềm AutoCAD và AutoLISP họ có thể điều chỉnh chương trình cho phù hợp với

thói quen và u cầu sử dụng.

Người thực hiện tự động hóa cần có một số vân đề sau :

- Người thực hiện tự động hóa là sinh viên cần biết AutoCAD và

AutoLISP, khai thác và sử dụng các tính năng ưu việt của nó. Ngồi ra người

dùng còn phải cập nhập tin tức, tài liệu về sản phẩm đang thiết kế tự động hóa.

- Cơ sở thiết kế phải có đủ phần mềm và các trang thiết bị sử dụng khai

thác phần mềm dự định thiết kế.

- Khả năng tài chính cũng đòi hỏi người thực hiện phải có đủ tài chính để

cập nhậm phần mềm hay tài liệu xoay quanh phần mềm thiết kế và sản phẩm

thiết kế.

Tổng hợp

Từ những phân tích trên ta xây dựng chương trình tự động vẽ mặt bích

thường theo tiêu chuẩn JIS 40K bằng ngơn ngữ lập trình AUTOLISP trên ứng

dụng nền AUTOCAD sử dụng giao diện người dùng



Nguyễn Trọng Đà



Page 6



7/10/2019



Bài tập lớn Tự động hóa Thiết kế



Thực hiện

2.1.1.1. Xem xét, nghiên cứu các quá trình hoặc sản phẩm tự động hóa



tương tự

- Cần học hỏi từ những sản phẩm và q trình tự động hóa tương tự để bắt

đầu một cách đúng hướng, tránh cách lỗi gặp phải khi thực hiện.

2.1.1.2. Học hỏi những người có kinh nhiệm



- Tiếp thu những kinh nghiệm của người khác, để tích lũy kiến thức cho

bản thân nhằm thực hiện chương trình tự động hóa một cách hiệu quả nhất.

2.1.1.3. Ứng dụng công nghệ



- Người thực hiện phải nghiên cứu nhiều cơng nghệ kết hợp với tính sáng

tạo và trí tuệ của bản thân, đưa ra lựa chọn công nghệ hợp lý.

Thiết kế

2.1.1.4. Code lệnh mô tả hộp thoại

begin: dialog{

label = "Flange";

:spacer{width=20;}

:boxed_row {

label = "Insert point";

:edit_box {label = "&X_Axis";key =

"edit_X";edit_width = 4;}

:edit_box {label = "&Y_Axis";key =

"edit_Y";edit_width = 4;}

}

:boxed_row {

label = "Nominal Diameter";

:popup_list {

label = "Select nomial diameter: ";

edit_width = 6;

key = "edit_code";

value = "0";

list = "\n10 \n15 \n20 \n25 \n32

\n40 \n50 \n65 \n80 \n100 \n125 \n150 \n200 \n250";

}

}

:boxed_row {

label = "Orthographic projection";

:radio_button {label="Front"; key =

"rd";value = "1";}

:radio_button {label="Bottom"; key =

"rd_f";value = "0";}

}

Nguyễn Trọng Đà



Page 7



7/10/2019



Bài tập lớn Tự động hóa Thiết kế



:boxed_row {

label = "Rotate angle";

:edit_box {label = "Enter rotate angle:

";edit_width = 6;key = "angl";value = "0";}

}

ok_cancel_err;

}

2.1.1.5. Code lệnh thực hiện

(defun c:da (/ DCL_ID)

(command "_limits" "0,0" "297,210")

(command "layer" "set" "0" "")

(setq DCL_ID (load_dialog "bd.DCL"))

(if (not (new_dialog "begin" DCL_ID))

(exit)

)

(if (= (numberp X) T)

(set_tile "edit_X" (rtos X))

)

(if (= (numberp Y) T)

(set_tile "edit_Y" (rtos Y))

)

(if (= (numberp angl) T)

(set_tile "angl" (rtos angl))

)

(if (= (numberp code) T)

(set_tile "edit_code" (rtos code))

)

(if (= (numberp rd1) T)

(set_tile "rd" (rtos rd1))

)

(if (= (numberp rd2) T)

(set_tile "rd_f" (rtos rd2))

)

(action_tile

"edit_X"

"(setq X (atof (get_tile \"edit_X\")))"

)

(action_tile

"edit_Y"

"(setq Y (atof (get_tile \"edit_Y\")))"

)

(action_tile

"angl"

"(setq angl (atof (get_tile \"angl\")))"

)

(action_tile

"edit_code"

Nguyễn Trọng Đà



Page 8



7/10/2019



Bài tập lớn Tự động hóa Thiết kế



"(setq code (atof (get_tile \"edit_code\")))"



)

(action_tile "rd" "(setq rx (atof

(get_tile \"rd\")))")

(action_tile "rd_f" "(setq rx (atof

(get_tile \"rd_f\")))")

(action_tile "accept" "(done_dialog 1)")

(action_tile "rd" "(setq rd1 (atoi $value)) (setq

rd2 0)")

(action_tile "rd_f" "(setq rd2 (atoi $value))

(setq rd1 0)")

(action_tile "cancel" "(done_dialog 1) (exit)")

(start_dialog)

(unload_dialog DCL_ID)

(setq A1 (list x y 0))

(cond

((= code 0)

(setq OD 8.65)

(setq d0 8.9)

(setq D 55)

(setq t1 18)

(setq TL 26)

(setq a 17)

(setq b 19)

(setq r 5)

(setq f 1)

(setq g 26)

(setq dn 0)

(setq C 37.5)

(setq BL 4)

(setq h 9.5)

(setq S1 14)

(setq m 6)

(setq S2 14)

(setq n 5)

)

((= code 1)

(setq OD 10.85)

(setq d0 11.1)

(setq D 57.5)

(setq t1 20)

(setq TL 30)

(setq a 19.5)

(setq b 21.5)

(setq r 5)

(setq f 1)

(setq g 27.5)

(setq dn 0)

(setq C 40)

Nguyễn Trọng Đà



Page 9



7/10/2019



Bài tập lớn Tự động hóa Thiết kế



(setq

(setq

(setq

(setq

(setq

(setq



BL 4)

h 9.5)

S1 16.25)

m 6)

S2 16.25)

n 5)



)

((= code 2)

(setq OD 13.6)

(setq d0 13.85)

(setq D 60)

(setq t1 20)

(setq TL 30)

(setq a 22.5)

(setq b 24.5)

(setq r 5)

(setq f 1)

(setq g 30)

(setq dn 0)

(setq C 42.5)

(setq BL 4)

(setq h 9.5)

(setq S1 19)

(setq m 6)

(setq S2 19)

(setq n 5)

)

((= code 3)

(setq OD 17.25)

(setq d0 17.25)

(setq D 65)

(setq t1 22)

(setq TL 32)

(setq a 27.5)

(setq b 29.5)

(setq r 5)

(setq f 1)

(setq g 35)

(setq dn 0)

(setq C 47.5)

(setq BL 4)

(setq h 9.5)

(setq S1 23.9)

(setq m 6)

(setq S2 23.9)

(setq n 5)

)

((= code 4)

(setq OD 21.35)

Nguyễn Trọng Đà



Page 10



7/10/2019



Bài tập lớn Tự động hóa Thiết kế



(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq



d0 21.6)

D 70)

t1 24)

TL 35)

a 32)

b 34)

r 3)

f 2)

g 40)

dn 0)

C 52.5)

BL 4)

h 9.5)

S1 28.25)

m 6)

S2 28.25)

n 5)



)

((= code 5)

(setq OD 24.3)

(setq d0 24.55)

(setq D 80)

(setq t1 24)

(setq TL 35)

(setq a 35)

(setq b 37)

(setq r 6)

(setq f 2)

(setq g 45)

(setq dn 0)

(setq C 60)

(setq BL 4)

(setq h 11.5)

(setq S1 31.25)

(setq m 6)

(setq S2 31.25)

(setq n 5)

)

((= code 6)

(setq OD 30.25)

(setq d0 30.55)

(setq D 82.5)

(setq t1 26)

(setq TL 38)

(setq a 43)

(setq b 45)

(setq r 6)

(setq f 2)

(setq g 52.5)

Nguyễn Trọng Đà



Page 11



7/10/2019



Bài tập lớn Tự động hóa Thiết kế



(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq



dn 0)

C 65)

BL 8)

h 9.5)

S1 37.25)

m 6)

S2 37.25)

n 5.5)



)

((= code 7)

(setq OD 38.15)

(setq d0 38.55)

(setq D 100)

(setq t1 30)

(setq TL 44)

(setq a 53)

(setq b 55)

(setq r 8)

(setq f 2)

(setq g 65)

(setq dn 31.15)

(setq C 80)

(setq BL 8)

(setq h 11.5)

(setq S1 45.75)

(setq m 7)

(setq S2 45.75)

(setq n 7)

)

((= code 8)

(setq OD 44.55)

(setq d0 45.15)

(setq D 105)

(setq t1 32)

(setq TL 46)

(setq a 59)

(setq b 62)

(setq r 8)

(setq f 2)

(setq g 70)

(setq dn 36.95)

(setq C 85)

(setq BL 8)

(setq h 11.5)

(setq S1 52.75)

(setq m 7.5)

(setq S2 52.75)

(setq n 7)

)

Nguyễn Trọng Đà



Page 12



7/10/2019



Bài tập lớn Tự động hóa Thiết kế



((= code 9)

(setq OD 57.15)

(setq d0 57.75)

(setq D 125)

(setq t1 36)

(setq TL 52)

(setq a 72.5)

(setq b 75.5)

(setq r 8)

(setq f 2)

(setq g 82.5)

(setq dn 48.55)

(setq C 102.5)

(setq BL 8)

(setq h 12.5)

(setq S1 66.5)

(setq m 8.5)

(setq S2 66.5)

(setq n 7)

)

((= code 10)

(setq OD 69.9)

(setq d0 70.7)

(setq D 150)

(setq t1 40)

(setq TL 58)

(setq a 91)

(setq b 94)

(setq r 8)

(setq f 2)

(setq g 100)

(setq dn 60.4)

(setq C 125)

(setq BL 8)

(setq h 13.5)

(setq S1 80.25)

(setq m 9.5)

(setq S2 80.25)

(setq n 7)

)

((= code 11)

(setq OD 82.6)

(setq d0 83.5)

(setq D 177.5)

(setq t1 44)

(setq TL 64)

(setq a 100)

(setq b 104)

(setq r 8)

Nguyễn Trọng Đà



Page 13



7/10/2019



Bài tập lớn Tự động hóa Thiết kế



(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq

(setq



f 2)

g 120)

dn 71.6)

C 147.5)

BL 12)

h 16.5)

S1 94)

m 11)

S2 94)

n 7)



)

((= code 12)

(setq OD 108.15)

(setq d0 109.1)

(setq D 202.5)

(setq t1 50)

(setq TL 72)

(setq a 127.5)

(setq b 131.5)

(setq r 8)

(setq f 2)

(setq g 145)

(setq dn 95.45)

(setq C 172.5)

(setq BL 12)

(setq h 16.5)

(setq S1 121.5)

(setq m 13)

(setq S2 121.5)

(setq n 7)

)

((= code 13)

(setq OD 133.7)

(setq d0 134.75)

(setq D 237.5)

(setq t1 56)

(setq TL 80)

(setq a 155)

(setq b 159)

(setq r 10)

(setq f 2)

(setq g 177.5)

(setq dn 118.6)

(setq C 205)

(setq BL 12)

(setq h 16.5)

(setq S1 149)

(setq m 15)

(setq S2 149)

Nguyễn Trọng Đà



Page 14



7/10/2019



Bài tập lớn Tự động hóa Thiết kế



(setq n 7)



)



)

(cond

((<= code 7)

(cond

((= rd1 1)

(setq A2 (polar A1 0 S2))

(setq A3 (polar A1 0 g))

(setq AT3 (polar A3 (/ pi 2) f))

(setq A4 (polar AT3 0 f))

(setq A5 (polar AT3 0 (- D g)))

(setq A6 (polar A5 (/ pi 2) (- t1 f)))

(setq A7 (polar A6 (- 0 pi) (- D (+ a r))))

(setq AT7 (polar A7 (- 0 pi) r))

(setq A8 (polar AT7 (/ pi 2) r))

(setq A10 (polar A1 (/ pi 2) TL))

(setq A11 (polar A10 (- 0 pi) S1))

(setq A12 (polar A10 (- 0 pi) a))

(setq AT9 (polar A10 0 S1))

(setq A9 (polar A10 0 a))

(setq A13 (polar A12 (- 0 (/ pi 2)) (- TL (+ t1

r))))

(setq AT14 (polar A13 (- 0 (/ pi 2)) r))

(setq A14 (polar AT14 (- 0 pi) r))

(setq A15 (polar A14 (- 0 pi) (- D (+ a r))))

(setq A16 (polar A15 (- 0 (/ pi 2)) (- t1 f)))

(setq A17 (polar A16 0 (- D (+ g f))))

(setq AT18 (polar A17 0 f))

(setq A18 (polar AT18 (- 0 (/ pi 2)) f))

(setq A19 (polar A1 (- 0 pi) S2))

(setq D1 (polar A1 0 C))

(setq D2 (polar D1 (/ pi 2) f))

(setq D3 (polar D1 (/ pi 2) t1))

(setq D4 (polar D3 (/ pi 2) 10))

(setq D5 (polar D2 (- 0 (/ pi 2)) 10))

(setq L5 (polar D3 (- 0 pi) h))

(setq L6 (polar D3 0 h))

(setq L7 (polar D2 (- 0 pi) h))

(setq L8 (polar D2 0 h))

(setq DX1 (polar A1 (- 0 pi) C))

(setq DX2 (polar DX1 (/ pi 2) f))

(setq DX3 (polar DX1 (/ pi 2) t1))

(setq DX4 (polar DX3 (/ pi 2) 10))

(setq DX5 (polar DX2 (- 0 (/ pi 2)) 10))

(setq LX5 (polar DX3 (- 0 pi) h))

(setq LX6 (polar DX3 0 h))

(setq LX7 (polar DX2 (- 0 pi) h))

(setq LX8 (polar DX2 0 h))

Nguyễn Trọng Đà



Page 15



7/10/2019



Bài tập lớn Tự động hóa Thiết kế



(setq AT10 (polar A10 (/ pi 2) 10))

(setq AT1 (polar A1 (- 0 (/ pi 2)) 10))

(setq B3 (polar A1 (/ pi 2) (- TL m)))

(setq B2 (polar B3 0 d0))

(setq B4 (polar B3 (- 0 pi) d0))

(setq B5 (polar B4 (- 0 (/ pi 2)) (- TL (+ m

n))))

(setq B1 (polar B2 (- 0 (/ pi 2)) (- TL (+ m

n))))

(setq M1 (polar L8 (/ pi 4) 1))

(setq M2 (polar A16 (/ pi 4) 1))

(command "_zoom" "_c" A1 (* 2 D))

(command "layer" "set" "0" "")

(command "_line" A3 A1 "")

(command "_arc" A4 "e" A3 "r" f)

(command "_line" A5 A4 "")

(command "_line" A6 A5 "")

(command "_line" A7 A6 "")

(command "_arc" A8 "e" A7 "r" r)

(command "_line" A9 A8 "")

(command "_line" A10 A9 "")

(command "_line" A12 A10 "")

(command "_line" A12 A13 "")

(command "_arc" A14 "e" A13 "r" r)

(command "_line" A15 A14 "")

(command "_line" A16 A15 "")

(command "_line" A17 A16 "")

(command "_arc" A18 "e" A17 "r" f)

(command "_line" A18 A1 "")

(command "_line" L5 L7 "")

(command "_line" L6 L8 "")

(command "_line" LX5 LX7 "")

(command "_line" LX6 LX8 "")

(command "_line" B1 B2 "")

(command "_line" B1 B5 "")

(command "_line" B4 B5 "")

(command "_line" B4 B2 "")

(command "_arc" A11 "e" B4 "r" m)

(command "_arc" B2 "e" AT9 "r" m)

(command "layer" "m" "2" "c" "2" "" "l" "center"

"" "")

(command "_line" D4 D5 "")

(command "_line" DX4 DX5 "")

(command "_line" AT10 AT1 "")

(command "layer" "set" "0" "")

(command "_arc" B5 "e" A19 "r" n)

(command "_arc" A2 "e" B1 "r" n)

(command "_zoom" "_c" A1 (* 2 D))



Nguyễn Trọng Đà



Page 16



7/10/2019



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

CHƯƠNG 2. XÂY DỰNG CHƯƠNG TRÌNH

Tải bản đầy đủ ngay(0 tr)

×