Nghiên cứu tối ưu hóa sơ đồ cắt chi tiết kim loại từ phôi tấm

95 9 0
Nghiên cứu tối ưu hóa sơ đồ cắt chi tiết kim loại từ phôi tấm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA TRẦN TRUNG ANH DŨNG NGHIEÂN CỨU TỐI ƯU HÓA SƠ ĐỒ CẮT CHI TIẾT KIM LOẠI TỪ PHÔI TẤM Chuyên ngành: Cơ Khí Chế Tạo Máy Mã số ngành: 2.01.00 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH Tháng 9/ 2005 CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TS Phạm Ngọc Tuấn Cán hướng dẫn khoa học: PGS.TS Phan Đình Huấn Cán chấm nhận xét 1: TS Đỗ Đức Túy Caùn chấm nhận xét 2: Luận văn thạc só bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày tháng năm 2005 ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự - Hạnh phúc TP.HCM, ngày 17 tháng năm 2005 NHIỆM VỤ LUẬN VĂN THẠC SĨ TRẦN TRUNG ANH DŨNG Nam Họ tên học vieân: Phaùi: 14 – 02 - 1964 Đà Lạt Ngày, tháng, năm sinh: Nôi sinh: Cô khí Chế tạo Máy 00403076 Chuyên ngành: MSHV: I TÊN ĐỀ TÀI: NGHIÊN CỨU TỐI ƯU HOÁ SƠ ĐỒ CẮT CHI TIẾT KIM LOẠI TỪ PHÔI TẤM II NHIỆM VỤ VÀ NỘI DUNG: - Tổng quan sơ đồ cắt công cụ toán học - Xây dựng toán giải thuật tối ưu sơ đồ cắt chi tiết kim loại từ phoâi - Xây dựng phần mềm xếp tối ưu dùng ngành khí 17 – 01 - 2005 III NGÀY GIAO NHIỆM VUÏ: 30 – 09 - 2005 IV NGAØY HOAØN THÀNH NHIỆM VỤ: TS Phạm Ngọc Tuấn V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM NGÀNH BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH Nội dung đề cương luận văn thạc só Hội Đồng Chuyên Ngành thông qua Ngày tháng năm 2005 PHÒNG ĐÀO TẠO SĐH KHOA QUẢN LÝ NGÀNH LỜI CẢM ƠN Xin chân thành cảm ơn: - TS Phạm Ngọc Tuấn, Phó Trưởng Khoa Cơ khí tận tình hướng dẫn việc nghiên cứu thực luận văn Xin gởi lời cảm ơn đến: - TS Nguyễn Minh Hà, Phó Chủ nhiệm Bộ môn Dệt May; - Quý thầy cô thuộc Khoa Cơ Khí, phòng Đào tạo sau Đại học ĐHBK TpHCM; - Lãnh đạo đồng nghiệp thuộc Khoa Kỹ Thuật, Trường Cao Đẳng Sư Phạm TpHCM; - Ths Trần Đăng Bổng, Trường CNKT Lâm nghiệp; - Các bạn lớp Cao học CTM K14; - Cùng gia đình dẫn, đóng góp ý kiến, giúp đỡ, động viên, tạo điều kiện thuận lợi để luận văn hoàn thành Đại học Bách Khoa TpHCM Tháng 9/2005 Trần Trung Anh Dũng TÓM TẮT LUẬN VĂN Sắp xếp sơ đồ cắt số công đoạn quan trọng việc thiết kế dập cắt Mục đích việc xếp sơ đồ cắt để tăng hiệu sử dụng vật liệu giảm thiểu phần vật liệu thừa dập Hiện nay, việc xếp sơ đồ cắt thực thủ công phụ thuộc nhiều vào kỹ kinh ngiệm người thiết kế Trong luận văn này, phương án xếp tối ưu nghiên cứu ứng dụng lónh vực dập cắt khí thông qua phần mềm xếp xây dựng Công việc nghiên cứu nhu cầu thực tiễn sản xuất, tham khảo chương trình xếp nước phần mềm nước lónh vực tương quan, đề xuất giải thuật xây dựng phần mềm cho phù hợp với mục đích nâng cao hiệu kinh tế trình sản xuất Việc ứng dụng phần mềm xếp sơ đồ cắt triển khai thử nghiệm sở sản xuất địa bàn Thành phố Hồ Chí Minh, bước đầu cho kết khả quan MỤC LỤC Nhiệm vụ Luận văn Thạc só Lời Cảm ơn .4 Tóm tắt Luận văn Thạc só Muïc luïc CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ CẮT CHI TIẾT KIM LOẠI DẠNG TẤM 1.1 Giới thiệu 1.2 Vấn đề cắt chi tiết kim loại dạng .10 1.3 Tình hình nghiên cứu giới 15 1.4 Tình hình nghiên cứu nước 17 1.5 Mục tiêu luận văn 17 1.6 Giới hạn luận văn .18 1.7 Nội dung thực luận văn 18 CHƯƠNG 2: NHỮNG KHÁI NIỆM VÀ CÔNG CỤ TOÁN HỌC CƠ BẢN .19 2.1 Vùng xếp 20 2.2 Cực chi tiết – thông số xếp 21 2.3 Chiều xếp .22 2.4 Hướng xếp 23 2.5 Các tổ hợp xếp chi tieát 24 2.6 Hệ toạ độ xếp tịnh tiến song song – Hình bình hành sở 25 2.7 Hệ số sử dụng .26 2.8 Hàm đường mút 27 2.9 Hàm tựa .28 2.10 Vấn đề mô tả đường biên chi tiết chiều 28 2.11 Các toán xếp .30 2.12 Keát luaän 32 CHƯƠNG 3: GIẢI QUYẾT BÀI TOÁN TỐI ƯU HOÁ SƠ ĐỒ CẮT CHI TIẾT KIM LOẠI TỪ PHÔI TẤM 33 3.1 Đặt vấn đề 34 3.2 Số hoá liệu từ file CAD 34 3.3 Xây dựng hàm đường mút 39 3.4 Giải thuật xác định toạ độ đỉnh thứ ba hình bình hành sở .45 3.5 Giải thuật xếp loại chi tiết vật liệu có kích thước cố định 48 3.6 Tính kích thước pha băng 50 CHƯƠNG 4: PHẦN MỀM SẮP XẾP & KẾT QUẢ ỨNG DỤNG THỰC TẾ 54 4.1 Các chức phần mềm xếp .55 4.2 Giới thiệu giao diện phần mềm 57 4.3 Kết ứng dụng phần mềm thực tế sản xuất 63 4.4 Kết luận .65 Kết luận 66 Tài liệu tham khaûo 67 Tóm tắt lý lịch 70 Phuï luïc 71 Biên đánh giá thử nghiệm 72 Một số đoạn code chương trình 73 Chương TỔNG QUAN VỀ CÔNG NGHỆ CẮT CHI TIẾT KIM LOẠI DẠNG TẤM 1.1 GIỚI THIỆU Ngày 26 tháng 12 năm 2002 Thủ tướng Chính phủ có định số 186/2002/QĐ-TTG phê duyệt chiến lược phát triển ngành khí Việt Nam đến năm 2010, tầm nhìn tới năm 2020, nhấn mạnh: Cơ khí ngành công nghiệp tảng, có vai trò quan trọng việc phát triển kinh tế, củng cố an ninh, quốc phòng đất nước Phát triển ngành khí cách có hiệu quả, bền vững sở phát huy nguồn lực nước kết hợp với nguồn lực bên ngoài, khuyến khích thành phần kinh tế tham gia phát triển ngành khí Tập trung phát triển số chuyên ngành, sản phẩm khí trọng điểm nhằm khai thác, phát huy tốt tiềm (tài nguyên, nguồn nhân lực) để đáp ứng yêu cầu công phát triển đất nước Định hướng chiến lược phát triển số chuyên ngành nhóm sản phẩm khí quan trọng : máy động lực, máy kéo, máy nông nghiệp, khí tàu thủy, thiết bị điện, khí ôtô khí giao thông vận tải v.v… Với mục tiêu đến năm 2010 ngành khí đáp ứng 45 - 50% nhu cầu sản phẩm khí nước, xuất đạt 30% giá trị sản lượng Trong định hướng chiến lược nêu trên, thấy thách thức lớn đặt cho ngành khí nói chung đặc biệt ngành khí chế tạo mà sản phẩm đặc trưng chiếm số lượng lớn chi tiết dạng Theo thống kê cho thấy: v Trong ngành chế tạo ô tô có tới 60÷75% số lượng chi tiết gia công phương pháp dập nguội v Trong ngành chế tạo máy kéo có khoảng 30÷40% số lượng chi tiết gia công phương pháp dập nguội 10 v Trong lãnh vực sản xuất hàng tiêu dùng số lượng chi tiết gia công phương pháp cắt dập nguội chiếm đến 98% v Trong ngành chế tạo dụng cụ tỷ lệ chiếm 70÷75% v Ngoài ra, lãnh vực chế tạo máy ngành công nghiệp nặng, công nghiệp lượng, giao thông vận tải có tới 20÷30% số lượng chi tiết gia công phương pháp dập nguội khuôn Hơn vấn đề đáng quan tâm sản xuất tăng suất gia công, nâng cao hiệu suất sử dụng vật liệu giảm thiểu chi phí Chính lẽ việc nghiên cứu tối ưu hoá sơ đồ cắt vật liệu kim loại dạng cần thiết 1.2 VẤN ĐỀ CẮT KIM LOẠI DẠNG TẤM Cắt kim loại nguyên công tách phần kim loại khỏi phần theo đường bao hở khép kín 1.2.1 Các phương pháp cắt kim loại dạng Khảo sát phương pháp cắt truyền thống: 1.2.1.1 Cắt vật liệu dao cắt Tấm kim loại cắt máy cắt dao song song (a), máy cắt dao nghiêng (b) đóa cắt (c) Hình 1.1 – Sơ đồ cắt kim loại dao cắt a) Dao song song; b) Dao nghiêng; c) Đóa cắt 81 //tg:real; nn,dd:real; s_1:integer; s_11:integer; tt:integer; dai_tron,rong_tron:integer; dem: integer; thu:real; { } Procedure Lay_gia_tri(N:Integer;Pkq1,Pkq2:Polygone;teta,phi:integer;var Nmax:integer;var Pktq1,Pktq2:Polygone;var tetamax,phimax:integer); begin Nmax:=N; Pktq1:=Pkq1; Pktq2:=Pkq2; tetamax:=teta; phimax:=phi; end; Procedure Chon_diem(b1,b2:day2;t:integer;goc1,goc2,teta:integer; var c1,c2:day2;var ds:integer); var q1,q2,tam:day2; z:integer; d:integer; diem_chon, m,s,l,k:integer; tts:integer; kiem_tra:boolean; begin { xu ly truong hop duong co hai diem giao trung } { q1:=b1; q2:=b2; i:=1; Repeat Repeat 82 m:= i+1; if ((q1[i]=q1[m]) or (q2[i]= q2[m]) ) then kiem_tra := true else kiem_tra:= false; if kiem_tra = true then begin for s := i to t begin q1[s]:=q1[s+1]; {bo gia tri giong tren day q1} { q2[s]:=q2[s+1]; end; t:=t-1; end; until kiem_tra= false; i:=i+1; until i>t; b1:=q1; b2:=q2; {chuyen doi day theo goc teta} for i:=1 to t begin q1[i]:=b1[i]-teta; if q1[i]Nmax)) then begin Lay_gia_tri(N,Pkq1,Pkq2,teta,phi,Nmax,Pktq1,Pktq2,tetamax,phimax); if code_chon=2 then begin Edit2.text:= format('%d',[phimax]); Edit16.text:=format('%d',[N]); Edit5.text:=format('%4.3f',[hsci]); Edit8.text:= format('%d',[teta]); Edit10.text:='SØp theo hai hõðng'; { edit12.text:= format('%d',[s1]);} Edit2.update; Edit16.update; Edit5.update; Edit8.update; Edit10.update; form3.Update; end; end; s11:=s11+2; {(@)} { da sua tu diem diem} until s11>diem022[1]; end {ket thuc vong co diem, vong co diem} else { vong co diem, vong co nhieu diem} begin {vong co diem, vong co nhieu diem } { WFDIG('C:\sapxep\thu\Mux5',Mux_5,stL1,stL2); WFDIG('C:\sapxep\thu\Mux6',Mux_6,stL1,stL2); } {phan sua 24.02} 87 if (diem011[1]=diem011[2])or (diem011[2] - diem011[1]=1) then begin d11:=diem011[1]; d33:=diem011[2]; end else begin d11:=diem011[1]; d33:=diem011[1]+1; end; if (diem022[1]=diem022[2])or (diem022[2] - diem022[1]=1) then begin d22:=diem022[1]; d44:=diem022[2]; end else begin d22:=diem022[1]; d44:=diem022[1]+1; end; If ((Mux_5.Pt[d33].x-Mux_5.Pt[d11].x)*(Mux_6.Pt[d44].y-Mux_6.Pt[d22].y) - (Mux_5.Pt[d33].y-Mux_5.Pt[d11].y)*(Mux_6.Pt[d44].xMux_6.Pt[d22].x)) >0 then dj11:=1 else dj11:=2; j11:=dj11; repeat {cho chay bien j11} if ((diem011[j11]diem011[j11+1])and (diem011[j11]diem011[j11+1]1)) then s11:=diem011[j11]+1 else s11:=diem011[j11]; {*****} if ((diem022[j11]diem022[j11+1])and (diem022[j11]diem022[j11+1]1)) then s_11:=diem022[j11]+1 else s_11:=diem022[j11]; {s_11:=diem022[j11]+1;} if diem011[j11]=diem011[j11+1] then Mux_5.Pt[s11]:=Mux_6.Pt[s_11-1]; {sua 11.03} If ((((Mux_5.Pt[s11+1].x-Mux_5.Pt[s11].x)*(Mux_6.Pt[s_11+1].yMux_6.Pt[s_11].y) - (Mux_5.Pt[s11+1].y-Mux_5.Pt[s11].y)*(Mux_6.Pt[s_11+1].xMux_6.Pt[s_11].x)) >=0) and (j11= Nmax)) or ((teta phi) and (N>Nmax)) then begin Lay_gia_tri(N,Pkq1,Pkq2,teta,phi,Nmax,Pktq1,Pktq2,tetamax,phimax); if code_chon = then begin Edit2.text:= format('%d',[phimax]); Edit16.text:=format('%d',[N]); Edit5.text:=format('%4.3f',[hsci]); Edit8.text:= format('%d',[teta]); Edit10.text:='SØp theo hai hõðng'; { edit12.text:= format('%d',[s1]);} Edit2.update; Edit16.update; Edit5.update; 89 Edit8.update; Edit10.update; form3.Update; end; end; s11:=s11+2; {@} { da sua tu diem diem} until s11>diem011[j11+1]; {het cho bien s11} end; j11:=j11+2; {so khong duoc sua} until j11> t011;{het cho bien j11} end;{ket thuc vong co diem, vong co nhieu diem} s1:=s1+ 2; {@}{ da sua tu diem diem} until s1>diem02[1]-1; end{ket thuc vong co diem} else { truong hop vong co nhieu diem} begin { truong hop vong co nhieu diem} if (diem01[1]=diem01[2])or (diem01[2] - diem01[1]=1) then begin d1:=diem01[1]; d3:=diem01[2]; end else begin d1:=diem01[1]; d3:=diem01[1]+1; end; if (diem02[1]=diem02[2])or (diem02[2] - diem02[1]=1) then begin d2:=diem02[1]; d4:=diem02[2]; end else begin d2:=diem02[1]; d4:=diem02[1]+1; end; { d1:=diem01[1]; d3:=diem01[2]; 90 d2:=diem02[1]; d4:=diem02[2]; } If ((Mux_2.Pt[d3].x-Mux_2.Pt[d1].x)*(Mux_3.Pt[d4].y-Mux_3.Pt[d2].y) - (Mux_2.Pt[d3].y-Mux_2.Pt[d1].y)*(Mux_3.Pt[d4].x-Mux_3.Pt[d2].x)) >=0 then dj1:=1 else dj1:=2; j1:= dj1; repeat {cho bien j1} if ((diem01[j1] diem01[j1+1])and (diem01[j1] diem01[j1+1]-1)) then s1:= diem01[j1]+1 else s1:=diem01[j1]; if ((diem02[j1] diem02[j1+1])and (diem02[j1] diem02[j1+1]-1)) then s_1:= diem02[j1]+1 else s_1:=diem02[j1]; { s_1:=diem02[j1]+1;} if diem01[j1]=diem01[j1+1] then Mux_2.Pt[s1]:=Mux_3.Pt[s_1-1]; thu:=((((Mux_2.Pt[s1+1].x-Mux_2.Pt[s1].x)*(Mux_3.Pt[s_1+1].yMux_3.Pt[s_1].y) - (Mux_2.Pt[s1+1].y-Mux_2.Pt[s1].y)*(Mux_3.Pt[s_1+1].xMux_3.Pt[s_1].x)))); {sua 11.03} If ((((Mux_2.Pt[s1+1].x-Mux_2.Pt[s1].x)*(Mux_3.Pt[s_1+1].yMux_3.Pt[s_1].y) - (Mux_2.Pt[s1+1].y-Mux_2.Pt[s1].y)*(Mux_3.Pt[s_1+1].x-Mux_3.Pt[s_1].x)) >=0) and (j1Nmax)) then begin Lay_gia_tri(N,Pkq1,Pkq2,teta,phi,Nmax,Pktq1,Pktq2,tetamax,phimax); if code_chon = then begin Edit2.text:= format('%d',[phimax]); Edit16.text:=format('%d',[N]); Edit5.text:=format('%4.3f',[hsci]); Edit8.text:= format('%d',[teta]); 92 { Edit10.text:='SØp theo hai hõðng'; edit12.text:= format('%d',[s1]);} Edit2.update; Edit16.update; Edit5.update; Edit8.update; Edit10.update; { form3.Update;} end; end; s11:=s11+2; {@} { da sua tu diem diem} until s11>diem022[1]; end {ket thuc vong co nhieu diem, vong co diem} else begin {vong co nhieu diem, vong co nhieu diem } if (diem011[1]=diem011[2])or (diem011[2] - diem011[1]=1) then begin d11:=diem011[1]; d33:=diem011[2]; end else begin d11:=diem011[1]; d33:=diem011[1]+1; end; if (diem022[1]=diem022[2])or (diem022[2] - diem022[1]=1) then begin d22:=diem022[1]; d44:=diem022[2]; end else begin d22:=diem022[1]; d44:=diem022[1]+1; end; If ((Mux_5.Pt[d33].x-Mux_5.Pt[d11].x)*(Mux_6.Pt[d44].y-Mux_6.Pt[d22].y) 93 - (Mux_5.Pt[d22].y-Mux_5.Pt[d11].y)*(Mux_6.Pt[d44].xMux_6.Pt[d22].x)) >=0 then dj11:=1 else dj11:=2; j11:=dj11; repeat {cho chay bien j11} if ((diem011[j11] diem011[j11+1]) and (diem011[j11] diem011[j11+1]-1)) then s11:=diem011[j11]+1 else s11:=diem011[j11]; {trong trương hợp day so diem 011 co so sau khac so truoc tuc la hai diem khac biet thi lay gia tri ke tiep Trong truonghop trung (cung diem, lay gia tri do} if ((diem022[j11] diem022[j11+1]) and (diem022[j11] diem022[j11+1])) then s_11:=diem022[j11]+1 else s_11:=diem022[j11]; { s_11:=diem022[j11]+1; } if diem011[j11]=diem011[j11+1] then Mux_5.Pt[s11]:=Mux_6.Pt[s_11-1]; {sua 11.03} thu:= ((((Mux_5.Pt[s11+1].x-Mux_5.Pt[s11].x)*(Mux_6.Pt[s_11+1].yMux_6.Pt[s_11].y) - (Mux_5.Pt[s_11+1].y-Mux_5.Pt[s_11].y)*(Mux_6.Pt[s_11+1].xMux_6.Pt[s_11].x)))); If ((((Mux_5.Pt[s11+1].x-Mux_5.Pt[s11].x)*(Mux_6.Pt[s_11+1].yMux_6.Pt[s_11].y) - (Mux_5.Pt[s_11+1].y-Mux_5.Pt[s_11].y)*(Mux_6.Pt[s_11+1].xMux_6.Pt[s_11].x)) >=0) and (j11= Nmax)) or ((teta phi) and (N>Nmax)) then begin Lay_gia_tri(N,Pkq1,Pkq2,teta,phi,Nmax,Pktq1,Pktq2,tetamax,phimax); if code_chon= then begin Edit2.text:= format('%d',[phimax]); Edit16.text:=format('%d',[N]); Edit5.text:=format('%4.3f',[hsci]); Edit8.text:= format('%d',[teta]); Edit10.text:='Two direction'; end; end; s11:=s11+2; {@} { da sua tu diem diem} until s11>diem011[j11+1]; {het cho bien s11} end; j11:=j11+2; {so khong duoc sua} until j11> t011;{het cho bien j11} end; s1:=s1+2; {@} { da sua tu diem diem} until s1>diem01[j1+1]; {cho bien s1} end; j1:=j1+2; {so khong duoc sua} until j1 > t01;{het cho bien j1} end; {ket thuc vong co nhieu diem} DecodeTime(time, gio_kt, phut_kt, giay_kt, mgiay_kt); tg:= ((gio_kt-gio_bd)*3600 + (phut_kt-phut_bd)*60 + (giay_kt-giay_bd))/60; 95 str((((gio_kt-gio_bd)*3600 + (phut_kt-phut_bd)*60 + (giay_ktgiay_bd))/60):4:2,st); if code_chon = then begin edit9.text:= st; edit9.update; end; teta:=teta+delta_teta; until teta >teta_lon; phi:=phi+delta_phi; until phi>phi_lon; teta_luu:= tetamax; N_luu:=Nmax; phi_luu:=phimax; KetquaSX1:=PKtq1; KetquaSX2:=Pktq2; { if not ngung_chuong_trinh then} begin end; if code_chon= then begin bitbtn1.enabled:=true; bitbtn2.enabled:=true; bitbtn3.enabled:=true; bitbtn4.enabled:=true; end; End; { } ... sơ đồ cắt áp dụng cho loại chi tiết hay nhiều loại chi tiết dải băng kim loại Hình 1.4 – Sắp xếp sơ đồ cắt cho loại chi tiết Hình 1.5 – Sắp xếp sơ đồ cắt cho hai loại chi tiết 1.3 TÌNH HÌNH NGHIÊN... cắt truyền thống: 1.2.1.1 Cắt vật liệu dao cắt Tấm kim loại cắt máy cắt dao song song (a), máy cắt dao nghiêng (b) đóa cắt (c) Hình 1.1 – Sơ đồ cắt kim loại dao cắt a) Dao song song; b) Dao nghiêng;... hoá sơ đồ cắt vật liệu kim loại dạng cần thiết 1.2 VẤN ĐỀ CẮT KIM LOẠI DẠNG TẤM Cắt kim loại nguyên công tách phần kim loại khỏi phần theo đường bao hở khép kín 1.2.1 Các phương pháp cắt kim loại

Ngày đăng: 11/02/2021, 15:59

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan