........................................ ........................... ........................... ........................... ....................... ..........1 CHƢƠNG 1: ĐẶT VẤN ĐỀ .......................... 1.1. TỔ NG QUAN CỦA ĐỀ TÀI NGHIÊN CỨ U .......................... ........................................ ......................... ........... 1 1.2. TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƢỚC .......................... ............................. ... 2 1.2.1. Tình hình nghiên cứu trong nƣớc ......................... ....................................... ........................... .......................... ................ ... 2 1.2.2.Tình 1.2.2. Tình hình nghiên cứu trên thế giớ i ......................... ....................................... ........................... ........................... .............. 3 1.3. MỤC TIÊU, PHƢƠNG PHÁP, NỘ I DUNG VÀ PHẠM VI NGHIÊN CỨ U .. 4 1.3.1.M 1.3.1. Mục tiêu đề tài ......................... ...................................... ........................... ........................... ........................... ........................... .................. ..... 4 1.3.2. Phƣơng pháp và nội dung nghiên cứu ........................... ........................................ ........................... ..................... ....... 5 1.3.3.Ph 1.3.3. Phạm vi nghiên cứu .......................... ....................................... .......................... ........................... ........................... ....................... .......... 6 ....................................... ........................... ........................... ........................... ...............7 CHƢƠNG 2: CƠ SỞ LÝ THUYẾT ......................... 2.1 . VẼ ĐƢỜ NG HÌNH THEO MẪU ......................... ....................................... ........................... .......................... ................ ... 7 2.2. TÍNH TOÁN CÁC TÍNH TÍNH NĂNG ........................... ......................................... ........................... .......................... ................ ... 8 ....................................... .......................... ........................... ........................... ......................... ............ 8 2.2.1. Đồ Thị Thủy Tĩnh .......................... 2.2.2. Đồ Thị Bonjean ......................... ....................................... ........................... ........................... ........................... .......................... ............... 10 2.2.3. Đồ Thị Pantokanren ......................... ...................................... .......................... ........................... ........................... ..................... ........ 12 2.2.4. Cơ Sở Ổn ........................................ ........................... ........................... ........................... .......................... ............... 17 Sở Ổn Định .......................... 2.3 LỰ A CHỌ N NGÔN NGỮ L LẬP TRÌNH ........................... ......................................... ........................... ................ ... 21 2.3.1.Tìm 2.3.1. Tìm Hiểu Ngôn Ngữ Autolisp............................ ......................................... ........................... ........................... ................ ... 23 2.3.2.Các 2.3.2. Các Hàm AutoLISP Thông Dụng .......................... ........................................ ........................... ......................... ............ 25 ....................................... ........................... ........................... ................. ...36 CHƢƠNG 3: KẾT QUẢ NGHIÊN CỨU ......................... 3.1. LỰ A CHỌ N VÀ GIẢI THUẬT VẼ ĐƢỜ NG HÌNH ......................... ..................................... ............ 36 3.1.1.L 3.1.1. Lựa chọn và xây dựng sơ đồ thuật toán vẽ đƣờ ng ng hình ............................. ................................ ... 36 3.1.2.Gi 3.1.2. Giải thuật chƣơng trình vẽ đƣờ ng ng hình ...................................... .................................................... ................... ..... 38 3.1.3.Xây 3.1.3. Xây dựng hộ p thoại chƣơng trình vẽ đƣờ ng ng hình .................................. ......................................... ....... 44 3.2. GIẢI THUẬT TÍNH TOÁN CÁC TÍNH NĂNG ......................... ....................................... ................... ..... 49 3.2.1.Gi 3.2.1. Giải thuật tính toán và vẽ đồ thị Bonjean ...................... ................................... ........................... ................... ..... 49 3.2.2.Gi 3.2.2. Giải thuật tính toán và vẽ đồ thị thủy tĩnh ......................... ....................................... ........................... ............... 58 3.2.3.Gi 3.2.3. Giải thuật vẽ đồ thị pantokaren .......................... ....................................... ........................... ........................... ................ ... 63 3.2.4.Gi 3.2.4. Giải thuật vẽ đồ thị ổn định ......................... ....................................... ........................... ........................... ....................... ......... 67 3.3. XÂY DỰNG MENU CHO CHƢƠNG TRÌNH .......................... ........................................ ..................... ....... 78 3.4. K ẾT QUẢ CHẠY PHẦ N MỀM ........................... ........................................ ........................... ........................... ................ ... 84
3.4.1.Gi 3.4.1. Giớ i thiệu phần mềm .......................... ....................................... ........................... ........................... ........................... ................... ..... 84 3.4.2.K 3.4.2. K ết quả chạy phần mềm vẽ đƣờ ng ng hình ........................ ..................................... ........................... ................... ..... 85 3.4.3.Xu 3.4.3. Xuất bảng tọa độ đƣờ ng ng hình trên AutoCAD và Notepad ......................... ............................ ... 89 3.4.4.K 3.4.4. K ết quả chạy Modun vẽ đồ thị Bonjean .......................... ........................................ ........................... ................ ... 91 3.4.5.K 3.4.5. K ết quả chạy modun vẽ đồ thị thủy tĩnh (Hydrostatic-Curves) .................... 96 3.4.6.K 3.4.6. K ết quả chạy modun vẽ đồ thị pantokaren ........................ ...................................... .......................... ............ 100 3.4.7.K 3.4.7. K ết quả chạy modun vẽ đồ thị ổn định ........................... ......................................... ........................... ............... 103 3.5. ĐÁNH GIÁ ĐỘ CHÍNH XÁC CỦA PHẦ N MỀM.................................. ....................................... ..... 113 3.5.1. Đánh giá độ chính xác của phần mềm vẽ đồ thị Bonjean ........................ ........................... ... 113 3.5.2. Đánh giá độ chính xác của phần mềm vẽ đồ thị thủy tĩnh .......................... ......................... 114 3.5.3. Đánh giá độ chính xác của phần mềm vẽ đồ thị Pantokaren ...................... ...................... 116 CHƢƠNG 4: XÂY DỰNG CƠ SỞ DỮ LIỆU CHO CHƢƠNG TRÌNH .................. ..................119 4.1. Xây dựng cơ sở d dữ liệu cho modun vẽ đƣờ ng ng hình ........................... ....................................... ............ 119 4.2. Xây dựng cơ sở d dữ liệu cho modun vẽ đồ thị thủy tĩnh ......................... ................................. ........ 124 4.3. Xây dựng cơ sở d dữ liệu cho modun vẽ đồ thị Pantokaren........................... .............................. ... 127 ......................................... ........................... .......................... ................... ......132 Chƣơng 5: THẢO LUẬ N K ẾT QUẢ ........................... 5.1 K ết Luận .......................... ....................................... ........................... ........................... ........................... ........................... ......................... ............ 132 5.2 Những Định Hƣớ ng ng Nghiên Cứu Trong Tƣơng Lai .......................... ...................................... ............ 132 TÀI LIỆU THAM KHẢO ......................... ...................................... .......................... ........................... ........................... .......................... .............133
3.4.1.Gi 3.4.1. Giớ i thiệu phần mềm .......................... ....................................... ........................... ........................... ........................... ................... ..... 84 3.4.2.K 3.4.2. K ết quả chạy phần mềm vẽ đƣờ ng ng hình ........................ ..................................... ........................... ................... ..... 85 3.4.3.Xu 3.4.3. Xuất bảng tọa độ đƣờ ng ng hình trên AutoCAD và Notepad ......................... ............................ ... 89 3.4.4.K 3.4.4. K ết quả chạy Modun vẽ đồ thị Bonjean .......................... ........................................ ........................... ................ ... 91 3.4.5.K 3.4.5. K ết quả chạy modun vẽ đồ thị thủy tĩnh (Hydrostatic-Curves) .................... 96 3.4.6.K 3.4.6. K ết quả chạy modun vẽ đồ thị pantokaren ........................ ...................................... .......................... ............ 100 3.4.7.K 3.4.7. K ết quả chạy modun vẽ đồ thị ổn định ........................... ......................................... ........................... ............... 103 3.5. ĐÁNH GIÁ ĐỘ CHÍNH XÁC CỦA PHẦ N MỀM.................................. ....................................... ..... 113 3.5.1. Đánh giá độ chính xác của phần mềm vẽ đồ thị Bonjean ........................ ........................... ... 113 3.5.2. Đánh giá độ chính xác của phần mềm vẽ đồ thị thủy tĩnh .......................... ......................... 114 3.5.3. Đánh giá độ chính xác của phần mềm vẽ đồ thị Pantokaren ...................... ...................... 116 CHƢƠNG 4: XÂY DỰNG CƠ SỞ DỮ LIỆU CHO CHƢƠNG TRÌNH .................. ..................119 4.1. Xây dựng cơ sở d dữ liệu cho modun vẽ đƣờ ng ng hình ........................... ....................................... ............ 119 4.2. Xây dựng cơ sở d dữ liệu cho modun vẽ đồ thị thủy tĩnh ......................... ................................. ........ 124 4.3. Xây dựng cơ sở d dữ liệu cho modun vẽ đồ thị Pantokaren........................... .............................. ... 127 ......................................... ........................... .......................... ................... ......132 Chƣơng 5: THẢO LUẬ N K ẾT QUẢ ........................... 5.1 K ết Luận .......................... ....................................... ........................... ........................... ........................... ........................... ......................... ............ 132 5.2 Những Định Hƣớ ng ng Nghiên Cứu Trong Tƣơng Lai .......................... ...................................... ............ 132 TÀI LIỆU THAM KHẢO ......................... ...................................... .......................... ........................... ........................... .......................... .............133
DANH MỤ MỤC HÌNH ........................................ ........................... ........................... ........................... ....................... ..........9 Hình 2. 1: Đồ thị thủy tĩnh .......................... ........................................ ........................... ........................... ........................... ..................... ........11 Hình 2. 2: Đồ thị Bonjean. .......................... Hình 2.3 : Phƣơng pháp Krylop_ Dargnies ......................... ....................................... ........................... ....................... ..........13
Hình 2. 4: Xác đị nh các giá tr ị a,b .......................... ....................................... ........................... ........................... ....................... ..........14 Hình 2. 5: Đƣờng sƣờ n Tchebyshev ......................... ....................................... ........................... .......................... ..................... ........ 16 Hình 2. 6: Phƣơng pháp xác định các hệ số a,b ......................... ....................................... ........................... ................. .... 16 Hình 2. 7: Tâm nổi ứng vớ i các góc gó c nghiêng khác nhau .............................. .......................................... ............18
Hình 2. 8. Cách xác định cánh tay ta y đòn ổn đị nh ......................... ....................................... ........................... ................. ....20 Hình 2. 9: Xác đị nh chiều cao tâm nghiêng trên đồ thị ổn định tĩnh. ....................... .......................21 Hình 2. 10: Giao diện của môi trƣờ ng ng Visual LISP ............... ............................ ........................... ...................... ........22 Hình 2. 11: Nhậ p số liệu là kiểu số nguyên ......................... ....................................... ........................... ....................... ..........26 Hình 2. 12: Nhậ p số liệu kiểu số thực ......................... ....................................... ........................... ........................... ................... .....26 Hình 2. 13: Thông báo nhậ p số liệu kiểu chuỗi ......................... ....................................... ........................... ................. ....27 Hình 2. 14: Nhậ p số liệu kiểu chuỗi............................ i.......................................... ........................... ........................... ................... .....27 Hình 2. 15: Hàm gán l ấy giá tr ị của biến hệ thống AutoCAD ............................ .................................. ...... 28 Hình 2. 16: Thông báo trên màn hình của AutoCAD ......................... ....................................... ...................... ........30 ng hình ......................... ....................................... ................. ...37 Hình 3.1: Sơ đồ thuật toán chƣơng trình vẽ đƣờ ng Hình 3. 2: Hộ p thoại chƣơng trình vẽ đƣờ ng ng hình ..................................... ................................................... ................ 45
Hình 3.3: Sơ đồ thuật toán vẽ đồ thị Bonjean .......................................................... 51 Hình 3.4: Sơ đồ thuật toán vẽ đồ thị thủy tĩnh ..........................................................59 Hình 3.5: Sơ đồ thuật toán chƣơng trình vẽ đồ thị Pantkaren ................................... 63 Hình 3. 6: Sơ đồ thuật toán vẽ đồ thị ổn định ...........................................................67 Hình 3. 7: Tải menu chƣơng trình ............................................................................85 Hình 3. 8: Giao diện phần mềm vẽ đƣờ ng hình ........................................................ 86 Hình 3. 9: Báo lỗi khi nhập sai kích thƣớ c ...............................................................87 Hình 3. 10: Báo lỗi khi không phù hợ p vớ i tỷ lệ kích thƣớ c ....................................87 Hình 3. 11: K ết quả khi xuất tuyến hình 2D .............................................................88 Hình 3. 12: K ết quả của việc xuất ngƣợ c từ 2D sang 3D .........................................88 Hình 3. 13: Xuất tuyến hình 3D ................................................................................89 Hình 3. 14: Xuất tr ị số tuyến hình ra NOTEPAD .....................................................90 Hình 3. 15: Hộ p thoại xuất AutoCAD ...................................................................... 90 Hình 3. 16: Xuất tuyến hình trên AutoCAD .............................................................91 Hình 3. 17: Giao diện chƣơng trình vẽ đồ thị Bonjean .............................................91 Hình 3. 18: Menu ngữ cảnh của chƣơng trình ..........................................................93 Hình 3. 19: Thông báo khi nhậ p thông số đầu vào không phù hợ p ..........................93
Hình 3. 20: Chƣơng trình đang thực hiện vẽ đồ thị Bonjean .................................... 94 Hình 3. 21: Bản vẽ đồ thị Bonjean do phần mềm xuất ra .........................................95 Hình 3. 22: K ết quả diện tích đƣợ c xuất ra file “.txt” ...............................................95
Hình 3. 23: Giao diện phần mềm vẽ đồ thị thủy tĩnh ................................................96 Hình 3. 24: Chọn vị trí vẽ đồ thị thủy tĩnh ................................................................97 Hình 3. 25: K ết quả phần mềm vẽ đồ thị thủy tĩnh ...................................................97 Hình 3. 26: Thông báo mặc định của phần mềm ......................................................98 Hình 3. 27: K ết quả xuất bảng k ết quả trên nền AutoCAD ......................................98 Hình 3. 28: Hộ p thoại xuất file Notepad ...................................................................99 Hình 3. 29: K ết quả xuất file Notepad ......................................................................99 Hình 3. 30: Gọi chƣơng trình từ menu phụ ............................................................100 Hình 3. 31: Gọi chƣơng trình từ menu ngữ cảnh ....................................................100 Hình 3. 32: Giao diện chƣơng trình vẽ đồ thị Pantokaren ......................................101 Hình 3. 33: Yêu cầu chọn vị trí vẽ đồ thị ................................................................101 Hình 3. 34: K ết quả vẽ đồ thị Pantokaren ...............................................................102 Hình 3. 35: Hộ p thoại xuất k ết quả trên AutoCAD ................................................102 Hình 3. 36: Phần mềm xuất bản vẽ vớ i bảng k ết quả kèm theo..............................103 Hình 3. 37: Gọi chƣơng trình từ menu phụ .............................................................103 Hình 3. 38: Gọi chƣơng trình từ menu ngữ cảnh ....................................................104 Hình 3. 39: Giao diện chƣơng trình vẽ đồ thị ổn định ............................................104 Hình 3. 40: Nhậ p tr ực tiế p giá tr ị P(tấn), Zg...........................................................106 Hình 3. 41: Nhậ p P(tấn), Zg thông qua modun tính tr ọng lƣợ ng, tr ọng tâm tàu ....106 Hình 3. 42: K ết quả tính tr ọng lƣợ ng, tr ọng tâm tàu ..............................................107
Hình 3. 43: Xuất file k ết quả của modun tính tr ọng lƣợ ng tr ọng tâm tàu...............107 Hình 3. 44: K ết quả đƣợ c xuất trên file Notepad ....................................................108 Hình 3. 45: Nội suy L(hd) từ đồ thị Pantokaren .....................................................109 Hình 3. 46: Hộ p thoại nhậ p giá tr ị L(hd) từ file “.txt” ............................................110
Hình 3. 47: File L(hd) đƣợ c nhậ p vào.....................................................................110 Hình 3. 48: Thông báo của phần mềm khi nhập L(hd) sai định dạng file ..............111 Hình 3. 49: K ết quả vẽ đồ thị ổn định .....................................................................111 Hình 3. 50: Thông báo của phần mềm khi xuất k ết quả ra file notepad .................112 Hình 3. 51: K ết quả đƣợ c xuất trên file Notepad ....................................................112 Hình 3. 52: K ết quả tính đồ thị Pantokaren mà phần mềm cho ra ..........................116 Hình 3.53: K ết quả tính đồ thị Pantokare trên phần mềm Autohydro ....................117
Hình 4. 1: Đƣờng hình tàu đánh cá lƣớ i kéo...........................................................120 Hình 4. 2: Đƣờng hình tàu đánh cá lƣớ i rê .............................................................121 Hình 4. 3: Đƣờng hình tàu đánh cá lƣớ i vây...........................................................122 Hình 4. 4: Đƣờng hình tàu đánh cá pha xúc ...........................................................123 Hình 4. 5: Code dùng để tính toán các yêu t ố tính nổi............................................125
Hình 4. 6: Đƣờng sƣờ n Tchebyshev ....................................................................... 128 Hình 4. 7: Xác đị nh các giá tr ị a, b .........................................................................129 Hình 4. 8: Đƣờng nƣớc đã đƣợ c hiệu chỉnh ............................................................129
Danh mục bảng Bảng 2. 1: Xác đị nh vị trí đƣờng sƣờ n Tchebyshev .................................................15 Bảng 2. 2: Bảng tính Pantokaren cho DN 1 – tại góc nghiêng δΦ = 100. .................17 Bảng 3.1: Bảng đánh giá độ chính xác của phần mềm vẽ đồ thị Bonjean ..............113 Bảng 3. 2: Bảng đánh giá độ chính xác của phần mềm vẽ đồ thị thủy tĩnh ............115 Bảng 3. 3 Đánh giá độ sai số c ủa phần mềm v ẽ đồ thị Pantokaren so vớ i ph ần mềm Autohydro ...............................................................................................................118 Bảng 4. 1: Xác đị nh vị trí đƣờng sƣờ n Tchebyshev ...............................................127 Bảng 4. 2: Bảng tính các r theo phƣơng pháp Krylop – Dargnies ..........................130 Bảng 4. 3: Bảng tính giá tr ị Zc của tàu lƣớ i rê........................................................130 Bảng 4. 4: Bảng tính giá tr ị Yc của tàu lƣớ i rê ....................................................... 131
LỜI NÓI ĐẦU Đất nƣớ c ta có nguồn tài nguyên biển phong phú và đa dạng nên r ất thuận lợ i cho sự phát triển của ngành khai thác thủy sản nói chung và đội tàu đánh cá vỏ gỗ nói riêng. Tuy nhiên, do các mẫu tàu đánh cá thƣờ ng chỉ đƣợc đóng theo kinh nghiệm, chƣa đƣợ c tính toán và thử nghiệm thực tế nên gây ra nhiều khó khăn cho công việ c quản lý. Mặt khác, các mẫu đƣờ ng hình tàu đánh cá truyền thống ở nƣớ c ta hiện nay có độ cong và độ gẫy khúc phức tạ p nên vi ệc thiết k ế các mẫu đƣờ ng hình trên không chỉ gây ra nhiều vấn đề khó khăn mà còn có độ chính xác chƣa cao khi mà công việc thiết k ế đƣờ ng hình chỉ dừng lại ở các phần mềm thông dụng nhƣ AutoCAD. Vì thế, vấn đề tự động hóa việc vẽ chính xác đƣờng hình và tính toán tính năng c ho các mẫu tàu đánh cá vỏ gỗ đang là bài toán đã và đang đặ t ra cho các nhà nghiên c ứu. Vì lý do đó, chúng tôi đã đặ t vấn đề và đƣợ c giao thực hiện đề tài tốt nghiệ p vớ i tên gọi: Viết chương trình vẽ đường hình và tính toán tính năng các mẫ u tàu khác nhau theo mẫ u truyề n thố ng t ỉ nh Ninh Thuận v ớ i s ự hƣớ ng dẫn của thầy PGS.TS Tr ần Gia Thái. “
”
Đề tài sẽ đi vào nghiên cứu ngôn ngữ lậ p trình AutoLISP và xây dựng thuật toán thiết k ế đƣờng hình và tính toán tính năng, dựa trên phƣơng pháp đồng d ạng. Trên cơ sở đó, viết chƣơng trình thiết k ế đƣờng hình và tính toán tính năng theo mẫ u truyền thống tại Ninh Thuận, cho phép ngƣờ i dùng có thể vẽ đƣờ ng hình và tính toán tính năng một cách nhanh chóng, đơn giả n, thuận tiện và nhằm mục đích hƣớ ng tớ i phục vụ cho nhiều cơ sở đóng tàu cá vỏ gỗ ở Ninh Thuận. Với cách đặ t v ấn đề nhƣ trên, đề tài bao gồm các n ội dung sau:
Chƣơng 1 : Đặ t v ấn đề Chƣơng 2 : Cơ sở lý thuyết Chƣơng 3 : K ết qu ả nghiên cứu Chƣơng 4 : Xây dựng cơ sở dữ li ệu chƣơng trình Chƣơng 5 : Thả o lu ận k ết quả Qua đây chúng tôi xin chân thành cảm ơn thầ y PGS.TS Tr ần Gia Thái, KS
Đỗ Quang Thắng và các th ầ y trong khoa K ỹ thuật giao thông, đã giúp đỡ chúng tôi trong suốt th ờ i gian thực hi ện đề tài. Nha Trang, ngày 26 tháng 12 năm 2011
Chủ nhiệm đề tài: Bùi Công Lộc
CHƢƠNG 1: ĐẶT VẤN ĐỀ 1.1. TỔNG QUAN CỦA ĐỀ TÀI NGHIÊN CỨ U Nhƣ đã biế t, thiết k ế đƣờ ng hình tàu đánh cá vỏ gỗ và tính toán các tí nh năng cần thiết cho các mẫu tàu cá truyền thống là công việc hết sức khó khăn phức tạ p, đòi hỏi khối
lƣợ ng công việc l ớ n và yêu c ầu độ chính xác cao. Ngoài ra, khác v ớ i khi thiết k ế đƣờ ng hình các loại tàu thông dụng khác, đặc điể m của nghề cá tại Ninh Thuận hiện nay, chủ yếu là nghề cá nhân dân đã và đang đặ t ra nhi ều yêu cầu đối v ới đƣờ ng hình của các tàu
đánh bắt thuỷ sản, khi đa số đều là tàu làm b ằng gỗ và các m ẫu tàu này h ầu nhƣ chƣa đƣợ c tính toán ho ặc thử nghiệm thực tế phù hợ p yêu cầu đặt ra mà ch ủ yếu đƣợ c lựa chọn chỉ vì thói quen và ý thích c ủa các ngƣ dân của địa phƣơng, tàu đã qua thự c t ế khai thác trong nhiều năm, đồng thờ i phù hợ p v ới trình độ và kinh nghiệm thi công loại tàu vỏ g ỗ một cách th ủ công của các cơ sở đóng tàu ở các địa phƣơng nghề cá. Đặc điểm trên không chỉ gây nhiều vấn đề phức tạ p trong công tác qu ản lý kinh tế - k ỹ thuật của các cơ quan quản lý tàu thuyền nghề, mà còn có ảnh hƣở ng r ất lớn đến mức độ an toàn, hiệu quả khai thác và nhi ều yếu tố khác của đội tàu đánh cá tạ i Ninh Thuận hiện nay. Chính vì v ậy bài toán thi ết k ế đƣờ ng hình tàu đánh cá phù hợ p với đặc điểm khai thác và tính toán các
tính năng cần thiết cho các m ẫu tàu truyền th ống t ại Ninh Thuận có ý nghĩa lý thuyế t và thực tiễn r ất quan tr ọng và hiện cũng đang đƣợ c các nhà khoa h ọc trong và ngoài nƣớ c quan tâm nghiên c ứu. Ngoài ra, để tạo thuận lợ i trong việc áp dụng vào thực tế thiết k ế và chế tạo các tàu đánh cá, nhất là trong điề u kiện kinh tế k ỹ thuật còn kém của nƣớ c ta hiện nay, cần ph ải đặt v ấn đề xây dựng m ột ph ần mềm t ự động hoá quá trình thiết k ế đƣờ ng
hình và tính toán các tính năng cầ n thiết theo các m ẫu tàu đánh cá truyề n th ống t ại Ninh Thuận, cho phép ngƣờ i s ử dụng ở các cơ sở đóng tàu đánh cá, thƣờng chƣa đƣợc đào tạ o
trình độ cao có thể tự mình thiết k ế và tính toán các tính năng cầ n thiết cho các mẫu tàu đánh cá theo đúng mẫu truyền thống đang hoạt động trên đị a bàn tỉnh Ninh Thuận
1
Xuất phát từ nhu cầu th ực tế, Khoa K ỹ thuật Giao thông Trƣờng Đạ i h ọc Nha Trang một trong các đơn vị đào tạo truyền thống đội ngũ kỹ sƣ đóng tàu cá ở Việt Nam hiện nay
đã thực hi ện nhiều d ự án thiết k ế chu ẩn hóa các mẫu tàu đánh cá theo mẫu truyền th ống cho những địa phƣơng nghề cá điển hình ở nƣớ c ta nói chung và c ủa tỉnh Ninh Thuận nói riêng. Trong quá trình th ực hiện các dự án này, để hỗ tr ợ cho việc vẽ đƣờ ng hình của các mẫu tàu đánh cá của các địa phƣơng, chúng tôi đã đƣợ c giao thực hi ện đề tài tốt nghiệ p vớ i tên gọi :
“ Vi ết chương trình vẽ đường hình và tính toán tính năng các mẫ u tàu khác nhau theo m ẫ u truy ề n th ố ng t ỉ nh Ninh Thu ận”
Nội dung đề tài sẽ đi vào nghiên cứ u xây dựng phƣơng pháp và thuậ t toán thiết k ế
đƣờng hình và tính toán tính năng cần thiết đáp ứng đƣợ c h ầu hết các yêu c ầu h ết s ức đa dạng c ủa tàu nghề cá Ninh Thu ận. Trên cơ sở đó, viết ph ần m ềm thiết k ế đƣờ ng hình và
tính toán tính năng cần thiết tàu đánh cá theo mẫu dân gian cho phép ngƣờ i sử dụng có thể vẽ đƣợc đƣờ ng hình tàu theo mẫu truyền thống tại Ninh Thuận và tính toán t ính năng một cách nhanh chóng, tr ực quan, đơn giản và không cần phải có kiến th ức sâu về cơ sở lý thuyết nhằm mục đích hƣớ ng tớ i phục vụ cho nhiều cơ sở đóng tàu cá vỏ gỗ ở Ninh Thuận
1.2. TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƢỚ C 1.2.1. Tình hình nghiên cứu trong nƣớc Nhƣ đã trình bày ở trên, đa số những tàu đánh bắt thuỷ sản ở nƣớ c ta hiện nay nói chung và tại Ninh Thuận nói riêng đều thuộc loại tàu cỡ nhỏ, do các ngƣ dân tự liên hệ để
đóng mớ i nên hầu nhƣ không có thiế t k ế k ỹ thuật mà chủ yếu đóng dựa theo kinh nghiệm và mẫu dân gian truyền thống của từng địa phƣơng. Chỉ sau khi đóng xong con tàu, cơ quan quản lý mớ i ti ến hành lậ p hồ sơ thiết k ế hoàn công, do đó đƣờng hình thƣờng đƣợ c xây dựng trên cơ sở đo đạc và vẽ lại những mẫu tàu đã đóng. Trong thờ i gian gần đây,
khi mà cơ quan quản lý nhà nƣớ c yêu cầu các tàu nghề cá đóng mớ i phải có hồ sơ thiết k ế 2
k ỹ thuật thì quá trình thi ết k ế đƣờ ng hình của loại tàu này nói chung thƣờng cũng chỉ dừng l ại ở vi ệc v ẽ theo mẫu tàu có sẵn b ằng phần mềm thông dụng AutoCAD. Cho đến hiện nay, trong lĩnh vự c tự động hóa vẽ đƣờ ng hình của các tàu đánh cá Việ t Nam mớ i chỉ có các k ết quả nghiên cứu của PGS.TS Tr ần Gia Thái c ủa Trƣờng Đại học Nha Trang
thông qua đề tài cấ p B ộ v ớ i tên gọi ”Tự động hóa thi ế t k ế đường hình tàu đáp ứ ng nhu cầu
đa dạng c ủa tàu ngh ề cá Việt Nam”, trong đó đã công bố phần mềm cho phép thiết
k ế tối ƣu đƣờ ng hình của các mẫu tàu đánh cá Việ t Nam
1.2.2. Tình hình nghiên cứ u trên thế giớ i Riêng trên thế giớ i hiện nay cũng có khá nhiề u phần mềm thiết k ế tàu và tính toán các
tính năng hàng hải uy tín nhƣ AutoShip, Fastship (Mỹ ), Nepka (Tây Ban Nha), Maxsurf (Úc), Nautilus (Na Uy) v..v…, nhƣng sau khi khả o sát hầu hết các ph ần mềm thiết k ế tàu nói trên chúng tôi nh ận xét thấy, các ph ần mềm này tuy có nhi ều ƣu thế r ất mạnh trong việc thiết k ế các loại tàu vỏ thép nhƣng khi dùng để thi ết k ế đƣờ ng hình của tàu đánh cá vỏ gỗ nƣớ c ta vẫn còn nhiều điểm hạn chế, cụ thể nhƣ sau : 1) Giá thành phần mềm quá cao, không ch ỉ vƣợ t quá xa khả năng của các ngƣ dân mà còn của các cơ quan Nhà nƣớ c hiện nay 2) K ỹ thuật vẽ phức tạ p, không phù hợ p với trình độ sử dụng của các ngƣ dân 3) Hầu hết các phần mềm đồ hoạ nói chung và ph ần mềm thiết k ế tàu thủy nói riêng hiện nay đều vẽ đƣờ ng hình tàu theo thu ật toán vẽ đƣờ ng B- Splines nhƣ đã biết hoặc dùng mặt cong toán học NURBS (Non Uniform Ration B-Spline Surfaces).
Khi đó, phần mềm thực tế chỉ là công cụ để hỗ tr ợ cho việc vẽ đƣờ ng hình tàu thủy hoặc theo đƣờ ng B - Spline, ho ặc d ựng mặt NURBS để tạo ra bề mặt cong vỏ tàu. Một s ố phần m ềm nhƣ Prolines l ại dùng thƣ việ n các tàu m ẫu đã đƣợ c vẽ sẵn và ngƣờ i sử dụng sẽ lấy hình dáng đƣờ ng hình từ các tàu mẫu đã có trong thƣ viện tàu để chỉnh sửa lại cho đến khi đạt đƣợ c các yêu c ầu đã đƣợc đề ra trong nhiệm vụ thƣ. Do đó việ c sử dụng những phần mềm nhƣ thế thƣờ ng không mang tính chủ động, do phải lệ thuộc khá nhi ều vào thƣ viện các tàu mẫu đã nhậ p s ẵn 3
trong phần mềm, k ỹ thuật vẽ và nhất là cũng không thật đơn giả n, tốn nhiều công sức và đòi hỏi ngƣờ i sử dụng phải có kinh nghiệm trong thiết k ế và k ỹ thuật vẽ trên máy tính. 4) Các tính toán thƣờng đƣợ c xây dựng dựa theo Quy phạm nƣớ c ngoài nên trong nhiều trƣờ ng hợ p có thể không phù hợ p vớ i yêu cầu của Quy phạm Việt Nam. 5) Công việc tính toán tính năng trên các phầ n mềm này đều đƣợ c thực hiện qua các
bƣớ c khá phức tạp và đòi hỏi ngƣờ i sử dụng phải có trình độ chuyên môn cao Vì thế theo ý kiến chúng tôi, vi ệc sử dụng những phần mềm nƣớc ngoài để thiết k ế
đƣờng hình và tính toán tính năng tàu cá ở nƣớ c ta nói chung và t ại Ninh Thuận nói riêng còn gặ p nhiều khó khăn, nhất là đối vớ i những mẫu truyền thống đóng dựa theo kinh nghiệm dân gian của t ừng vùng và do đó cũng khó có thể đáp ứng đƣợ c các yêu cầu đa dạng và phong phú c ủa ngƣờ i sử dụng đối vớ i tàu thiết k ế.
1.3. MỤC TIÊU, PHƢƠNG PHÁP, NỘI DUNG VÀ PHẠM VI NGHIÊN CỨ U 1.3.1. Mục tiêu đề tài Mục tiêu đề tài là xây d ựng thuật toán và vi ết chƣơng trình tự động hóa việc vẽ đƣờ ng
hình và tính toán tính năng cho các mẫu tàu đánh cá vỏ gỗ theo mẫu truyền thống tỉnh Ninh Thuận đảm bảo các yêu c ầu sau:
Vẽ nhanh chóng và chính xác đƣờ ng hình của tàu thiết k ế theo các mẫu tàu đánh cá truyền thống làm các ngh ề điển hình hiện nay ở Ninh Thuận cụ thể là tàu lƣớ i
vây, lƣới kéo, tàu lƣớ i rê, tàu pha xúc
Xây dựng chính xác b ảng t ọa độ đƣờ ng hình của mẫu tàu thiết k ế phục v ụ việc phóng dạng và đóng mớ i.
Tính toán các thông s ố tính nổi và vẽ các đồ thị cần thiết nhƣ: đồ thị Bonjean, Thủy tĩnh, Pantokaren, đồ thị ổn định
4
Đảm bảo sử dụng dễ dàng và thuận tiện nhằm phục vụ các cơ sở đóng tàu địa phƣơng 1.3.2. Phƣơng pháp và nội dung nghiên cứ u
Về lý thuyết, để gi ải quyết bài toán vẽ đƣờng hình và tính toán tính năng vớ i mục tiêu đặt ra trên đây chúng tôi lự a chọn giải pháp lập trình theo phƣơng pháp đồ ng dạng và một số phƣơng pháp tính gần đúng nhƣ: phƣơng pháp hình thang, phƣơng pháp Krylop Danger đã trình bày trong các tài liệ u chuyên ngành. Với phƣơng pháp nghiên cứu nhƣ thế, đề tài đƣợ c gi ải quyết d ựa trên cơ sở đo đạc thực tế để xây dựng đƣờ ng hình của các mẫu tàu cá kh ảo sát, tính toán các tính năng tàu mẫ u trên phần mềm Autohydro đóng vai trò cơ sở dữ li ệu cho chƣơng trình. Với cách đặ t vấn đề nhƣ thế, đề tài gồm các n ội dung chính nhƣ sau :
Phân tích, lựa chọn những mẫu tàu đánh cá điể n hình làm các ngh ề phổ biến hiện nay ở tỉnh Ninh Thuận
Khảo sát, đo đạ c thực tế tọa độ đƣờ ng hình của các mẫu tàu đánh cá đã đƣợ c lựa chọn
Xử lý các s ố liệu đo đạc và xây dựng chính xác đƣờ ng hình của các mẫu tàu đánh cá khảo sát, cơ sở dữ liệu cần thiết của chƣơng trình
Nghiên cứu xây dựng thuật toán và ứng dụng ngôn ngữ lậ p trình AutoLISP để viết chƣơng trình tự động vẽ đƣờng hình và tính toán tính năng từ các thông số kích thƣớ c chính của tàu thiết k ế trên cơ sở đƣờ ng hình tàu khảo sát Với cách đặt vấn đề nhƣ trên, đề tài gồm các chƣơng chính nhƣ sau :
Chƣơng 1: Đặt vấn đề Chƣơng 2: Cơ sở lý thuyết Chƣơng 3: Kết quả nghiên cứu Chƣơng 4: Xây dựng cơ sở dữ liệu chƣơng trình Chƣơng 5: Thảo luận k ết quả 5
1.3.3. Phạm vi nghiên cứ u K ết quả khảo sát thực tế các nghề khai thác th ủy s ản Ninh Thuận hiện nay cho th ấy, mặc dù có khá nhi ều nghề khác nhau nhƣng các nghề phổ biến và đạt năng suất cao hiện nay ở t ỉnh Ninh Thuận chủ yếu là những tàu làm các ngh ề lƣới vây, lƣới kéo, lƣớ i rê và pha xúc. Vì th ế trong đề tài chỉ giớ i hạn trong vẽ đƣờng hình và tính toán tính năng củ a
các tàu đang làm các nghề này.
6
CHƢƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 . VẼ ĐƢỜ NG HÌNH THEO MẪU Trong thực tế hiện nay có r ất nhiều phƣơng pháp khác nhau để thi ết k ế tuyến hình tàu
nói chung và tàu đánh cá nói riêng. Mộ t trong những phƣơng pháp vẽ đƣờ ng hình tàu thiết k ế đƣợ c ứng dụng r ộng rãi hiện nay đó chính là phƣơng pháp đồ ng dạng hình học (affine) dựa trên bảng t ọa độ tàu mẫu. Phƣơng pháp vẽ đồng dạng khá đơn giản và đả m bảo đƣợc tính trơn đề u của tàu thi ết k ế nếu đƣờ ng hình của tàu mẫu trơn đều, nhƣng có
nhƣợc điểm là chỉ có thể làm thay đổi đƣợc các kích thƣớ c chính L, B, T trong khi v ẫn giữ nguyên các hệ s ố hình dáng , nhƣ tàu mẫu. Nói cách khác, phƣơng pháp biến đổ i
đồng dạng chỉ cho phép vẽ đƣờng hình tàu đả m bảo yêu cầu về các kích thƣớ c chính nhƣng chƣa đảm bảo đƣợ c yêu cầu về các hệ số hình dáng. Do đó phƣơng pháp vẽ đƣờ ng hình nói trên thƣờ ng chỉ đƣợ c phép sử dụng trong trƣờ ng hợ p tốc độ Vt và số Fr = Vt/ gL
của tàu mẫu và tàu thi ết k ế chênh lệch nhau không nhiều lắm. Trƣờ ng hợ p có sự
thay đổi tốc độ tàu Vt và số Fr nhƣng hệ số béo của tàu mẫu và tàu thi ết k ế không khác nhau nhiều, có thể l ấy m = tk và buộc t ất c ả h ệ s ố hình dáng khác không đổi, tuy nhiên do có sự thay đổi tỷ số B/T hoặc H/T nên cần tính lại ổn định và dung tích của tàu. Ƣu
điểm khác của phƣơng pháp này là cho phép xác đị nh các yếu tố chính của tàu thi ết k ế nhƣ lƣợ ng chiếm nƣớ c, vị trí tâm nổi, bán kính tâm nghiêng v..v đơn giả n và nhanh chóng theo các công th ức xây dựng dựa trên cơ sở đồng dạng hình học của tàu mẫu và tàu thiết k ế.
Xét trong trƣờ ng hợ p t ổng quát, khi thay đổ i t ất c ả các kích thƣớ c chính thì mối quan hệ giữa các yếu tố của tàu thiết k ế và tàu mẫu đƣợc xác định theo các công th ức nhƣ sau: - Các hệ số hình dáng , , , , không thay đổi - Thể tích chiếm nƣớ c
7
Vtk
( LBT) tk
=
( LBT) m
Vm
- Diện tích mặt đƣờng nƣớc (hoành độ đƣờ ng cong diện tích mặt đƣờng nƣớ c) (LB) tk
(S ji)tk =
(LB) m
(S ji)m
- Diện tích mặt cắt ngang ij (tung độ đƣờ ng cong diện tích mặt cắt ngang) (BT) tk
(ij)tk =
(BT) m
(ij)m
- Cao độ tâm nổi và hoành độ tâm nổi (tính từ sƣờ n giữa tàu) zctk
=
xctk
=
H tk Hm L tk Lm
zcm
xcm
- Mômen quán tính diện tích mặt đƣờng nƣớ c thiết k ế đối vớ i tr ục dọc Ox và Oy Ixtk
Iytk
L tk B3tk
=
L m B3m
B tk L3tk
=
B m L3m
Ixo
Iyo
2.2. TÍNH TOÁN CÁC TÍNH NĂNG 2.2.1. Đồ Thị Thủy Tĩnh Trong quá trình thi ết k ế và sử dụng tàu thƣờ ng xuất hiện nhu cầu cần phải xác định nhanh các yếu tố đƣờ ng hình và yếu tố tính nổi nói trên ở các mớn nƣớ c tàu thực tế khác nhau. Có thể giải quyết vấn đề này bằng cách tính giá tr ị này ở một số mớn nƣớ c tàu khác nhau vớ i giả thiết r ằng mớn nƣớ c này là mặt phẳng n ằm ngang, tức tàu cân bằng không 8
có góc nghiêng ngang và nghiêng d ọc. Đồ thị nhƣ thế đƣợ c gọi là đồ thị thủy tĩnh hay còn gọi là đồ thị thủy lực, (hình 2.1):
Hình 2. 1: Đồ thị thủy tĩnh
Trong đó: Xf (m) : Tọa độ tr ọng tâm mặt đƣờng nƣớ c tại các mớ n nƣớ c khác nhau S(m2): Diện tích mặt đƣờng nƣớ c tại các mớn nƣớ c khác nhau V(m3): Đƣờ ng cong thể tích của tàu tƣơng ứ ng với các đƣờng nƣớ c khác nhau D(tấn): Thể hiện lƣợ ng chiếm nƣớ c của tàu tƣơng ứ ng với các đƣờng nƣớ c khác nhau Xc(m), Zc: Tọa độ tâm nổi tƣơng ứng với các đƣờng nƣớ c khác nhau C b, Cm, Cw: Các hệ số hình dáng c ủa tàu Có thể tóm tắt quá trình xây d ựng đồ thị thủy tĩnh nhƣ sau:
Tính các yếu tố thủy tĩnh hay các thông số tính nổi tại các mớn nƣớ c khác nhau.
Dựng hệ tr ục tọa độ XOY vớ i tr ục Oy biểu diễn sự thay đổi của các m ớ n
nƣớ c
9
Do bề mặt vỏ tàu thƣờ ng chỉ đƣợ c biểu diễn dƣớ i dạng các đƣờ ng cong hình dáng
nên để tính đƣợ c giá tr ị tích phân nói trên c ần sử dụng các phƣơng pháp gần đúng, việ c tính hình thang cong chuy ển sang việc tính hình thang thu ần tuý bằng cách chia nhỏ thành các phần tử h ữu hạn mà cụ th ể các phƣơng pháp này bao gồm: phƣơng ph áp hình
thang, phƣơng pháp Simpso n..., mỗi phƣơng pháp tính mang một tính ƣu việ t khác nhau. Phƣơng pháp hình thang đƣợ c s ử d ụng r ộng rãi, độ chính xác tu ỳ theo ý mu ốn tu ỳ thu ộc vào khối lƣợng tính toán. Phƣơng pháp Simpson cho k ết quả chính xác hơn phƣơng pháp hình thang tuy nhiên khối lƣợ ng tính toán lớn hơn.
2.2.2. Đồ Thị Bonjean Đƣờ ng cong các yếu t ố th ủy tĩnh mặc dù cho phép xác đị nh các thông s ố tính nổi c ủa tàu nhƣng chỉ trong trƣờ ng hợ p tàu nằm cân bằng không có góc nghiêng ngang và nghiêng dọc. Do đó trong thự c t ế để xác định các thông s ố tính nổi c ủa tàu trong trƣờ ng hợ p nghiêng dọc là điều không thực hiện đƣợc. Trong trƣờ ng hợ p này, sử dụng đồ thị Bonjean hoặc còn gọi là đƣờ ng cong diện tích các sƣờ n là tậ p hợp các đƣờ ng cong biểu diễn diện tích phần chìm của các sƣờ n theo chiều chìm Quá trình xây dựng đồ thị Bonjean đƣợ c thực hiện lần lƣợt theo các bƣớ c sau:
Tính lần lƣợ t giá tr ị diện tích mặt cắt ngang ωi (i = 0 ÷ n ) và momen tĩnh Mω của diện tích mặt c ắt ngang này đố i v ớ i tr ục Ox ứng vớ i sự thay đổi của mớn nƣớ c
ω =
T
2. y.dz 0
T
M
2. y.z.dz 0
Dựng hệ tr ục tọa độ OTL, trong đó trụ c tung OT biểu diễn mớn nƣớ c của tàu, tr ục hoành OL biểu diễn vị trí các mặt cắt ngang theo chiều dài ở các t ỷ lệ xích nhất định. 10
Hình 2. 2: Đồ thị Bonjean.
Họ đƣờ ng cong tích phân di ện tích đƣờng sƣờ n sử dụng để tính thể tích chìm V và to ạ
độ tâm nổi x C, z C c ủa một đoạn hay toàn b ộ phần ng ập nƣớc dƣớ i m ột đƣờng nƣớ c chúi bất k ỳ. Xét một đƣờ ng nƣớ c chúi có mớn nƣớc mũi Tm và mớn nƣớc đuôi T d. Khi đó V, x C, zC đƣợc xác định nhƣ sau: L / 2
V
n
dx L(
L / 2
i
0
0
n 2
)
Vớ i k: số khoảng chia theo cao độ z, n: s ố khoảng chia theo hoành độ x.
Trong đó, để xác định giá tr ị diện tích mặt cắt ngang và momen tĩnh dựa theo phƣơng pháp hình thang, có công thức tính cụ thể sau: - Công thức tính diện tích mặt cắt ngang: T i
i
k
ydz 2T ( yi 0
0
11
y0 y k 2
)
- Momen tĩnh của thể tích V đối vớ i mặt yOz: L / 2
M Vyz
xdx L
2
m
(
L / 2
( i
i ' )
0
m 2
( n
0 )
(vớ i m = n/2).
Nhƣ vậy ứng vớ i một đƣờng nƣớ c chúi bất k ỳ đặc trƣng bở i Tm,Td dựa vào đồ thị Bonjean ta tìm đƣợ c V, xC, zC, nhƣng để tìm các giá tr ị đó ta phải tính toán v ớ i khối lƣợ ng l ớn. Để khắc ph ục nhƣợc điểm trên Phiaxốp đã đƣa ra một d ạng đồ thị khác, đó là đồ thị Phiaxố p. 2.2.3. Đồ Thị Pantokanren Đồ th ị Pantokaren là t ậ p h ợp các đƣờ ng cong lF ( φ, V) lập cho trong trƣờ ng h ợ p V i = const, i = 1, 2,...với góc nghiêng thay đổ i từ 0 đến góc bất k ỳ ví dụ đến 900. Họ đƣờ ng cong Pantokaren (Cross Curves) đƣợc dùng để xác định L(hd) tại t ừng góc
nghiêng khác nhau tƣơng ứ ng vớ i Vconst nhƣ vậy r ất thuận tiện cho xác định L(hp) khi đã biết ZG dựa theo công thức L(hp) = L(hd) – Zg.sinθ. Trên thực tế hiện nay có r ất nhiều
phƣơng pháp xây dựng họ đƣờng cong Pantokaren nhƣ: 1: Phương pháp Schulz – Fellow, còn gọi là phƣơng pháp tích phân, sử dụng máy đo diện tích khi xác định diện tích phần chìm của các sƣờ n tính toán trên tàu, cho m ỗi tr ạng thái nghiêng. Theo cách này th ể tích phần chìm của mỗi tr ạng thái nghiêng đƣợ c tính bằng phép tích phân gi ớ i hạn từ 0 đến L của tàu, hàm tích phân chính là di ện tích các
đƣờng sƣờ n vừa đƣợc đo. Tọa độ tâm nổi đƣợc xác định cho nỗi tr ạng thái nghiêng, trong phƣơng pháp này sử dụng phƣơng pháp Tchebyshev để tính toán
2: Phương pháp Krylov – Dargniers 12
Phƣơng pháp này đƣợ c m ệnh danh là phƣơng pháp giả i tích k ết h ợ p v ới đồ h ọa. Thực phần giải tích nêu ra ở trên nhằm ca ngợ i công lao c ủa nhà khoa h ọc Krylop – Dargniers,
phƣơng pháp Krylop- Dargnies đơn giả n và cho k ết qu ả tƣơng đối chính xác cho các tàu có thể tích phần ngâm nƣớ c và phần phía trên đƣờng nƣớc tƣơng đố i b ằng nhau. Phƣơng pháp này có trình tự tính toán nhƣ sau:
Vẽ sƣờ n Tchebyshev ( cả hai phía mạn) ;
Dựng đƣờng nƣớc ban đầu ( φ = 00) WL0 ;
Qua tâm S 0 của đƣờng nƣớc ban đầu vẽ đƣờng nƣớc ban đầ u vẽ đƣờng nƣớ c phụ thứ nhất WL‟1 dƣới góc nghiêng ∆φ( lấy bằng 100 hoặc 150) nhƣ trên hình 2.3
Hình 2.3 : Phương pháp Krylop_ Dargnies
Tìm khoảng cách từ tâm đƣờng nƣớ c phụ S‟1 đến C0 : η1 theo công thức
ηi =
1 2
(a (a
b i 2 ) ; 2 2 ) b i i
ai, bi đƣợc xác định nhƣ hình 2.4
13
2
i
Hình 2. 4: Xác định các giá tr ị a,b 1
Đo trên đƣờ ng WLn0 một đoạn
Qua O0 dựng đƣờ ng song song với WL‟1. Đƣờng này chính là đƣờng nƣớ c thể tích
S0O0
=
2
η1 ;
tƣơng đƣơng WL‟1 ; từ S‟1 hạ đƣờ ng vuông góc xuống WL‟1. S1 là tr ọng tâm của WL‟1 ;
Đƣờng nƣớ c phụ WL‟2 vẽ qua điểm S1, đƣờng nƣớ c phụ WL‟3 sẽ vẽ qua S2 và cứ tiế p tục nhƣ vậy cho đến hết;
Tính các giá tr ị r(φ) bằng phƣơng pháp tích phân gần đúng
Tính các giá tr ị yc, zc
Tính cánh tay đòn ổn định tĩnh l(φ) và động d(φ),
Tính giá tr ị ε theo công thức
a b 2 a b
1
εi =
2 i
2 i
tp
i
i
Trong đó a, b là hoành độ của các đƣờng nƣớ c thể tích tƣơng đƣơng thự c tế đo từ điểm
A chân đƣờ ng vuông góc hạ từ điểm S0 xuống đƣờng nƣớc đó. Mômen quán tính diệ n tích đƣờng nƣớ c, bán kính tâm nghiêng tính theo công th ức : 14
Ii =
1 L . 3 n
Si =
L n
(a (a
bi 2 ) 2 2 b ) i i
a
i
r(φ)=
2
i
bi
I ( ) V
;
V lấy từ đƣờ ng cong thuỷ lực
Với cách trình bày trên, để tính toán các thông s ố này cần thực hiện các bƣớ c sau:
Bƣớ c I: Chúng tôi tiến hành dựng đƣờng sƣờn theo phƣơng pháp củ a Tchebyshev. Đầu tiên xác định vị trí của sƣờ n Tchebyshev trên b ản vẽ đƣờ ng hình dựa vào bảng sau: Các điểm cắt của phƣơng pháp Tchebyshe 2 3 4 5 6 7 8 9 10
Hoành độ x (chiều dài tính từ tung độ 0 đến tung độ y lấy bằng trị số trên bảng nhân với L/2) 0 0 0 0 0 0 0
0.5773 0.7071 0.1876 0.3745 0.2666 0.3239 0.1026 0.1026 0.0838
0.7947 0.8325 0.4225 0.5297 0.4062 0.5288 0.3127
0.8662 0.8839 0.5938 0.601 0.5
0.8974 0.9116 0.6873
0.916
Bảng 2. 1: Xác định vị trí đường sườ n Tchebyshev
Sau khi xác định đƣợ c v ị trí của các đƣờng sƣờ n trên tr ục hoành (L), tiếp theo đó xác định các giao điể m c ủa từng đƣờng sƣờ n v ớ i đƣờ ng cắt dọc, đƣờng nƣớc (tƣơng tự nhƣ quá trình phóng dạng).
Bƣớ c II: Khi đã xác định đầy đủ tọa độ của từng sƣờ n Tchebyshev, chúng tôi ti ến hành vẽ lại đƣờng sƣờ n trên mặt cắt ngang (hình 2.5) :
15
Hình 2. 5: Đường sườ n Tchebyshev
Bƣớ c III: Khi có các đƣờng sƣờ n Tchebyshev ti ến hành tính toán theo phƣơng pháp Krylop_ Dargnies. Dựng đƣờng nƣớc ban đầ u WO1, tại góc nghiêng 0, qua tâm O k ẻ đƣờng nƣớ c phụ thứ nhất A1 dƣới góc nghiêng δΦ bằng 10 nhƣ (hình 2.6):
Hình 2. 6 : Phương pháp xác đị nh các hệ số a,b
Tại từng góc nghiêng δΦ ta xác định đƣợ c các giá tr ị a,b nhƣ hình trên và các k ết quả a,b sẽ đƣợc điền vào (bảng 2.2) để tính r θ và η
16
θ = 10
Sƣờ n Trshebyche a
a
a
b
b
b
1 2 3 4 5 6 7 8 9 10 Tổng các hạng mục Tổng a+b =[1] Tổng a -b =[2] Tổng a +a = [3] [4] η = [2]/[1]*0,5 [5] I= 1/3* (L/n)*[3] [6]S0*n^2=(L/n).[1].[4].[4] [7]J=[5]-[6] r = [7]/V Bảng 2. 2: Bảng tính Pantokaren cho DN 1 – t ại góc nghiêng δΦ = 10
0
Tiế p theo ta xây dựng đƣờng nƣớ c WL2 sao cho V = const, ở đây chúng ta hiệu chỉnh đƣờng nƣớ c dựa vào giá tr ị η, cách dựng đƣờng nƣớ c WL2 và hiệu chỉnh đƣờ ng
nƣớ c d ựa theo “η” chúng tôi đã nêu kỹ ở ph ần trên, nhƣ vậ y tính lần lƣợ t t ớ i Φ =900 cho từng đƣờng nƣớc cho đến hết.
2.2.4. Cơ Sở Ổn Định a.
Định nghĩa.
Tính ổn định là một đặc tính hàng hải c ủa tàu, xác định khả năng tàu khôi phụ c v ị trí cân bằng ban đầu khi mômen ngoại lực thôi tác dụng và khả năng tàu chống lại mômen ngoại lực. 17
b. Tâm nổ i - Đườ ng cong tâm n ổ i – Tâm nghiêng – Bán kính tâm nghiêng - Đườ ng cong tâm nghiêng.
Vị trí đặt l ực c ủa l ực n ổi g ọi là tâm n ổi, ký hiệu là C, khi nghiêng hình dáng thân tàu
ngâm nƣớc thay đổi, vị trí đặt lực nổi cũng thay đổ i theo một đƣờ ng cong ε nhất định, gọi là đƣờ ng cong tâm n ổi. Mỗi điểm trên đƣơng cong t âm nổi đều ứng vớ i mớn nƣớ c nghiêng ở m ột góc nhất định. Tiế p tuy ến v ới đƣờ ng cong tâm nổi t ại một điểm C bất k ỳ,
đều song song đƣờng nƣớc tƣơng ứ ng vớ i tâm nổi đó. Pháp tuyế n của đƣờ ng cong tâm nổi tại một điểm C bất k ỳ, đều vuông góc với đƣờng nƣớc tƣơng ứng với điểm đó. Giả s ử tàu nghiêng m ột góc ∆φ so vớ i v ị trí nghiêng ban đầ u. Tâm nổi ứng v ớ i góc φ là C φ, còn tâm nổi ứng v ớ i góc nghiêng φ + ∆φ là Cφ + ∆φ. Hai pháp tuyến c ủa đƣờ ng cong tâm nổi tại hai điểm Cφ và Cφ + ∆φ gặ p nhau tại Mφ. Nếu ∆φ 0, Mφ chính là tâm tức thờ i của đƣờ ng cong tâm nổi tại góc nghiêng. Tâm đó đƣợ c gọi là tâm nghiêng và khoảng cách MφFφ gọi là bán kính tâm nghiêng ngang kí hi ệu là r.
Hình 2. 7: Tâm n ổ i ứ ng vớ i các góc nghiêng khác nhau
Theo hình vẽ ta có : MφFφ = r =
C C
Mặt khác từ điều kiện cân bằng ta có :
Nên
r=
C C
v S1S 2 V
18
=
v S1S 2 V
0
v.S1S2 =
y L
Bở i vì: Iy =
2 3
y
4 3
2
2
ydx =
3
L
∆φ y 3dx 0
L
y 3dx nên
bán kính tâm nghiêng ngang : r =
0
I y V
Tƣơng tự, ta có công th ức của bán kính tâm nghiêng d ọc: R = I x
V
Khi góc nghiêng ngang tăng dầ n, tâm nghiêng Mφ dịch chuyển theo một đƣờ ng cong gọi là đƣờ ng cong tâm nghiêng. Tính ch ất của đƣờ ng cong tâm nghiêng ph ụ thuộc vào sự biến thiên của đƣờ ng cong tâm n ổi. Toạ độ mỗi điểm trên đƣờ ng cong tâm nghiêng liên quan tớ i toạ độ điểm ứng với nó trên đƣờ ng cong tâm nổi theo các công th ức sau: Ycθ = yc0 – r sinφ Zcθ = zc0 + r cosφ c. Mômen hồi phục .Cánh tay đòn ổn định tĩnh.
Dƣới tác động của ngoại lực, tàu bị nghiêng khỏi vị trí một góc φ, do đó hình dáng phần thân tàu ngập nƣớc cũng thay đổ i, tâm nổi dịch chuyển từ điểm C đến điểm Cφ. Cặ p lực P và D bằng nhau về giá tr ị tuyệt đối, có phƣơng song song và hƣớ ng tác dụng ngƣợ c chiều nhau, tạo thành mômen gọi là mômen h ồi phục hay còn gọi là mômen ổn định tĩnh. Công thức Mômen hồi phục nhƣ sau: Mhp = P N G sinφ Hay là:
Mhp = P(z sinφ + y cosφ + zG sinφ).
19
Hình 2. 8. Cách xác định cánh tay đòn ổn đị nh
Trên hình v ẽ ta thấy : l=
N G
sinφ =
GH = z sinφ + y cosφ - zG sinφ
Trong đó: l đƣợ c gọi là cánh tay đòn ổn định tĩnh. Biểu thức trên gồm hai thành ph ần: + Thành phần thứ nhất lF = zsinφ + ycosφ : cánh tay đòn ổn đị nh hình dáng + Thành phần thứ hai lG = zG sinφ : cánh tay đòn ổn định tr ọng lƣợ ng Chiều cao tâm nghiêng ổn định tổng quát : hφ =
dl d
= MH
Đặc điểm của đồ thị này là :
Giá tr ị c ực đại c ủa đƣờng cong xác đị nh góc nghiêng c ức đại và cánh tay đòn cực đại của mômen nghiêng trong trƣờ ng hợp nghiêng tĩnh.
Chiều cao tâm nghiêng t ổng quát hφ chính là tang củ a góc nghiêng của tiế p tuyến với đƣờng cong, vì tg α =
dl d
.
20
Hình 2. 9 : Xác định chiều cao tâm nghiêng trên đồ thị ổn định tĩnh.
Do đó vớ i mỗi tâm nghiêng φ, bằng đồ thị ta có th ể xác định chiều cao tâm nghiêng hφ = MH bằng cách tại điểm ứng với góc φ trên đƣờ ng ng cong vẽ tiế p tuyến với đƣờ ng ng cong. Trên đƣờ ng ục φ kẻ từ điểm đó một đoạn bằng 5307 (tƣơng ứng ng song song vớ i tr ục ục φ. Cạnh góc vuông đố i v ới góc α chính là hφ = vớ i 1 rad). Và k ẻ vuông góc vớ i tr ục MH .
2.3 LỰ A CHỌ CHỌN NGÔN NGỮ NGỮ LẬ LẬP TRÌNH ợ cho Trên thực hiện nay có r ất nhiều ngôn ngữ lậ p trình h ỗ tr ợ cho việc lập trình đồ họa trong ngành k ỹ thuật đặc biệt là ngành cơ khí nhƣ: ngôn ngữ Visual Basic, C ++…. Qua quá trình tìm hi ểu, chúng tôi đã lự a chọn ngôn ngữ lậ p trình AutoLISP, ngôn ng ữ
này có nhƣng đặc điểm sau:
AutoLISP là ngôn ngữ l ậ p trình bậc cao thích h ợ p v ớ i các ứng d ụng đồ h ọa và là ngôn ngữ lậ p trình thông dịch nghĩa là chạy đến đâu thì dị ch đến đó và cho k ết quả, đƣợ c viết theo cú pháp và th ủ tục r ất chặt chẽ.
Ngôn ng ữ này đƣợ c bổ sung vào phiên bản AutoCAD 2000 nhằm tăng sự linh hoạt và giảm thiểu tối đa thờ i gian thi ết k ế để tăng thêm tính ƣu việ t cho phần mềm AutoCAD
Ngôn ngữ lậ p trình AutoLISP cho phép kh ả năng liên kế t dữ liệu vớ i phần mềm AutoCAD, có thể thêm hoặc xóa đối tƣợ ng, ng, thêm thông tin vào các b ản vẽ hiện 21
hành, lấy các mã DXF c ủa t ừng đối tƣợ ng ng thông qua các l ệnh có sẵn r ồi t ừ đó điều khiển đối tƣợ ng ng theo những mục đích sử dụng khác nhau.
AutoLISP đã đƣợ c ứng dụng r ộng rãi và t ạo ra đƣợ c các ph ần mềm có chức năng hỗ tr ợ đắ ợ đắc lực cho ngƣờ i thiết k ế khi vẽ các chi ti ết phức tạ p, nếu chỉ sử dụng các công c ụ vẽ thông thƣờ ng ng của AutoCAD sẽ mất nhiều thờ i gian và công sức. Nhƣ vậy, nhờ có có ngôn ngữ này mà công vi ệc đã đƣợc đơn giản hóa và đem lại năng suất cao
AutoLISP tận d ụng t ối đa các lệnh có sẵn trong AutoCAD, l ấy và thiết l ậ p các biến hệ thống của AutoCAD
Để viết một chƣơng trình AutoLISP chúng ta có thể sử dụng các chƣơng trình Word…. nhƣng việc tìm kiếm lỗi và nhận dạng soạn thảo nhƣ: Notepad, Microsoft Word….nhƣng biến là không th ể. Vì vậy, AutoCAD cung cấp môi trƣờ ng ng lập trình Visual LISP đã
đem lại s ự thuận ti ện cho ngƣờ i l ập trình. Visual LISP là môi trƣờ ng ng dùng soạn th ảo và viết ra các ch ƣơng trình dự a trên ngôn ng ữ AutoLISP. Môi trƣờ ng ng này cung cấ p
ợ cho ối chƣơng trình, cho phép ngƣờ i lậ p trình nhiều công cụ hỗ tr ợ cho việc viết và g ỡ r ối liên k ết tr ực tiế p với AutoCAD để chạy th ử chƣơng trình, cung cấ p chức năng kiểm tra lỗi toàn bộ chƣơng trình hay một c ụm mã lệnh, nhƣ vậ y gi ảm th ờ i gian tìm ki ếm
ợ thêm một ngôn ngữ lậ p trình DCL ( Dialog Dialog Control lỗi. Ngoài ra, còn hỗ tr ợ Language),
cho phép ngƣờ i lậ p trình soạn thảo và kiểm tra các mẫu hộ p thoại (hình
2.10)
Hình 2. 10: Giao di ện của môi trườ ng ng Visual LISP
22
2.3.1. Tìm Hiể Hiểu Ngôn Ngữ Ngữ Autolisp Autolisp 2.3.1.1 Bi ể u thứ c trong AutoLISP
Một biểu thức trong AutoLISP đơn giả n chỉ gồm các phép tính s ố học thông thƣờ ng ng và cấu trúc dữ li ệu. Tuy nhiên để AutoLISP thực hi ện một bi ểu th ức c ần dùng các c ấu trúc sau : - Cấu trúc dữ liệu cơ bản là danh sách ( theo đúng tên gọi của nó list processor ). ). - Cấu trúc chứa các bi ểu thức toán h ọc. Là tậ p hợ p các hàm toán học có nhiệm vụ xử lý danh sách d ữ liệu nhậ p vào Quá trình xử lý của AutoLISP nhƣ sau khi nhận đƣợ c d ữ li ệu là danh sách, AutoLISP sẽ xử lý danh sách đó và đƣa đế n các bi ểu thức toán học để thực hiện một chức năng nào
đó do ngƣờ i lập trình đặt ra 2.3.1.2 Bi ế n trong AutoLISP
Biến trong ngôn ngữ AutoLISP là đại di ện cho các tham s ố, có thể c ố định hoặc thay
đổi trong một chƣơng trình. Biế n có thể là số thực, số nguyên, chuỗi v.v… AutoLISP cung cấ p hai lệnh Setq và Set để gán các giá tr ị cho biến. Ví dụ, để gán cho bi ến A một giá tr ị bằng 12, có th ể thực hiện ngay dƣớ i dòng lệnh Command của AutoCAD, gõ chu ỗi lệnh sau: Command : (Setq A 12). Cần phải hiểu rõ sự khác nhau giữa giá tr ị và biến. Biến đại diện cho giá tr ị,ị, để AutoCAD không hiểu nhầm giữa giá tr ị và biến thì khi s ử dụng biến cần phải thêm “!”
vào trƣớ c tên biến. Bắt đầu từ phiên bản AutoCAD 14. Tên biến có thể ch ứa b ất kì ký t ự nào, ngoại tr ừ các kí tự ( ) , ; “ „ và khoảng tr ắng. 2.3.1.3 Cách vi ết chương trình củ a AutoLISP
Viết tr ực tiế p 23
Để viết lệnh tr ực tiếp ngƣờ i lập trình đánh các đoạ n mã lệnh ngay trên dòng Command của
AutoCAD. Các đoạn mã lệnh này sẽ đƣợ c thực thi và xu ất ra k ết quả
ngay tại dòng Command , những lệnh này không lƣu trữ đƣợ c
Viết gián ti ế p
Dùng chƣơng trình soạ n th ảo dƣớ i d ạng mã ASCII bất k ỳ hoặc dùng ngay Visual LISP để vi ết thành một chƣơng trình đóng vai trò nhƣ mộ t t ậ p tin nguồn có phần m ở r ộng là *.lsp. Tên c ủa các t ậ p tin dùng trong ngôn ng ữ l ậ p trình AutoLISP cũng tuân thủ theo đúng qui ƣớ c của hệ điều hành, tức là không có quá 8 ký t ự và giữa các ký t ự không có các kho ảng tr ống.
Để chƣơng trình có thể tự động Upload phần mềm mỗi khi khởi động AutoCAD, phải copy hết tất cả các mã l ệnh của chƣơng trình và o trong file acad2007.lsp t ại mục Support của AutoCAD (tùy theo t ừ ng phiên b ản CAD có thể thay đổ i file acad2007, ở
đây là phiên bả n CAD 2007 ). Quá trình này thuận tiện cho việc sử dụng lại chƣơng trình mỗi khi thoát AutoCAD, nhƣng lạ i làm ch ậm quá trình khởi động phần mềm
AutoCAD. Chƣơng trình có dung lƣợ ng càng lớ n, tính toán ph ức tạ p thì quá trình khởi động AutoCAD càng mất nhiều thờ i gian. 2.3.1.4 Cách t ạo các hàm, l ệnh cho AutoCAD
Cách tạo hàm tự tạo
Để nhận đƣợ c hàm tự tạo, sử dụng hàm Defun (Define function) và khi AutoLISP chạy gặ p bất k ỳ hàm nào có tên hàm đã đƣợ c tạo, nó sẽ tự động tính và tr ả về k ết quả của hàm Cấu trúc tạo hàm tự tạo nhƣ sau: (DEFUN [Tên Hàm] / [tham s ố gọi] [các biểu thức của hàm] )
Cách tạo lệnh mớ i cho AutoCAD
24
Các lệnh mới đƣợ c tạo ra từ AutoLISP cũng sẽ đƣợc coi nhƣ là các lệ nh của AutoCAD. Cách tạo các lệnh mới này cho AutoCAD cũng tƣơng tự cách làm các hàm t ự tạo đã trình bày, chỉ khác là có thêm “c:” vào trƣớ c tên hàm. C ấu trúc tạo lệnh mớ i cho AutoCAD (Defun C: [Tên Hàm] / [tham s ố gọi] [các biểu thức của hàm] )
2.3.2. Các Hàm AutoLISP Thông Dụng Nhƣ đã giớ i thiệu, đặc trƣng của ngôn ngữ l ậ p trình AutoLISP là: nhậ p s ố li ệu → xử lý s ố li ệu
→ sử d ụng các hàm toán h ọc th ự c hi ện m ột thuật toán nào đó → Xuấ t k ế t qu ả
như yêu cầu. AutoLISP cung cấ p nhiều hàm vớ i nhiều ch ức năng khác nhau nhƣng trong phần này chỉ trình bày các hàm thông d ụng liên quan đến n ội dung bài toán đặ t ra trong
đề tài. Cụ thể nhƣ sau : 2.3.2.1 Các hàm nh ậ p số liệu
AutoLISP cung cấ p nhiều hàm để ngƣờ i dùng có th ể nhậ p nhiều kiểu số liệu khác
nhau nhƣ kiể u chuỗ i, s ố thự c, số nguyên, danh sách v.v.... Theo đó mỗi kiểu số liệu đƣợ c nhập vào trong cơ sở dữ liệu của AutoCAD bằng những lệnh khác nhau nhƣ Getpoint, Getreal, Getint
v.v... Vì AutoLISP trao đổi số liệu tr ực tiế p vớ i AutoCAD nên có th ể
nhậ p các số liệu tr ực tiế p từ môi trƣờ ng AutoCAD và nhậ p gián tiếp vào cơ sở dữ liệu của AutoCAD thông qua môi trƣờ ng Visual.
Nhậ p số liệu kiểu số nguyên (interget)
AutoLISP sử dụng hàm Getint để nhậ p số nguyên vớ i cấu trúc: (GETINT [Prompt])
Trong đó : [Prompt] là thông báo cho ngƣờ i sử dụng biết nội dung cần nhậ p Ví dụ, nhậ p kiểu số nguyên là t ỷ số cá thể đực và cá thể cái bằng cấu trúc nhƣ sau :
Command : (Getint “\nNhậ p tỷ số giữa cá thể đực và cá thể cái”)
25
Khi đó, con trỏ chuột trên vùng đồ họa của AutoCAD và tại dòng nhắc lệnh Command của AutoCAD sẽ thông báo nhƣ hình 2.11.
Hình 2. 11: Nhậ p số liệu là kiể u số nguyên
Nhậ p số liệu kiểu số thực (real)
Kiểu số thực là chứa tất cả các loại số t ự nhiên, thậ p phân v.v… AutoLISP sử dụng hàm Getreal để nhậ p số thực tr ực tiếp vào môi trƣờ ng AutoCAD. (Getreal [Prompt])
Trong đó: [Prompt] là thông báo củ a dòng nhắc lệnh tới ngƣờ i sử dụng Ví dụ: yêu cầu ngƣờ i dụng nhậ p k ết quả của phép chia ¾
Command : (Getreal “\n3 chia 4 bang bao nhieu ”) thì dòng con tr ỏ chuột và dòng nhắc lệnh của AutoCAD thông báo:
Hình 2. 12: Nhậ p số liệu kiể u số thự c
Nhậ p dữ liệu kiểu chuỗi (String)
AutoLISP sử dụng hàm Getstring nhậ p số liệu kiểu chuỗi, không vƣợ t quá 132 ký t ự. Command : (Getstring [Prompt]) Ví dụ, yêu cầu ngƣờ i dùng nhậ p câu tr ả lờ i bằng chữ: Đất nƣớ c Việt Nam hình chữ gì. (Getstring “\nĐất nƣớ c Việt Nam hình ch ữ gì ? ”) Thì dòng con tr ỏ chuột của AutoCAD thông báo :
26
Hình 2. 13: Thông báo nh ậ p số liệu kiể u chuỗ i
Dòng nhắc lệnh Command thông báo :
Hình 2. 14: Nhậ p số liệu kiể u chuỗ i 2.3.2.2 Hàm ki ể m soát d ữ liệu nhậ p vào
AutoLISP cung cấ p hàm Initget để ki ểm soát số li ệu nhậ p vào. Hàm Initget cung cấ p danh sách giá tr ị nhậ p vào hợ p lệ bằng cách gắn bit kiểm tra (bit code) và danh sách t ừ khóa của hàm nhậ p d ữ li ệu nhƣ Getpoint, Getreal, Getangle, Getint …., ngoại tr ừ hàm
Getstring, nhƣng hàm Initget ch ỉ có tác dụng một lần đối vớ i hàm Getxxx. Nó bị mất tác dụng khi ta sử dụng Getxxx ở các lần k ế tiế p. Cấu trúc của hàm kiểm soát dữ liệu nhậ p : (Initget [BITS] [STRING])
Trong đó : [BITS] - số nguyên, là tổng các bitcode ứng vớ i chế độ kiểm soát mong muốn. [STRING] - chứa danh sách các t ừ khóa Ví dụ về lệnh kiểm soát dữ liệu nhậ p : Command : (initget (+ 1 2 4)) Máy sẽ hiểu là không cho phép nh ậ p r ỗng (bit 1), không cho phép nh ậ p số 0 (bit 2), không cho phép nhậ p số âm (bit 4) và do đó 7 sẽ là tổng các điều kiện trên. 27
Bảng 2.1 trình bày các giá tr ị Bit Code cụ th ể tƣơng ứng v ớ i chế độ ki ểm soát dữ li ệu trong ngôn ngữ AutoLISP Bảng 2.1: Các giá tr ị Bit Code c ụ thể tương ứ ng vớ i chế độ kiể m soát d ữ liệu
Bit Code
Chế độ kiểm soát
1
Giá trị phải đƣợc nhập, không chấp nhận giá trị Null
2
Giá trị nhập phải khác không
4
Giá trị nhập không đƣợc là số âm
8 16 32 64
128
Chấp nhận giá trị nhập vào nằm ngoài giới hạn bản vẽ ngay cả khi biến hệ thống LIMCHECK = ON (lựa chọn ON của lệnh LIMITS) Không sử dụng release 14 Dùng nét đứt để thể hiện "sợi dây thun". Nếu biến hệ thống POPUPS = 0 thì biến này không có tác dụng Dùng cho hàm Getdist. Hàm Getdist sẽ loại bỏ tọa độ Z của 2 đi m c n tính khoảng cách (tƣơng tự nhƣ khi chiếu 2 điểm này lên mặt phẳng xy, sau đó tính khoảng các giữa 2 điểm chiếu này ) Cho phép nhập kí tự không có trong danh sách từ khóa. Các bit code khác sẽ đƣợc ƣu tiên trƣớc, nhƣng nếu bit 1 và 128 đƣợc sử dụng cùng với nhau (129) thì giá trị Null nhập vào (nhấp ENTER sẽ thành chuỗi rỗng) Hình 2. 15: Hàm gán l ấ y giá tr ị của biế n hệ thố ng AutoCAD
Các biến hệ thống của AutoCAD dùng điề u khiển đối tƣợng và môi trƣờ ng làm việc của AutoCAD. Biến hệ thống của AutoCAD không giống vớ i biến toàn cục hay biến cục bộ của AutoLISP. Không dùng hàm SETQ để gán biến mà dùng hàm SETVAR để gán giá tr ị cho biến hệ thống Cụ thể nhƣ sau: 1. Hàm gán giá tr ị SETVAR
AutoLISP cung cấ p hàm SETVAR để gán giá tr ị vớ i cấu trúc hàm nhƣ sau: (SETVAR [VARNAME] [VALUE])
Trong đó : [VARNAME] - tên biến hệ thống của AutoCAD, đƣợc đặt trong dấu “” [VALUE]
- giá tr ị của biến hệ thống 28
Có r ất nhiều biến hệ th ống trong AutoCAD có th ể tham khảo trong tài li ệu chuyên sâu về AutoCAD. 2. Hàm l ấ y giá tr ị của biế n hệ thố ng GETVAR
AutoLISP cung cấp hàm GETVAR để lấy biến hệ thống Hàm Getvar dùng để l ấy các biến hệ th ống c ủa AutoCAD làm dữ li ệu cho phần mềm. Hàm này r ất hữu ích khi sử dụng các dữ liệu của hệ thống làm cơ sở để tính toán. Cấu trúc hàm: (GETVAR [VARNAME] ) Hàm này sẽ tr ả về các giá tr ị của biến hệ thống, có thể là kiểu chuỗi, kiểu số thực v..v... Nó đƣợ c sử dụng k ết hợ p vớ i hàm Setq ( g ắ n biế n d ự liệu) Ví dụ, để lấy diện tích của hình tròn thì ph ải thông qua lệnh Area hoặc Massprop. Trong ví dụ này sẽ lấy diện tích của hình trong thông qua biến hệ thống Area, r ồi gắn biến bằng hàm Setq Command: area(l ệnh tính di ện tích) Specify first corner point or [Object/Add/Subtract]: o Select objects:
Diện tích tr ả về khi dùng lệnh AREA nhƣng giá trị ch ỉ hi ện thông báo trên màn hình, không thể sử dụng tr ực tiếp nó. Để lấy giá tr ị này phục vụ cho việc tính toán ti ế p theo phải dùng hàm Setq k ết hợ p vớ i Getvar Area = 322.3973, Perimeter = 63.6503 Command: AREA Specify first corner point or [Object/Add/Subtract]: *Cancel* Command: (getvar "AREA") 322.397 Command: (setq k (getvar "Area")) (biến k đượ c gán giá tr ị của l ệnh AREA bằ ng 322.397) 322.397
29
2.3.2.3 Hàm hi ện thông báo lên màn hình 1. Hàm Prompt
AutoLISP cung cấp hàm prompt để hiện thông báo lên màn hình nhƣng thông báo này chỉ là thông tin cung c ấp cho ngƣờ i dùng, chứ không phải là chức năng cung cấ p biến dữ liệu. Cấu trúc: (Prompt [String]) vớ i [String] là ki ểu chuỗi muốn hiện lên màn hình Ví dụ : Command: (Prompt "Bui Cong Loc") Bui Cong Locnil Hình 2.16 là hình ảnh hiện thông báo khi dùng l ệnh Prompt
Hình 2. 16: Thông báo trên màn hình c ủa AutoCAD
Lƣu ý là đôi khi ngƣờ i dùng muốn thông báo một đoạn gồm 2 chuỗi nhƣng hàm Prompt chỉ tr ả về chuỗi đầu tiên. 2. Hàm Princ
Trong thực t ế, hàm Princ đƣợ c s ử d ụng nhiều hơn, hay nói các khác là linh động hơn vì hàm tr ả về không tr ả thêm biến nill nhƣ hàm Prompt Cấu trúc: (Princ [STRING]) Ví dụ sử dụng hàm Princ Command: (princ "loc")
Loc
Lƣu ý là khi muốn sử dụng chuỗi string làm thông báo thì chu ỗi phải đƣợc đƣa vào trong dấu ngoặc “”, khi sử dụng biến thì không c ần 30
Ví dụ : Command: (princ k) (k ế t quả tr ả về )
322.397322.397 2.3.2.4 Các hàm tính toán, ki ể m tra d ữ liệu a. Các hàm kiể m soát số liệu
Các hàm kiểm soát dữ liệu bao gồm : - Hàm Fix: tr ả về phần nguyên của một số (Fix 53.44) tr ả về 53, nếu lớn hơn 0,5 đƣợ c làm tròn lên, nh ỏ hơn thì ngƣợ c lại - Hàm Float: chuyển một số nguyên thành số thực
- Hàm ABS : Hàm tr ả v ề giá tr ị tuy ệt đối. Nói cách khác, các s ố dù âm hay dƣơng đề u qua bộ lọc này sẽ chuyển thành số dƣơng Cấu trúc: ( ABS [number]) - Hàm REM: Hàm tr ả về số dƣ của phép chia Cấu trúc: ( Rem [number] [munber]) - Hàm GCD: hàm tr ả về ƣớ c số chung lớ n nhất của 2 số Cấu trúc: ( GCD [number] [munber]....) - Hàm MAX: tr ả về giá tr ị lớ n nhất của 2 số tr ở lên Cấu trúc: ( MAX [number] [munber]....) - Hàm MIN : tr ả về giá tr ị nhỏ nhất trong các s ố Cấu trúc: ( MIN [number] [munber]....) b. Các hàm tính lượ ng giác
- Hàm Sin: tr ả về giá tr ị sin của góc đo Cấu trúc: ( Sin ANGLE) Số tr ả về là số thực - Hàm COS: tr ả về giá tr ị cos của góc đo
- Hàm ATAN: tr ả về giá tr ị arc tang của một góc 31
Cấu trúc: (atan [NUM1] [NUM2]) c. Các hàm tính khai căn lũy thừ a - Hàm EXPT dùng để tình lũy thừ a của một số Cấu trúc: ( EXPT [Số] [Lũy thừa]) - Hàm SQRT: dùng để khai căn bậc 2 của một số Cấu trúc: ( SQRT [NUM]) - Hàm Log : dùng để tính logarit c ủa một số Cấu trúc: ( Log [NUM]) - Hàm EXP tr ả về lũy thừa en Câu trúc: ( EXP [NUM]) d. Các hàm kiể m tra d ữ liệu
Hàm ATOM đƣợc dùng để kiểm tra các d ữ liệu có phải là số nguyên tố hay không mọi dữ liệu không phải danh sách đều là số nguyên tố - Hàm LISTP dùng để kiểm tra dữ liệu có phải danh sách hay không - Hàm NUMBERP dùng kiểm tra số liệu có phải là kiểu số hay không - Hàm MINUSP dùng kiểm tra số liệu có phải số âm hay không - Hàm ZEROP dùng kiểm tra dữ kiệu đầu vào có phải số không hay không - Hàm BOUNDP: tr ả v ề T nếu tham số là số nguyên tố nó đƣợ c g ắn v ớ i m ột giá tr ị. Ngƣợ c lại sẽ tr ả về nill - Hàm NULL: kiểm tra số liệu đầu vào có ph ải kiểm danh sách hay không 2.3.2.5 Các hàm chuy ển đổ i d ữ liệu và xử lý kiể u chuỗ i
Thông thƣờng, khi ngƣờ i sử dụng nhậ p vào một giá tr ị thì máy tính s ẽ hiểu giá tr ị nhậ p vào đó là kiểu chuỗi (string), do đó nế u muốn giá tr ị mà ngƣờ i sử dụng nhập vào đó để
32
phục vụ việc tính toán thì c ần phải chuyển đổi chúng về dạng số nguyên hay số thực v.v… AutoLISP cung cấ p các hàm chuyển đổi kiểu chuỗi thành số thực nhƣ sau: a. Hàm ATOF : chuyển một chuỗi thành một số thực Cấu trúc : (Atof [String]). Ví dụ :
(atof “24”)
tr ả về : 24,00
b. Hàm DISTOF : chuyển một kiểu chuỗi thành kiểu số thực Cấu trúc : (Distof [String] [MODE]) vớ i MODE là tham s ố dùng để xác định kiểu đơn vị mà tham s ố String cần ph ải tuân theo. Nếu nhƣ không có tham số MODE thì hàm Distof s ẽ tự động lấy theo kiểu đơn vị hiện hành. Các giá tr ị MODE tƣơng ứng vớ i số trên thì có các h ệ tọa độ nhƣ cho trong bảng sau. Mode
Format
1 2 3 4 5
Scientific Decimal Engineering Architectural Aarbitrary fractional units
Bảng 2.2: Giá tr ị biế n hệ thố ng t ọa độ của AutoCAD
c. Hàm ATOI : dùng chuyển đổi một chuỗi thành một số nguyên Cấu trúc: (Atoi [String]) d. Hàm RTOS (real to string): dùng để chuyển số thực thành kiểu chuỗi Cấu trúc: (RTOS Number [Mode][Precision]) vớ i Mode, Procision là tham s ố có ý nghĩa nhƣ biến hệ thống, LUNITS là đơn vị đo chiều dài. Nếu không có tham số LUNITS thì chƣơng trình sẽ lấy LUPREC hiện hành Ví dụ: (rtos 54.75)
tr ả về “54.7500” ở đây LUNITS = 2 vớ i LUPREC = 4 33
e. Hàm STRCASE (String case): chuyển ký tự trong chuỗi String thành ch ữ hoa hay
ngƣợ c lại Cấu trúc: (STRCASE String [WHICH]) Nếu không có tham s ố WHICH hoặc có nhƣng bằng nill, hàm sẽ đƣợ c tr ả về chuỗi vớ i tất cả các chuỗi đƣợ c chuyển f. Hàm STRCAT (STRing conCAT) : dùng nối nhiều chuỗi vớ i nhau thành m ột chuỗi duy nhất Cấu trúc: (STRCAT [chuỗi 1][chuỗi 2]) Ví dụ: (strcat “5” AA)
tr ả về 5AA
g. Hàm STRLEN : đo chiều dài chuỗi và nếu có nhiều chuỗi thì hàm s ẽ tr ả về tổng các chuỗi Cấu trúc: (STRLEN [Chuỗi] ....) 2.3.2.6 Các bi ể u thức điề u kiện, so sánh, logic
1. Các biểu thức điều kiện Các biểu th ức điều ki ện đƣợc dùng để duyệt, so sánh các s ố, chuỗi, real, string v..v… dùng nhậ p vào ho ặc l ọc dữ liệu để phục vụ cho lậ p trình. Trong AutoLISP cung c ấ p hàm (IF [Biểu thức điều kiện] [Lệnh thực hiện]) để thực hiện một biểu thức điều kiện 2. Các hàm so sánh Các hàm so sánh g ồm có : = ; < > ; EQUAL ; EQ ; =< 3. Các hàm logic : - Hàm AND: định giá tr ị các tham s ố lần lƣợ t từ trái sang ph ải cho đến khi gặ p các tham s ố bằng nill thì d ừng lại tr ả về k ết quả bằng nill, còn không g ặ p k ết quả bằng nill thì sẽ tr ả về k ết quả là T (True). C ấu trúc (AND [Expression])
34
- Hàm OR: kiểm tra từ bên trái sang bên ph ải n ếu g ặ p ph ần t ử đầu tiên khác nill thì sẽ d ừng l ại và tr ả v ề k ết qu ả là T, còn k ết qu ả toàn bộ là nill thì s ẽ tr ả v ề là nill - Hàm NOT: tr ả về là T về tất cả các tham s ố đều cho k ết quả là nill và ngƣợ c lại 2.3.2.7 Các vòng l ặ p
Vòng lặp chƣơng trình cho phép mộ t hoặc nhiều biểu thức đƣợ c lặp đi lặ p lại nhiều lần với điều ki ện cho trƣớ c và số l ần l ặ p k ết thúc khi số vòng lặ p không thỏa mãn điều ki ện cho trƣớ c. Gồm các hàm nhƣ sau: 1. Hàm REPEAT: tạo ra vòng lặ p vớ i số lần lặ p cho trƣớ c
Cấu trúc: (Repeat [NUMBER] [EXPR ....])
trong đó tham số NUMBER là một số nguyên dƣơng, xác đị nh số lần lặ p của biểu thức. Hàm này sẽ tr ả về giá tr ị của biểu thức cuối cùng của vòng lặ p và nếu tham số Number bằng 0 hoặc âm thì hàm Repeat không định giá tr ị và tr ả về k ết quả nill 2. Hàm WHILE :
tạo ra một vòng lặp có điều ki ện. Vòng lặ p này s ẽ k ết thúc nếu điều
kiện đầu vào không thỏa mãn (WHILE TESTEX EXPR )
35
CHƢƠNG 3: KẾT QUẢ NGHIÊN CỨU 3.1. LỰ A CHỌN VÀ GIẢI THUẬT VẼ ĐƢỜ NG HÌNH 3.1.1. Lự a chọn và xây dựng sơ đồ thuật toán vẽ đƣờ ng hình Khảo sát thực tế cho thấy, hầu hết đƣờ ng hình của các tàu đánh cá Việ t Nam nói chung và của tỉnh Ninh Thuận nói riêng thƣờng đƣợc đóng tạ i một số cơ sở đóng tàu của địa
phƣơng nên có những đặc điểm khá giống nhau, chủ yếu chỉ khác nhau về mặt các kích thƣớ c chính. Vì thế, trong đề tài lựa chọn gi ải thuật l ậ p trình v ẽ đƣờ ng hình của tàu đánh cá Ninh Thuận b ằng phƣơng pháp đồng d ạng hình học (affine) d ựa theo đƣờ ng hình các tàu mẫu. Về mặt lý thuyết, có thể tóm tắt giải thuật vẽ đƣờng hình tàu đánh cá củ a tỉnh Ninh Thuận, dựa theo phƣơng pháp biến đổi đồng dạng hình học nhƣ sau:
Xây dựng chính xác đƣờ ng hình các tàu m ẫu
Khảo sát, đo đạc đƣờ ng hình các mẫu tàu thực tế để xây dựng chính xác đƣờ ng hình của các tàu mẫu để làm cơ sở dữ liệu vẽ đƣờ ng hình tàu thiết k ế.
Tính các h ệ số đồng dạng tỷ lệ kích thƣớ c
Từ các kích thƣớ c của tàu mẫu và tàu thi ết k ế cần vẽ, tiến hành tính các h ệ số đồng dạng theo tỷ lệ kích thƣớc nhƣ sau : L tk
k L
Lm
=
B tk
Trong đó : k L , k B , k T
k B
=
k T
=
Bm
Ttk T
- hệ số đồng dạng theo chiều dài, chiều r ộng, chiều cao tàu.
Ltk , Btk , Ttk - chiều dài, chiều r ộng và mớn nƣớ c của tàu thiết k ế Lm, , Bm , Tm - chiều dài, chiều r ộng và mớn nƣớ c của tàu mẫu 36
Trên cơ sở đó, sơ đồ thuật toán của chƣơng trình đƣợ c trình bày trên hình 3.1
BẮT ĐẦU
Chọn loại tàu thiết k ế: - Lưới kéo, lướ i vây
Nhậ p số liệu đầu vào: - Thƣớ c tàu thiết k ế: Lmax, Bmax, Htk , T - Phạm vi thay đổi tỷ số kích thƣớ c :
- Lướ i rê, tàu pha xúc
Không thỏa mãn Kiểm tra các t ỷ số
kích
thƣớ c
Thỏa mãn Tính các hệ số kích thƣớ c:
Tính bảng tọa độ tàu thiết k ế:
Chọn bản vẽ cần xuất 2D, 3D
Xuất bảng tọa độ
Hình 3.1: Sơ đồ thuật toán chương trình vẽ đườ ng hình
37
3.1.2. Giải thuật chƣơng trình vẽ đƣờ ng hình 3.1.2.1. Gi ải thuật kiể m tra các thông s ố đầu vào
Về nguyên tắc, t ỷ lệ các kích thƣớ c chính của tàu khi nhậ p vào chƣơng trình phải là số thực dƣơng, do đó cần ki ểm tra để tránh trƣờ ng h ợ p kích thƣớ c và tỷ số kích thƣớ c nh ậ p vào là số 0, s ố âm, kiểu chuỗi... Trong trƣờ ng hợ p thông s ố đầu vào không phù h ợ p phần mềm sẽ không xử lý đƣợ c số liệu đầu vào nên chƣơng trình không thể thực hiện đƣợc. Để khắc phục vấn đề đó cần phải kiểm tra các thông s ố đầu vào phù hợ p vớ i các ki ểu dữ liệu nêu trên. Dƣới đây là đoạn Lisp kiểm tra số liệu đầu vào và hạn chế lại khả năng nhậ p của ngƣờ i dùng: ;HAM KIEM TRA h/t ;;LENH KTht (defun KTht (val why key / L)(val giá tr ị chuyển về, why ki ểu trả về khi người dùng r ời ô nhập bằng chuột hay b ằng enter ) (setq L (atof val)) s ố liệu người dùng nh ập vào là ki ểu chuỗi nên ph ải đổi về kiểu số thực (if (= 1 why) (1 ở đây giá trị trả về của người dùng khi r ời khỏi ô nhập kích thước ở đây kiểm tra khi người dùng r ời khỏi ô nhập bằng enter) (progn(if (not (or (= (type (read val)) 'REAL) (= (type (read val)) 'INT) ))ki ểm tra xem có ph ải số nguyên hay s ố thực hay không (progn (alert "Gia tri nhap phai la 1 mot so thuc") (mode_tile key 2)n ếu không ph ải thì tr ả về vị trí ô nh ập
cũ và và bôi đen toàn bộ (mode_tile key 3) );;het ham progn (progn (if (= 0 L) (progn(alert "0 khong phai la so can nhap") (mode_tile key 2)(mode_tile key 3) ) );;het ham if
- Đoạn lisp nếu là s ố 0 thì bu ộc nhậ p lại (if
(Minusp L) (progn (alert "Khong Duoc Nhap So Am")
(mode_tile key 2) (mode_tile key 3));;het ham progn
38
- Đoạn lisp trên đƣa về vị trí cũ và nhậ p lại khi ngƣờ i dùng nhậ p số âm (MODE_TILE "accept" 2) );;het ham if) Nếu đúng thì chuyển con tr ỏ chuột xuống ô ti ếp theo );;het ham if
);;het ham progn
;;; neu nguoi dung roi con tro chuot khoi edit_box (progn
(if (not (or (= (type (read val)) 'REAL) (= (type (read val)) 'INT)))
(progn (alert "Gia tri nhap phai la 1 so thuc") (mode_tile progn
key
2)
(mode_tile
key
3)
);;het
ham
(progn (if (= 0 L)(progn (alert "0 khong phai la so
can nhap") (mode_tile key 2)(mode_tile key 3)));;het ham if
(if
(Minusp L) (progn
(alert
"Khong
Duoc
Nhap
So
Am")
(mode_tile
key
2)
(mode_tile key 3));;het ham progn);;het ham if);;het ham progn );;het ham if);;het ham progn);;het ham if chA);;het ham kiem tra h/t
- Nếu các kích thƣớ c nhậ p vào là số 0 thì thông báo cho ngƣờ i dùng biết số 0 không thể
dùng làm kích thƣớc đƣợ c. (if (or (>= (- l/b1 0.01) (/ Ltk Btk)) (>= (/ Ltk Btk) (+ 0.01 l/b)) )(khoảng cách sai s ố cho phép là 0,01) (progn `(alert (strcat "B khong thoa man so voi ty le kich thuoc da nhap Nhap lai B : = " (rtos (/ Ltk l/b)))) tính toán xem kích thước B nhập vào có đúng hay không nếu không đúng thì tính toán lại kích thước dựa vào t ỷ số L/B (mode_tile "Btk" 2) đưa con trỏ chuột về vị trí ô nhập kích thước B ban đầu để sửa , các l ệnh sau tương tự ) (if (or (>= (- b/h1 0.01) (/ Btk Htk)) (>= (/ Btk Htk) (+ 0.01 b/h))) (progn (alert (strcat "H khong thoa man so voi ty le kich thuoc da nhap
39
Nhap lai H (mode_tile "Htk" 2)) (if (or (>= (- h/t1 (+ 0.01 h/t))) (strcat "T khong thoa man voi Nhap lai T : = " (rtos )(done_dialog 1))
:
=
"
(rtos
(/
Btk
b/h))))
0.01) (/ Htk Ttk)) (>= (/ Htk Ttk) (progn (alert ty le kich thuoc da nhap (/ Htk h/t)))) (mode_tile "Ttk" 2)
3.1.2.2. Xây d ựng cơ sở d ữ liệu và vẽ đườ ng hình 2D, 3D a. Xây d ựng cơ sở d ữ liệu chương trình
Nhƣ đã trình bày ở trên, chúng tôi s ử dụng phƣơng pháp đồ ng dạng hình học để xây dựng sơ đồ thuật toán vẽ đƣờ ng hình. Một trong những vấn đề khó khăn đặt ra cho ngƣờ i thiết k ế là việc vẽ đƣờ ng hình tàu thi ết k ế từ bảng tọa độ đƣờ ng hình tàu mẫu thƣờ ng cho ra bản vẽ đƣờ ng hình tàu thiết k ế có độ chính xác không cao vì h ầu hết bảng tọa độ
đƣờ ng hình không thể hiện hết đƣợ c độ cong và độ gẫy khúc độ ngột của đƣờ ng hình. Đặc biệt trong trƣờ ng hợp đƣờ ng hình tàu cá Vi ệt Nam nói chung và tàu đánh cá Ninh Thuận nói riêng có độ cong và gẫy khúc phức tạ p nên việc vẽ lại đƣờ ng hình trên máy theo bảng t ọa độ tuyến hình thƣờ ng gặ p nhiều khó khăn và đƣờ ng hình tàu v ẽ đƣợc cũng
không đƣợ c chính xác so v ới đƣờ ng hình tàu mẫu. Nhƣ vậy, vấn đề nêu trên đã đƣợ c chúng tôi giải quyết cụ thể nhƣ sau: - Để đảm b ảo độ chính xác và độ cong trơn của đƣờ ng hình tàu thi ết k ế khi vẽ theo tàu mẫu, cần tăng số điểm c ần vẽ, tức là tăng số điểm tƣơng ứng vớ i t ọa độ điểm đƣờ ng hình tàu mẫu. Vớ i vấn đề phức tạp đã nêu trên, chúng tôi tiế n hành nghiên cứu l ậ p trình phần mềm đọc t ọa độ điểm c ủa đƣờng sƣờ n, đƣờng nƣớc, đƣờ ng c ắt dọc và cho ra đƣợ c k ết quả chính xác - Khi sử d ụng, phần m ềm s ẽ t ự động đọc và ghi các t ọa độ điểm (X, Y, Z) nằm trên biên dạng của t ừng đƣờng sƣờ n, đƣờng nƣớc, đƣờ ng cắt d ọc. V ớ i k ết qu ả mà phần mềm xuất ra đƣợ c chúng tôi sử dụng làm cơ sở dữ liệu chƣơng trình . Thông qua việc ghi lại tọa độ điểm, biên dạng đƣờ ng hình sẽ đƣợ c mô tả chi tiết hơn rất nhiều. Nhƣ vậy, chúng tôi có chƣơng trì nh AutoLISP cụ thể nhƣ sau: 40
(defun c:l2d () (setq tenk (getstring "Nhap ten Suon; Duong Nuoc; Cat Doc : ")) (setq rong t) (setq tdx (list) tdy (list)) (while rong (progn (setq p1 (getpoint "\nChon mot diem:")) (if p1 (progn (setq tdx (append (list (rtos (car p1) 2 2)) tdx )) (setq tdy (append (list (rtos (cadr p1) 2 2)) tdy )) (setq rong t)) (setq rong nil)))) (setq tdx (reverse tdx) tdy (reverse tdy)) (princ tenk) (princ "\n") (princ "Toa do X") (princ "\n") (princ tdx) (princ "\n") (princ "Toa do Y") (princ "\n") (princ tdy) (princ "\n") (alert "Chuong trinh duoc viet boi - Bui Cong Loc "))
Dƣới đây là tọa độ của một đƣợc sƣờn đƣợ c phần mềm ghi lại: Toa do X (0.00 -102.88 -152.89 -219.57 -269.59 -323.77 -386.28 402.96 -444.63 -502.17 -502.17 -548.83 -573.83 -653.02 -728.04 -740.54 -761.38 778.05 -811.40 -840.57 -853.07 -869.75 -882.25 -894.75 -907.26 -915.59 -923.93 940.60 -944.77 -1004.34 -1048.96 -1061.46 -1107.31 -1136.48 -1165.66 1194.83 -1240.68 -1274.02 -1286.52 -1340.70 -1361.54 -1378.21 -1390.72 1415.72 -1428.22 -1461.57 -1506.51 -1553.00 -1582.08 -1615.52 -1648.88 1694.87 -1741.00 -1787.71 -1842.32 -1871.06 -1887.04 -1917.57 -1945.70 1964.99 -1975.52 -2008.68 -2045.58 -2057.64 -2068.57 -2082.75 -2093.22 2099.56 -2112.19 -2119.89 -2126.38 -2135.08 -2142.70 -2152.08 -2157.59 2162.14 -2165.61 -2171.34 -2178.10 -2182.43 -2185.59 -2190.96 -2196.28 2201.86 -2206.77 -2209.47 -2216.86 -2228.97 -2235.39 -2241.62 -2246.73 2256.60 -2266.70 -2284.83 -2294.67 -2301.39 -2313.67 -2322.33 -2325.47 2328.23 -2335.44 -2340.04)
41
Toa do Y (2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2721.84 2722.62 2723.50 2724.62 2725.66 2726.56 2726.36 2724.38 2718.70 2713.65 2710.04 2701.12 2689.86 2679.86 2673.37 2646.14 2594.28 2568.89 2540.30 2492.21 2446.01 2413.15 2341.00 2298.37 2264.61 2222.54 2188.58 2150.09 2129.00 2112.36 2100.08 2080.56 2058.67 2045.32 2035.89 2020.54 2006.11 1991.76 1979.77 1973.39 1956.79 1931.72 1919.16 1907.29 1897.72 1879.52 1861.11 1829.62 1813.66 1803.83 1791.35 1799.02 1819.26 1869.87 1915.62 1929.63)
b: V ẽ đườ ng hình 2D, 3D
Vẽ đƣờ ng hình 2D, 3D trên AutoCAD d ựa trên bảng tọa độ đƣờ ng hình tàu thi ết k ế có r ất nhiều phƣơng pháp khác nhau để thực hiện. Trong đề tài này, chúng tôi s ử dụng ngôn ngữ AutoLISP điều khiển các lệnh sẵn có trong ph ần mềm AutoCAD để vẽ đƣờ ng hình dựa trên cơ sở dữ liệu sẵn có trong chƣơng trình. Có thể tóm tắt trình tự vẽ đƣờ ng hình
nhƣ sau : - Xây dựng ô lƣớ i tại các hình chi ếu cạnh, hình chiếu đứng, hình chiều bằng dựa trên khoảng cách các đƣờng sƣờn, đƣờng nƣớc và các đƣờ ng cắt dọc - Truy cập cơ sở dữ liệu để lấy các thông tin v ề đƣờng sƣờn, đƣờng nƣớ c và cắt d ọc của tàu mẫu, từ những thông tin đó đƣợ c sử dụng để tính bảng tọa độ tàu thiết k ế. - Sử dụng ngôn ngữ AutoLISP điều khiển các lệnh trong phần mềm AutoCAD để vẽ đƣờ ng hình dựa trên tọa độ tàu thiết k ế. 42
Dƣới đây là các bƣớ c thực hiện và các đoạn code chƣơng trình kèm theo : Bƣớ c 1: Thiết lậ p các biến danh sách r ỗng dựa vào các lệnh của AutoLISP, cấu trúc nhƣ sau : (setq dsm (list) dim (list)) Bƣớ c 2: Lậ p biến danh sách t ọa độ các điểm (đường sườn, đường nướ c, cắ t d ọc) của tàu mẫu. Cấu trúc sau : (setq tdy (list 177.557 266.184 423.825 499.959 780.466 999.959 1210.26 1380.0 1499.96 1729.82 1916.51 1965.53 1999.96 2125.59 2178.58 2196.57 2249.7 2308.25 2313.24 2339.0 2361.18 2365.17 2380.55 2385.78 2387.94 2389.36) tdz 3952.46 3915.63 3578.69 3525.73 3135.46 2999.52
(list 4023.61 4018.5 4009.42 4004.52 3975.31 3884.64 3858.73 3794.33 3718.29 3692.66 3670.67 3504.93 3433.72 3329.36 3314.8 3239.76 3160.35 2840.93 2737.79 2664.48))
Bƣớ c 3: Tính số điểm có trong danh sách t ọa độ tàu mẫu và gắn biến đếm. Cấu trúc: (setq k (length tdy) i 0)
Bƣớ c 4: Nhân t ọa độ đƣờ ng hình của các tàu m ẫu có trong danh sách v ớ i các hệ số kích thƣớc tƣơng ứng (dx, dy, dz) và sau đó trả về danh sách tọa độ các điểm của đƣờ ng hình tàu thi ết k ế. Gọi l ệnh Spline thông qua hàm (Command) và tiế p tục gán tọa độ của từng điểm nằm trong danh sách tàu thi ết k ế k ế cho lệnh Spline. Cấu trúc (while (<= i (- k 1)) (setq tdy1 (cons (* (nth i tdy) dy) dsm) tdz1 (cons (* (nth i tdz) dz) dim) i (+ i 1)) (setq dsm tdy1 dim tdz1) ) ;; HET (setq tdy (reverse dsm) tdz (reverse dim)) (command "spline") (setq i 0 k (length tdz)) (while (<= i (- k 1)) (setq p1 (list (nth i tdy) (nth i tdz))) (command p1) (setq i (+ i 1)) ) ;; HET WHILE (command "" "" "") ) ;; HET WHILE (setq k (length tdx) i 0) (while (<= i (- k 1)) (setq tdx1 (cons (* (nth i tdx) dx) dsm) tdy1 (cons (* (nth i tdy) dy) dim) i (+ i 1)) (setq dsm tdx1 dim tdy1)) (setq tdx (reverse dsm) tdy (reverse dim)) (princ tdx) "\n" (princ tdy)(princ) (command "spline") (setq i 0 k (length tdx)) (while (<= i (- k 1)) (setq p1 (list (nth i tdx) (nth i tdy))) (command p1) (setq i (+ i 1)) ) (command "" "" "") (setq tdy nil tdx nil p1 nil) ;; VIET TEN CAC THANH PHAN ;; SONG TAU (command "color" 3 "") (setq dsm (list) dim (list) ) (setq tdx (list -8926.16 7029.94) tdy (list 133.206 133.206)) (setq k (length tdx)
43
i 0) (while (<= i (- k 1)) (setq tdx1 (cons (* (nth i tdx) dx) tdy1 (cons (* (nth i tdy) dy) dim) i (+ i 1)) (setq dsm tdx1 dim (setq tdx (reverse dsm) tdy (reverse (princ tdx) "\n" (princ tdy) (princ) (command "LINE") (setq i 0 (while (<= i (- k 1)) (setq p1 (list (command p1)(setq i (+ i 1)) )
dsm) tdy1)) dim)) k (length tdx)) (nthi tdx) (nth i tdy)))
Việc vẽ tuyến hình tàu d ạng 2D và 3D chỉ khác nhau khi ở tọa độ 2D(x , y), 3D (x, y ,z)
3.1.3. Xây dự ng hộp thoại chƣơng trình vẽ đƣờ ng hình Ngƣờ i sử dụng phải thƣờ ng xuyên phải giao tiếp, trao đổi số liệu với chƣơng trình nhƣ nhậ p s ố li ệu đầu vào các t ọa độ điểm. Nhƣ vậy việc giao tiế p thông qua các hộ p tho ại t ỏ ra dễ dàng và thuận lợi hơn so vớ i dòng nhắc lệnh của phần mềm AutoCAD.
Để tạo ra hộ p thoại chƣơng trình, đƣợ c chúng tôi sử dụng ngôn ngữ Dialog Control Langguage(DCL) để mô tả đặc điểm cấu trúc của hộ p thoại, sau đó sử dụng ngôn ngữ
AutoLISP để hiển thị hộ p thoại và lấy thông tin từ hộ p thoại Nhƣ vậy, hộ p thoại chƣơng trình đƣợ c mã hóa dựa theo ngôn ngữ Dialog Control Langguage(DCL) và cho k ết quả nhƣ sau:
44
vẽ đườ ng Hình 3. 2: H ộ p thoại chương trình vẽ đườ ng hình Dƣới đây là đoạn code đƣợc dùng để mô tả hộ p thoại, đƣợ c viết theo ngôn ngữ DCL: hopthoaitauca : dialog { label ="Chuong Trinh Thiet Ke Duong Hinh Tau Danh Ca tinh NINH THUAN "; : image { width = 95; height = 6; fixed_width = true ; fixed_height = true; alignment = centered; key = "logotruong"; color = 0;} : row { : boxed_column { multiple_select = false; label = " Chon loai tau thiet ke "; fixed_width = true; width = 40;
45
: radio_button { label ="Tau luoi keo"; key = "TLK"; value = 1;} : radio_button { label ="Tau luoi re"; key = "TLR"; value = 0;} : radio_button { label ="Tau luoi vay"; key = "TLV"; value = 0;} : radio_button { label ="Tau pha xuc"; key = "TPX"; value = 0;} } //het cot 1 boxed_column // sang cot 2 : boxed_column { label = "Nhap kich thuoc hinh hoc cua tau"; fixed_width = true; width = 50; height = 10; : edit_box { label = " Chieu dai tau Lmax (m) : = "; edit_width = 15; key = "Ltk"; value = "17"; }
//edit_box
: edit_box { label = " Chieu rong tau Bmax (m) : = "; edit_width = 15; key = "Btk"; value = "4.8"; } : edit_box { label = " Chieu cao man H (m): = "; edit_width = 15; key = "Htk"; value = "2.6";} : column { : edit_box { label = " Chieu chim tau T (m) : = "; edit_width = 15; key = "Ttk";
46
value = "1.85";}} spacer = 1;} //het cot hai boxed_column } //het dong mot row / / sang dong thu 2 spacer; : row {//bat dau cot 1 : column { fixed_width = true; width = 43; //bat dau dong 1 : boxed_row { label = "Chon loai ban ve de xuat tren Cad"; multiple_select = false; : radio_button { label = "Ban ve 2D"; key = "2D"; value = 1;} : radio_button { label = "Ban ve 3D"; key = "3D"; value = 0;} }//het dong 1 box_row //bat dau dong 2 : boxed_row { alignment = centered; label = "Xuat tri so tuyen hinh"; : button { label = "Xuat tuyen hinh"; key ="notepad"; } }
//het dong 2 } // het cot 1 // bat dau cot 2 : column { fixed_width = true; width = 54; height = 8; label = "Nhap ty le kich thuoc tau thiet ke "; // bat dau cot 1 : row { :edit_box{ edit_width =12; value = "3.15"; key = "l/b1";} : text { label =" <= L/B <=";
47
children_alignment = centered; } :edit_box { key = "l/b"; children_alignment = right; fixed_width = true; edit_width = 12; value = "3.64"; } } // het dong 1row // bat dau dong 2 : row { :edit_box{ edit_width =12; value = "1.65"; key = "b/h1";} : text { label =" <= B/H <="; children_alignment = centered; } : edit_box { key = "b/h"; children_alignment = right; fixed_width = true; edit_width = 12; value = "1.95"; } }
// het dong 2
// bat dau dong 3 : row { :edit_box{ edit_width =12; value = "1.25"; key = "h/t1";} : text { label =" <= H/T <="; children_alignment = centered; } : edit_box { key = "h/t"; children_alignment = right; fixed_width = true;
48
}
edit_width = 12; value = "1.54"; } // het dong 3 row
} //het column } // het dong 2 spacer_1; ok_cancel_help; }
3.2. GIẢI THUẬT TÍNH TOÁN CÁC TÍNH NĂNG 3.2.1. Giải thuật tính toán và vẽ đồ thị Bonjean Hiện nay, để xây dựng đồ thị Bonjean ngƣờ i ta có sử dụng r ất nhiều phƣơng pháp khác nhau để xây dựng đồ th ị này. Trong phạm vi đề tài, chúng tôi s ử dụng phƣơng pháp hình thang để xây dựng thuật toán cho chƣơng trình . Vì thế, v ớ i các vấn đề đặt ra khi tính và vẽ đồ thị Bonjean chúng tôi có nh ững giải thuật sau: - Để th ực hi ện t ự động tính toán và vẽ đồ th ị Bonjean trên ph ần mềm AutoCAD, cần ph ải cung cấ p thông tin v ề đƣờ ng hình cho phần m ềm “TU DONG VE DO
THI BONJEAN” thông qua việc ch ọn các đƣờng sƣờn và đƣợc nƣớc. Nhƣ vậ y để điều khiển đƣợc các đối tƣợng là đƣờng sƣờn, đƣờng nƣớ c phần mềm sẽ xâm nhập vào cơ sở dữ liệu của phần mềm AutoCAD để lọc ra các mã đối tƣợ ng hay còn gọi là các mã “Entity name” có trong bả ng mô tả thu ộc tính đối tƣợ ng DXF - Vì đƣợ c lập trình trên cơ sở lý thuyết là phƣơng pháp hình thang nên cần phải có các thông s ố đầu vào là y0, y1,…yn. Nhƣ vậy để giải quyết vấn đề trên, phần mềm sẽ tự động đọc và ghi lại tung độ giao điểm Y c ủa từng đƣờng sƣờn tƣơng
ứng vớ i từng đƣờng nƣớ c khác nhau. Thông qua đó diện tích đƣờng sƣờ n và momen tĩnh sẽ đƣợ c tính dựa vào k ết quả tung độ Y mà phần mềm đã ghi lại cho từng sƣờ n và khoảng cách dz mà ngƣời dùng đã nhậ p vào thông qua phƣơng pháp tính gần đúng hình thang . 49
- Để vẽ đƣợc chính xác đƣờ ng cong diện tích và đƣờng cong momen tĩnh tại đúng vị trí của từng đƣờng sƣờ n trên hình chi ếu đứng, chúng tôi sẽ sử dụng khoảng cách giữa các đƣờng sƣờ n lý thuyết r ồi nhân vớ i số thứ tự đƣờng sƣờ n (0, 0.5, 1,
1.5…) để xác định vị trí của từng đƣờng sƣờ n trên hình chiếu đứng. - Đặc trƣng của đồ thị Bonjean là đồ th ị sẽ đƣợ c kéo giãn theo chi ều cao dựa trên hệ số kéo giãn và h ệ số này luôn l ớn hơ n 1. Mục đích của việc kéo giãn này nhằm thể hi ện rõ độ cong của đƣờ ng cong diện tích và momen di ện tích mặt c ắt ngang. Nhƣ vậy để giải quyết vấn đề này, phần mềm sẽ tự động tạo 1 block trong AutoCAD ngay sau khi ngƣờ i dùng chọn đƣờ ng cắt dọc giữa tại hình chiếu đứng c ủa bản v ẽ đƣờng hình. Block này có tên “LOC -7efc5908” và block này sẽ đƣợ c kéo giãn dựa theo hệ số kéo giãn mà ngƣờ i dùng nhậ p vào từ hộ p thoại chƣơng trình - Để giúp ngƣờ i s ử d ụng phân biệt đƣờ ng cong diện tích mặt c ắt ngang và đƣờ ng cong momen diện tích mặt cắt ngang trên đồ thị Bonjean, phần mềm tự động gắn 2 loại màu sắc khác nhau lên 2 d ạng đƣờng cong đã nêu trên. Trong đó
đƣờng cong màu xanh là đƣờ ng cong diện tích, đƣờng cong màu vàng là đƣờ ng cong còn lại. - Trong quá trình tính toán và v ẽ đồ thị Bonjean theo mặc định phần mềm sẽ tự
động ghi file k ết quả diện tích ra file .txt với đơn vị là cm2. Giá tr ị diện tích đƣợ c xuất tại các mớn nƣớ c cách nhau 100mm Vớ i cách đặt vấn đề nhƣ trên chúng tôi có sơ đồ thuật toán sau:
50
Nhậ p số liệu đầu vào: - Chiều cao tính toán, chi ều r ộng tính BẮT ĐẦU
toán - Tỷ lệ đƣờ ng cong diện tích, momen - Hệ số kéo giãn, khoảng cách đƣờ ng
sƣờ n khoảng cách tính toán.
Không thỏa mãn Kiểm tra số li u đầu Thỏa mãn
Chọn lần lƣợ t từng đƣờng sƣờ n
Chọn cắt dọc giữa tại
trên hình chi ếu cạnh
hình chiếu đứng
Tìm tọa độ Yθ của từng đƣờ ng
Tính : ωi, Mωxoy từ tọa độ Y tìm
sƣờn tƣơng ứng vớ i từng đƣờ ng
đƣợ c
Xuất bản vẽ Bonjean trên ph ần
Xuất k ết quả ωi, Mωxoy ra file .txt trên ổ C
mềm AutoCAD
Hình 3.3: Sơ đồ thuật toán v ẽ đồ thị Bonjean
51
Với sơ đồ thuật toán nhƣ trên chúng tôi có chƣơng trình AutoLISP tƣơng ứng nhƣ sau: (defun lenhinh (/ DCL_ID) (setq DCL_ID (load_dialog "tinh bonjean.dcl")) (if (not (new_dialog "tinhbonjean" );;het ham if ;;len anh logo bonjean
DCL_ID)) (exit)
(start_image "logobonjean")
(slide_image 0 0 (dimx_tile "logobonjean") (dimy_tile "logobonjean") "logobonjean") (end_image) ;;len anh do thi bonjean
(start_image "hinh-bonjean")
(slide_image 0 0 (dimx_tile "hinh-bonjean") (dimy_tile "hinh-bonjean") "hinh bonjean1") (end_image) (set_tile "KC-tt" "10") (set_tile "TL-dt" "100") (set_tile "TL-mmt" "30") (setq Bmax 0
HZ 10
TL-S 100
TL-Msox 30)
;;;LAY SO LIEU VA KIEM TRA THONG SO DAU VAO (action_tile "Btt" "(setq Bmax (atof (get_tile \"Btt\"))) (if (= 1 $reason) (mode_tile \"Htt\" 2))") (action_tile "Htt" "(setq Hmax (atof (get_tile \"Htt\"))) (if (= 1 $reason) (mode_tile \"TL-dt\" 2))") (action_tile "TL-dt" "(setq TL-S (atof (get_tile \"TLdt\"))) (if (= 1 $reason) (mode_tile \"TL-mmt\" 2))") (action_tile "TL-mmt" "(setq TL-Msox (atof (get_tile \"TLmmt\"))) (if (= 1 $reason) (mode_tile \"HS\" 2))") (action_tile "HS" "(setq BL-KG (atof (get_tile \"HS\"))) (if (= 1 $reason) (mode_tile \"KC-S\" 2))") (action_tile "KC-S" "(setq KC-FRAME (atof (get_tile \"KCS\"))) (if (= 1 $reason) (mode_tile \"KC-tt\" 2))") (action_tile "KC-tt" "(setq HZ (atof (get_tile \"KC-tt\"))) (if (= 1 $reason) (mode_tile \"accept\" 2))");; (action_tile "accept" "(KIEMTRACACTHONGSO)") (action_tile "cancel" "(done_dialog 0)") (action_tile "help" "(huongdanbonjean)")
52
(setq KHOITAO (start_dialog))(unload_dialog DCL_ID)) (DEFUN KIEMTRACACTHONGSO () (IF (OR (= 0 Bmax) (= T (Minusp Bmax))) (progn (alert "Thong bao:
!") (mode_tile "Btt" 2)) (IF (OR (= 0 Hmax) (= T (Minusp Hmax))) (progn (alert "Thong bao: !") (mode_tile "Htt" 2)) (IF (OR (= 0 TL-S) (= T (Minusp TL-S))) (progn (alert "Thong bao: !") (mode_tile "TL-dt" 2)) (IF (OR (= 0 TL-Msox) (= T (Minusp TL-Msox))) (progn (alert "Thong bao: !") (mode_tile "TL-mmt" 2) ) (IF (OR (= 0 BL-KG) (= T (Minusp BL-KG))) (progn (alert "Thong bao: !") (mode_tile "HS" 2) ) (IF (OR (= 0 KC-FRAME) (= T (Minusp KC-FRAME))) (progn (alert "Thong bao: !") (mode_tile "KC-S" 2) ) (IF (OR (= 0 HZ) (= T (Minusp HZ))) (progn (alert "Thong bao: !") (mode_tile "KC-tt" 2) )(done_dialog 1));;het if );;het if);;het if);het if;;hetif);; het if;;het if); ;HET HAM KIEM TRA THONG SO NHAP VAO (DEFUN C:BONJEAN () (setvar "CMDECHO" 0) (IF (= 0 (GETVAR "WORLDUCS")) (progn (ALERT "!!!!. Thong bao: .\nHay chuyen HC D.Suon trung goc toa do (0, 0, 0)") (command "UCS" "World")) (progn
(LENHINH)
(IF (= KHOITAO 1)
53
(PROGN (TINHBONJEAN) (CLOSE FILEY)) ) )))
(setvar "OSMODE" 1)(close KQDT)
(defun TINHBONJEAN ()(command "_vscurrent" "R") ;;;INPUT DIMENSN OF BREAD, HEIGHT (CHIEU CAO CHIEU RONG TINH TOAN)(DONG-BL) (SETQ BL-CHEN (GETPOINT "\nNhap vi tri do thi bonjean")) <<<<<<<<<")) (IF (= MAUTREN "N")(PROGN(SETQ TT-FRAME NIL) (setq rong t TT-FRAME (LIST ))while rong (progn (setq p1 (getreal "\nNhap thu tu duong suon ly thuyet <0-n>:")) (if p1(progn (setq TT-FRAME (append TT-FRAME (LIST p1 ))) (setq rong t) (PRINC TT-FRAME))(setq rong nil))))) (PROGN (SETQ TT-FRAME NIL)(SETQ TT-FRAME (LIST 0 0.5 1 1.5 2 3 4 5 6 7 8 8.5 9 9.5 10)) ) ) (alert "Chon tat ca ca doi tuong, ngoai tru duong suon tren ban ve mat cat ngang") (princ "\nChoose(s) all object expect frame: ") (setq BUTTOCKS (ssget)) (COMMAND "_laymch" BUTTOCKS "" "N" "line expect frame" "") ;;;TURN OFF LAYER BUTTOCKS AND FRAME (command "layer" "of" "line expect frame" "") ;;gan ten layer theo thu tu 1 - n cho doi tuong section,frame,button,waterline (SETQ LISTFRAME (LIST) LISTWATERLINE (LIST) ENFRAME
(LIST) )
54
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ATTACH A NAME LAYER FOR FRAME,SECTION>>>>>>>>>>>>>>>>>>>>>>>>>>>> (setq rong tdanhsach (list)DANHSACHEN (LIST) (LIST) ) (setq i 1) (while rong (setq tenk i)
TENFRAME (progn
(setq CF (car (entsel "\nChoose a frame(s) <0-n>"))) (if CF(progn;;;gan ten layer CF "" "N"
(COMMAND "_laymch"
(strcat "FRAME" (rtos (NTH (- I 1) TT-FRAME) 2 2)))(SETQ DANHSACH (APPEND
LISTFRAME
(LIST
(CADR (GETPOINT "\nChoose point at origin frame")))) ) (SETQ LISTFRAME DANHSACH)(SETQ
DANHSACHEN
(APPEND ENFRAME (LIST CF))) (SETQ ENFRAME DANHSACHEN) (setq i (+ i 1)) (setq rong t);HET PROGN(progn (INITGET 1 "N A") (setq RES (getkword "\nFrame no choose. Next to/choose Again")) (if (= RES "N") (setq rong nil))(if (= RES "A") (setq rong t) )) ;;HET PROGN);het IF ) het PROGN (setq TOTALFRAME (- i 1)) (princ TOTALFRAME)) ;;TURN OFF FRAME
(SETQ i 1)
(setq tenk i) (while (<= i TOTALFRAME) (setq tenk i) (command "layer" "of") (command (strcat "FRAME" (rtos (NTH (- I 1) TT-FRAME) 2 2)) "") (SETQ i (+ i 1)) )
;HET FUNCTIONAL WHILE;HET FUNCTIONAL WHILE
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<(FINISH) TURN OFF ALL LAYER(FRAME,WATERLINE)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
55
;; INSERT BLOCK (SETVAR "OSMODE" 0) (command "color" 255 "") (command "insert" "LOC-7efc5908" BL-CHEN "" BL-KG "" "") (SETQ BL-CU (ENTLAST)) (COMMAND "EXPLODE" BL-CU) (command "TEXT" (LIST (CAR BL-CHEN) (- (CADR BL-CHEN) KCFRAME)) (* (/ Bmax Hmax) 150) "" (strcat "HE SO KEO GIAN CHIEU CAO: = " (rtos BL-KG 2 2))) (command "TEXT" (LIST (CAR BL-CHEN) (- (CADR BL-CHEN) KCFRAME (* (/ Bmax Hmax) 150 2))) (* (/ Bmax Hmax) 150) "" (strcat "TY LE DIEN TICH: = " (rtos TL-S 2 2) " CM2/MM2")) (command "TEXT" (LIST (CAR BL-CHEN) (- (CADR BL-CHEN) KCFRAME (* (/ Bmax Hmax) 150 4))) (* (/ Bmax Hmax) 150) "" (strcat "TY LE MOMEN TINH: = " (rtos TL-Msox 2 2) " DM3/MM3")) (SETQ I
1 TENTA-T HZ)
;
(setq TOADO-Y (list) TOADO-Z (LIST)) (command "LAYER" "N" "LINECALCULATOR" "") (setq pt1 (list (- (* (/ Bmax 2) -1000) 1000) 0 0) pt2 (list (+ (* (/ Bmax 2) 1000) 1000) 0 0) ) (command "color" 8 "") (COMMAND "LINE" pt1 pt2 "") (SETQ E1 (ENTLAST)) ;;GOI LENH VISUAL LISP ;;MO FILE CHUAN BI GHI (setq FILEY (open (STRCAT "D:\\" "Fie ket qua Y.txt") "a")) (setq KQDT (open (STRCAT "C:\\" "KET QUA DIEN TICH.txt") "a"))
56
(write-line (strcat "\n" "\t" "Ket qua dien tich cm2" "\n" "\t") KQDT) ;;BAT DAU VONG LAP WHILE 1 (WHILE (<= I TOTALFRAME) (command "layer" "on" (strcat "FRAME" (rtos (NTH (- I 1) TT-FRAME) 2 2)) "") ;;GHI TEN SUON RA FILE (write-line (strcat "FRAME" (rtos (NTH (- I 1) TT-FRAME) 2 2)) FILEY) (write-line (strcat "\n" "FRAME" (rtos (NTH (- I 1) TTFRAME) 2 2) "\n") KQDT) (setq e2 (nth (- i 1) ENFRAME)) (VL-LOAD-COM) ;;het setq ;;BAT DAU VONG LAP WHILE2 (while (<= hz (* Hmax 1000)) (setq ob1 (vlax-ename->vla-object e1) ob2 (vlax-ename->vla-object e2))
(setq g (vlax-variant-value (vla-IntersectWith ob1 ob2 acExtendNone))) (if (= (vlax-safearray-get-u-bound g 1) -1) ;;NEU KHONG GIAO NHAU THI TIEP TUC TANG CAO DO (PROGN (command "erase" e1 "") (setq
pt1 (list (- (* (/ Bmax 2) -1000) 1000) hz 0)
pt2 (list (+ (* (/ Bmax 2) 1000) 1000) hz 0) ) (COMMAND "LINE" pt1 pt2 "")
57
(setq hz (+ hz TENTA-T)) (princ hz) (SETQ E1 (ENTLAST)));;HET PROGN ;;NEU GIAO NHAU THI DOI KIEU MANG SAFEARRY SANG LIST ;;PROGN
(PROGN (command "erase" e1 "") (setq GD (vlax-safearray->list g)) (WRITE-LINE (RTOS (ABS (CAR GD)) 2 2)
ILEY) (SETQ TOADO-Y (APPEND TOADO-Y (LIST (ABS (CAR GD))))) (SETQ TOADO-Z (APPEND TOADO-Z (LIST ABS (CADR GD))))) (setq
pt1 (list (- (* (/ Bmax 2) pt2 (list (+ (* (/
1000) 1000) hz 0) Bmax 2) 1000) 1000) hz 0) )
(COMMAND "LINE" pt1 pt2 "") (setq hz (+ hz TENTA-T)) (SETQ E1 (ENTLAST)) (princ hz) );HET PROGN ) ;;HET IF
);;HET WHILE2
(SETQ VT-Z (CAR TOADO-Z))
3.2.2. Giải thuật tính toán và vẽ đồ thị thủy tĩnh Nhƣ chúng tôi đã trình bày, đồ thị thủy tĩnh thể hiện các thông số tính nổi của con tàu ở tr ạng thái cân bằng hay trên nƣớc tĩnh. Nhƣ vậ y, để xây dựng sơ đồ thuật toán chƣơng trình để cho ra k ết quả tính chính xác, chúng tôi s ử dụng phƣơng pháp affine để xây dựng
sơ đồ thuật toán chƣơng trình Dựa trên cơ sở đó, chúng tôi có sơ đồ thuật toán sau: 58
BẮT ĐẦU
Tự động nhận số liệu đầu vào
Nhậ p tỷ lệ đƣờ ng cong
(loại tàu, L,B,H,T) từ modun vẽ
(S,V, x f , z c , xc..)
đƣờ ng hình
Không thỏa mãn Kiểm tra các thông số đầu vào
Thỏa mãn Tính các hệ số
Tính các thông s ố tính nổi tàu thiết k ế (S,V, x f , z c , xc..)
Vẽ đồ thị thủy tĩnh trên AutoCAD
Xuất k ết quả ra file .txt trên
Xuất bảng k ết quả trên nền AutoCAD
K ẾT THÚC
ổ C Hình 3.4: Sơ đồ thuật toán v ẽ đồ thị thủy tĩnh
59
Thông qua k ết qu ả tính đã đƣợ c tính trên ph ần m ềm Autohydro cho các m ẫu tàu khảo sát, chúng tôi s ẽ s ử d ụng những k ết qu ả này để làm cơ sở dữ li ệu cho chƣơng trình. Nhƣ vậy, với sơ đồ thuật toán đƣợ c xây dựng dựa trên phƣơng pháp affine chúng tôi có nh ững giải thuật sau:
Dựa trên k ết quả (L, B, H, T) đã có từ modun vẽ đƣờ ng hình, phần mềm sẽ tự nhận các k ết quả đó và sử dụng nó nhƣ một dữ liệu đầu vào. Vì thế, ngƣờ i sử dụng không phải nhậ p lại kích thƣớ c tàu thi ết k ế, việc trao đổi dữ liệu giữa modun vẽ đƣờ ng hình và modun v ẽ đồ th ị th ủy tĩnh này sẽ rút ngắn th ờ i gian sử dụng và tăng sự linh hoạt của phần mềm. Ngoài ra, còn trá nh đƣợ c những sự xót số liệu đầu vào khi nguờ i dùng nhậ p các thông số đầu vào cho chƣơng trình
Tỷ lệ đƣờ ng cong của các thông s ố tính nổi s ẽ đƣợ c phần mềm tự động tính toán và gắn các giá tr ị mặc định này lên hộ p tho ại chƣơng trình . Ngƣờ i s ử dụng cũng có thể thay đổi các giá tr ị này và các giá tr ị này buộc ph ải là các s ố th ực dƣơng và phù hợ p vớ i mối quan hệ bản vẽ, ngƣợ c lại phần mềm sẽ thông báo các thông số đầu vào không phù h ợ p
Khi có đủ các thông s ố đầu vào, phần mềm sẽ tự động tính các thông s ố tính nổi của tàu thiết k ế bằng cách nhân các h ệ số kích thƣớ c dx, dy, dz v ớ i thông số tính nổi của tàu mẫu có trong cơ sở dữ liệu của phần mềm
Phần mềm cho phép ngƣờ i dùng xuất đồ thị thủy tĩnh kèm theo bả ng thông số tính nổi ra vùng đồ họa c ủa ph ần mềm AutoCAD. Ngoài ra, chúng tôi cung c ấ p
thêm tính năng xuấ t file k ết qu ả ra file .txt, file k ết qu ả này sẽ đƣợ c t ự động lƣu trên ổ C, tên file này đƣợc ngƣờ i dùng nhậ p trên hộ p thoại.
Dƣới đây là đoạ n code của chƣơng trình đƣợ c viết trên ngôn ngữ AutoLISP :
60
;;VE S (COMMAND "COLOR" 2) (SETQ I 0 K (LENGTH TTCV-SM)) (SETQ TTCV-TOADO-Y (* I KCDN)) (SETQ TTCV-TOADO-X (/ (NTH I TTCV-S) TTCV-tlstk)) (SETQ P1 (LIST TTCV-TOADO-X TTCV-TOADO-Y)) (COMMAND "SPLINE" P1) (SETQ I (+ 1 I)) (WHILE (<= I (- K 1)) (SETQ TTCV-TOADO-Y (* I KCDN)) (SETQ TTCV-TOADO-X
(/ (NTH I TTCV-S) TTCV-tlstk))
(SETQ P1 (LIST TTCV-TOADO-X TTCV-TOADO-Y)) (COMMAND P1)
(SETQ I (+ 1 I)) );;het while (COMMAND "" "" "")
(command "TEXT" P1 150 "" "S") ;;VE DUONG CONG THE TICh (COMMAND "COLOR" 3) (SETQ I 0 (LENGTH TTCV-VM)) (SETQ TTCV-TOADO-Y (* I KCDN)) (SETQ TTCV-TOADO-X (/ (NTH I TTCV-V) TTCV-tlvtk)) (SETQ P1 (LIST TTCV-TOADO-X TTCVTOADO-Y))(COMMAND P1) (SETQ I (+ 1 I)) );;het while (COMMAND "" "" "") (command "TEXT" P1 150 "" "V");;VE DUONG CONG LUONG NUOC CHIEM (COMMAND "COLOR" 4) (SETQ I 0
K (LENGTH TTCV-VM))
(SETQ TTCV-TOADO-Y (* I KCDN)) (/ (NTH I TTCV-V) TTCV-tldtk))) TTCV-TOADO-Y))(COMMAND "SPLINE" P1) (WHILE (<= I (- K TTCV-TOADO-X (* 1.025 P1 (LIST TTCV-TOADO-X I)) );;het while car p1)) (+ 250 (cadr
(SETQ TTCV-TOADO-X (* 1.025 (SETQ P1 (LIST TTCV-TOADO-X (SETQ I (+ 1 I))
1))(SETQ TTCV-TOADO-Y (* I KCDN)) (SETQ (/ (NTH I TTCV-V) TTCV-tldtk))) (SETQ TTCV-TOADO-Y))(COMMAND P1) (SETQ I (+ 1 (COMMAND "" "" "") (setq p2 (list (+ 250 p1)))) (command "line" P1 p2 "")(command
61
"TEXT" P2 150 "" "D");;TAO UCS MOI DE VE Xc,Zc,Xf.... (LIST (* dx-TTCV 4000) 0)) (COMMAND "UCS" "N" P1)
(SETQ P1
;;VE DUONG DANG TY LE (command "color" 7) ;;;;;HET (SETQ P-TTCV (LIST (CAR P1) (- (CADR P1) 500))) (SETQ TEXT (STRCAT "Zc : " (RTOS TTCV-tlzctk 2 3) " m = 1 mm" )) (command "TEXT" P-TTCV 100 "" TEXT) ;;;;;;;HET (SETQ P-TTCV (LIST (CAR P1) (- (CADR P1) 700))) (STRCAT "Cb : " (RTOS TTCV-tlcbtk 2 3) " = 1 mm" )) (command "TEXT" P-TTCV 100 "" TEXT) P-TTCV (LIST (CAR P1) (- (CADR P1) 900)))
(SETQ TEXT
;;;; ;;;;;;;HET
(SETQ TEXT (STRCAT "Cm : " (RTOS TTCV-tlcmtk 2 3) " mm" )) (command "TEXT" P-TTCV 100 "" TEXT)
(SETQ = 1
;;;;;;;HET
(SETQ P-TTCV (LIST (CAR P1) (- (CADR P1) 1100))) (SETQ TEXT (STRCAT "Cw : " (RTOS TTCV-tlcwtk 2 3) " = 1 mm" )) (command "TEXT" P-TTCV 100 "" TEXT) ;;;;;;;HET (SETQ P-TTCV (LIST (CAR P1) (- (CADR P1) 1300))) (SETQ TEXT (STRCAT "R : " (RTOS TTCVtlrtk 2 3) " m = 1 mm" )) (command "TEXT" P-TTCV 100 "" TEXT) ;;VE DUONG MUI TEN (command "color" 7) (SETQ P1 (LIST 0 0) P2 (LIST 0 (* 5.5 KCDN) )) (COMMAND "LINE" P1 P2 "") (SETQ P3 (LIST 0 (+ (* 5.5 KCDN) 300))) (COMMAND "PLINE" P2 "W" (* dz-TTCV 100) 0 P3 "") (command "TEXT" P3 150 "" "(mm)") (SETQ P4 (LIST (CAR P3) (+ (CADR P3) (* dz-TTCV 500)))) (command "TEXT" P4 300 "" "TAU LUOI KEO-HYDROSTATIC CURVE") ;;VE Xc (Y))(COMMAND "SPLINE" P1) (SETQ I (+ K 1)) (SETQ TTCV-TOADO-Y (* I KCDN)) (NTH I TTCV-Xc) TTCV-tlxctk)) (SETQ TTCV-TOADO-Y))(COMMAND P1) (SETQ I (+ (COMMAND "" "" "") (command "TEXT" P1 150 "" "Xc") (COMMAND "COLOR" 6)
(SETQ I 0
1 I)) (WHILE (<= I ((SETQ TTCV-TOADO-X (/ P1 (LIST TTCV-TOADO-X 1 I)) );;het while
;;VE Xf K (LENGTH TTCV-Xf))
(SETQ TTCV-TOADO-Y (* I KCDN)) (SETQ TTCV-TOADO-X (/ (NTH I TTCV-Xf) TTCV-tlxftk)) (SETQ P1 (LIST TTCV-TOADO-X TTCV-TOADO-Y)) (COMMAND "SPLINE" P1) (WHILE (<= I (- K 1)) (SETQ TTCV-TOADO-Y (* I KCDN))
62
(SETQ TTCV-TOADO-X (/ (NTH I TTCV-Xf) TTCV-tlxftk)) (SETQ P1 (LIST TTCV-TOADO-X TTCV-TOADO-Y)) (SETQ I (+ 1 I)) );;het while
(COMMAND "" "" "")
(command "TEXT" P1 150 "" "Xf")
3.2.3. Giải thuật vẽ đồ thị pantokaren Họ đƣờ ng cong Pantokaren (Cross Curves) đƣợc dùng để xác định L(hd) t ại từng góc nghiêng khác nhau tƣơng ứ ng vớ i Vconst nhƣ vậy r ất thuận tiện cho xác định L(hp) khi đã biết Zg dựa theo công th ức L(hp) = L(hd) – Zg.sinθ. Trên thực tế hiện nay có r ất nhiều
phƣơng pháp xây dựng họ đƣờng cong Pantokaren. Trong đề tài này chúng tôi s ử dụng phƣơng pháp affine để xây dựng sơ đồ thuật toán chƣơng trình Sơ đồ thuật toán : Tự động nhận số liệu đầu vào (loại tàu, L,B,H,T) từ modun
BẮT ĐẦU
vẽ đƣờ ng hình
Tính các h ệ số
Tính L(hd) tàu thi ết k ế tại từng góc nghiêng
Vẽ đồ thị pantokaren
Xuất k ết quả
Hình 3.5: Sơ đồ thuật toán chương trình vẽ đồ thị Pantkaren
63
K ẾT THÚC
Nhƣ đã trình bày ở trên, vớ i mỗi góc nghiêng θ t ại t ừng đƣờng nƣớ c khác nhau ta l ại có một L(hd) và tậ p hợp các L(hd) đó chúng ta xây dựng đƣợc đồ thị Pantokaren. Nhƣ vậy để thực hiện phƣơng pháp affine trong việ c toán và v ẽ đồ thị Pantokaren không hề
đơn giản đặc biệt là quá trình xây d ựng cơ sở dữ liệu cho chƣơng trình đã đƣợ c chúng tôi trình bày trong (mục 4.3) và xây dựng thuật toán chƣơng trình vẽ đồ th ị pantokaren. Các giải quyết vấn đề trên cụ thể nhƣ sau: - Để xây dựng cơ sở dữ liệu cho chƣơng trình chúng tôi sử dụng phƣơng pháp Krylov – Dargniers để tính Zcθ, Ycθ tại từng góc nghiêng khác nhau tƣơng ứng vớ i từng đƣờng nƣớ c khác nhau. Vì các giá tr ị Zcθ, Ycθ là các thông s ố tính nổi của tàu nên việc afine các giá tr ị này đƣợ c thực hiện bằng cách nhân các giá tr ị trên v ớ i các hệ số kích thƣớc. Nhƣ vậ y k hi có đƣợ c các giá tr ị tính Zcθ, Ycθ đƣợ c tính từ
phƣơng pháp Krylov – Dargniers chúng tôi ti ến hành affine các giá tr ị này dựa theo công thức sau: zcθtk
=
H tk zcθm Hm
ycθtk
=
B tk Bm
ycθm
- Xây dựng thuật toán affine cho đồ thị Pantokaren đƣợ c chúng tôi xây dựng dựa theo công thức tính cánh tay đòn hình dáng L (hd)θ = zcθtk .sinθ + ycθtk cosθ, nhận thấy r ằng công thức trên phụ thuộc vào 2 giá tr ị Zcθ và Ycθ nên từ đó chúng tôi tính L(hd) c ủa tàu thiết k ế dựa trên L(hd) của tàu mẫu dựa theo công thức sau: H B L(hd)θtk = zcθtk .sinθ + ycθtk cosθ = tk .zcm . sin tk .ycm . cos Hm Bm
Dựa trên công thức đã trình bày, chúng tôi ti ến hành xây dựng sơ đồ thuật toán (hình 3.5) tƣơng ứng với sơ đồ thuật toán đó chúng tôi có đoạn chƣơng trình AutoLISP nhƣ sau: 64
;;GIA TRI SIN COS (SETQ
COS_ANGLE
(LIST
0.984807753
0.939692621
0.866025404
0.766044443 0.64278761 0.5 0.342020143 0.173648178 6.12574E-17) SIN_ANGLE (LIST 0.173648178 0.342020143 0.5
0.64278761
0.766044443 0.866025404
1))
0.939692621 0.984807753
;; TINH TAY DON HIH DANG TAI VI TRI 10 DO CHO TAU THIET KE ;; CONG THUC TONG QUA (SETQ L10 (LIST ) 10)I 0)
;;HAM LAP
K (LENGTH ZC-PANTO-
(WHILE (<= I (- K 1))
(SETQ KQ-PANTO (+ (* (NTH 0 COS_ANGLE) (* dy-PANTO (NTH I YCPANTO-10))) (* (NTH 0 SIN_ANGLE) (* dz-PANTO (NTH I ZC-PANTO10))) ))(setq I (+ I 1)) PANTO)))
(SETQ L10 (APPEND L10 (LIST KQ-
(PRINC L10)
);;HET HAM LAP DO CHO TAU THIET KE
;;
;; TINH TAY DON HIH DANG TAI VI TRI 20
;; CONG THUC TONG QUA
(SETQ L20 (LIST ) K (LENGTH ZC-PANTO-20)
I 0)
;;HAM LAP (WHILE (<= I (- K 1)) (SETQ KQ-PANTO (+ (* (NTH 1 COS_ANGLE) (* dy-PANTO (NTH I YCPANTO-20))) (* (NTH 1 SIN_ANGLE) (* dz-PANTO (NTH I ZC-PANTO20))) )) (setq I (+ I 1))
65
(SETQ L20 (APPEND L20 (LIST KQ-PANTO))) (PRINC L20) );;HET HAM LAP ;; TINH TAY DON HIH DANG TAI VI TRI 30 DO CHO TAU THIET KE ;; CONG THUC TONG QUA (SETQ L30 (LIST )
K (LENGTH ZC-PANTO-30)
I 0)
;;HAM LAP (WHILE (<= I (- K 1)) (SETQ KQ-PANTO (+ (* (NTH 2 COS_ANGLE) (* dy-PANTO (NTH I YCPANTO-30))) (* (NTH 2 SIN_ANGLE) (* dz-PANTO (NTH I ZC-PANTO30))) ))(setq I (+ I 1)) (SETQ L30 (APPEND L30 (LIST KQ-PANTO))) (PRINC L30) );;HET HAM LAP;; TINH TAY DON HIH DANG TAI VI TRI 40 DO CHO TAU THIET KE ;; CONG THUC TONG QUA (SETQ L40 (LIST ) K (LENGTH ZC-PANTO-40)I 0) ;;HAM LAP (WHILE (<= I (- K 1))
66
(SETQ KQ-PANTO (+ (* (NTH 3 COS_ANGLE) (* dy-PANTO (NTH I YCPANTO-40))) (* (NTH 3 SIN_ANGLE) (* dz-PANTO (NTH I ZC-PANTO40))) ))(setq I (+ I 1)) (SETQ L40 (APPEND L40 (LIST KQ-PANTO)))
3.2.4. Giải thuật vẽ đồ thị ổn định Sơ đồ thuật toán chƣơng trình
BẮT ĐẦU
Nội suy L(hd) từ đồ thị
Nhậ p P(tấn), Zg(m) hoặc tính
P(tấn),
Zg(m)
Pantokaren dựa trên giá tr ị
từ
P(tấn)
modun tính tr ọng tâm
Tính Lsta = L(hd) –
Nhậ p L(hd) từ file
Zg.sinθ
.”txt”
Xuất k ết quả ra file
Vẽ đồ thị, và tính giá
“C:\\KET QUA TINH ON
tr ị h0
DINH.TXT” Hình 3. 6 : Sơ đồ thuật toán v ẽ đồ thị ổn định
67
3.2.4.1. Gi ải thu ật tính
cánh tay đòn trọng lượ ng
Nhƣ đã trình bày, cánh tay đòn trọng lƣợ ng đƣợ c tính dựa theo công th ức L(tl) = Zg.sinθ. Từ đó để có giá tr ị đầu vào cho chƣơng trình là Z g chúng tôi xây dựng modun
“tính trọng tâm, tr ọng lƣợng” dựa trên các giá tr ị tr ọng tâm, tr ọng lƣợ ng thành phần c ủa tàu. Modun này cho phép ch ạy tr ực tiế p trên modun ”vẽ đồ thị ổn định” và trao đổi dữ liệu giữa 2 modun thông qua các hàm, l ệnh trung gian. - Thuật toán đƣợ c sử dụng trong modun “tính tr ọng tâm, tr ọng lƣợng” đƣợ c xây dựng dựa theo công thức sau: Ptoàn tàu =
P
i
n
Zg =
P .z i
gi
0
n
P
i
0
Nhƣ vậy khi sử dụng modun này, ngƣờ i sử dụng sẽ phải nh ậ p lần lƣợ t từng giá tr ị Pi, z gi thành phần, t ừ đó phần m ềm s ẽ sử dụng các số li ệu này để tính toán và thông báo k ết qu ả trên hộ p thoại chƣơng trình . Vớ i các l ần nhậ p số li ệu đầu vào tiế p theo modun này sẽ tự động tính toán và cậ p nhậ p lại k ết quả trên màn hình
Thông qua việc trao đổi dữ liệu giữa 2 modun trên, giá tr ị Zg sẽ đƣợ c truyền đến
modun “vẽ đồ thị ổn định” và t ừ đó giá trị Zg sẽ đƣợ c sử dụng để tính cánh tay đòn trọ ng lƣợ ng dựa theo công th ức: L(tl) = Zg.sinθ Ngoài ra khi đã có các giá tr ị Zg, P ngƣờ i dùng có th ể nhậ p tr ực tiế p các giá tr ị này ngay trong hộ p thoại của chƣơng trình vẽ đồ thị ổn định và các giá tr ị này sẽ đƣợ c sử dụng để tính cánh tay đòn trọng lƣợ ng tại từng góc nghiêng khác nhau
Dƣới đây là đoạ n code tính L(tl):
68
(SETQ SIN_PANTO (LIST 0.173648178 0.342020143 0.64278761
0.766044443
0.866025404
0.5
0.939692621
0.9848077531)) ;;; VE CONG THUC zG.SIN (SETQ K (LENGTH SIN_PANTO) I 0 ZGSIN (LIST )) (WHILE (<= I (- K 1)) (SETQ KKKO (* Zg-dtod1 (NTH I SIN_PANTO))) (SETQ ZGSIN (APPEND ZGSIN (LIST KKKO))) (SETQ I (+ I 1)) );;HET WHILE
Đoạn code của modun tính tr ọng lƣợ ng, tr ọng tâm (defun TINH-TRONGTAM (/ DCL_ID) (setq DCL_ID (load_dialog "TRONGTAM.dcl")) (if (not (new_dialog "HTTRONGTAM" DCL_ID)) (exit) );;het ham if (SETQ TT-NHAP 1) (action_tile "NHAP-TEN" "(setq TEN-TLTP (get_tile \"NHAPTEN\")) (if (= 1 $reason) (mode_tile \"NHAP-P\" 2))") (action_tile "NHAP-P" "(setq TLTP (atof (get_tile \"NHAPP\"))) (if (= 1 $reason) (mode_tile \"NHAP-ZG\" 2))") (action_tile "NHAP-ZG" "(setq ZgTP (ATOF (get_tile \"NHAPZG\"))) (if (= 1 $reason) (mode_tile \"NHAP-TT\" 2))") (action_tile "NHAP-TT" "(SETQ TT-NHAP (+ TT-NHAP 1)) (TINHTL-TT) (if (= 1 $reason) (mode_tile \"NHAP-TEN\" 2))") (ACTION_TILE "NHAP_TROVE" "(DONE_DIALOG 1) (INPUT-LOC)") (ACTION_TILE "XUAT_KET_QUA_TINHTRONGTAM" "(KET_QUA_TINHTRONGTAM)") (setq MO-HT-TINH-TRONGLUONG (start_dialog)) (unload_dialog DCL_ID) (SETQ ZgTP NIL TLTP NIL TEN-TLTP NIL)) (DEFUN TINH-TL-TT ()
69
;;kiem tra cac thong so dau vao (IF (OR (= 0 TLTP ) (= T (Minusp TLTP))) (PROGN(alert "Thong bao: !") ) (IF (OR (= 0 ZgTP ) (= T (Minusp ZgTP))) (alert "Thong bao: !") (progn (START_LIST "TL_TEN" 2) (ADD_LIST TEN-TLTP) (END_LIST);;; (START_LIST "TL_P" 2) (ADD_LIST (RTOS TLTP 2 2)) (END_LIST);;; (START_LIST "TL_Zg" 2) (ADD_LIST (RTOS ZgTP 2 2)) (END_LIST);;; (TINHTRONGTAM) ;;TINH KET QUA );;het progn );;het if)) ;;;BAT DAU TINH (DEFUN TINHTRONGTAM() (IF (= 2 TT-NHAP) (PROGN (SETQ tentp (LIST) filep (list) fileZg (list) fileMMT1 (list)) (SETQ MMT1 (* TLTP ZgTP) text (STRCAT "KET QUA" "\t" " P = " (RTOS TLTP 2 2)" tan" "\t" " Zg = " (RTOS ZgTP 2 2) " m")) (SET_TILE "IN_KetQUA_TRONGTAM" text) (SETQ tentp (APPEND tentp (LIST TEN-TLTP)) filep (APPEND filep (LIST (RTOS TLTP 2 2))) fileZg (APPEND fileZg (LIST (RTOS ZgTP 2 2))) fileMMT1 (APPEND fileMMT1 (LIST (RTOS (* TLTP ZgTP) 2 2))) TONGP TLTP );;HET PROGN (progn (SETQ TONGP (+ TONGP TLTP) MMT1 (+ MMT1 (* TLTP ZgTP))) ;;TINH TRONG TAM MOI (SETQ zGM (/ MMT1 TONGP)) (SETQ text (STRCAT "KET QUA" "\t" " P = " (RTOS TONGP 2 2)" tan" "\t" " Zg = " (RTOS zGM 2 2) " m")) (set_tile "P-dtod" (RTOS TONGP 2 2)) (set_tile "Zgdtod" (RTOS zGM 2 2)) (SET_TILE "IN_KetQUA_TRONGTAM" text)
70
(SETQ tentp (APPEND tentp (LIST TEN-TLTP)) filep (APPEND filep (LIST (RTOS TLTP 2 2))) fileZg (APPEND fileZg (LIST (RTOS ZgTP 2 2))) fileMMT1 (APPEND fileMMT1 (LIST (RTOS (* TLTP ZgTP) 2 2))));;HET IF );;HET PROGN) )(DEFUN KET_QUA_TINHTRONGTAM () (setq DCL_ID (load_dialog "XUATFILE.dcl")) (if (not (new_dialog "XUATFILE" DCL_ID)) (exit) );;het ham if (action_tile "ten_xuat" "(setq TENFILE (get_tile \"ten_xuat\")) (if (= 1 $reason) (mode_tile \"xuatfiletxt\" 2))") (ACTION_TILE "huy_xuat" "(DONE_DIALOG 0)") (ACTION_TILE "xuatfiletxt" "(DONE_DIALOG 1)") (setq xuattxt (start_dialog)) (unload_dialog DCL_ID) (if (AND (= xuattxt 1) (>= TT-NHAP 2)) (IN_KETQUA) (ALERT "Du lieu chua duoc nhap")) ) (defun IN_KETQUA () (setq TODAY (rtos (getvar "CDATE") 2 0)) (setq IN (open (STRCAT "C:\\" TENFILE ".txt") "a" )) (SETQ TT-PTTT (STRCAT "\n" "TONG TRONG LUONG TAU: P = " (RTOS TONGP 2 2) " tan" "\n" "\n" "TRONG TAM TAU: Zg = " (RTOS zGM 2 2) "m" "\n")) (write-line TT-PTTT IN) (SETQ YEAR (SUBSTR TODAY 1 4) MONTH (SUBSTR TODAY 5 2) DAY (SUBSTR TODAY 7 2)) (SETQ NGAY_THIET_KE (STRCAT "Ngay thiet ke: " DAY " - " MONTH " - " YEAR )) (write-line NGAY_THIET_KE IN) (setq TIEU_DE (STRCAT "\n""P(tan)" "\t" "\t""\t" "Zg(m)" "\t" "\t" "\t" "Mz" "\t" "\t" "\t" "TEN CAC TRONG LUONG THANH PHAN ")) (write-line TIEU_DE IN) (setq K (length filep) I 0) (while (<= I (- k 1)) (setq TIEU_DE1 (STRCAT "\n" (nth I filep) "\t" "\t" "\t" (nth I fileZg) "\t" "\t" "\t"(nth I fileMMT1) "\t""\t" "\t" (nth i tentp))) (write-line TIEU_DE1 IN) (SETQ I (+ I 1)) );;het while
71
(SETQ TT-PTTT (STRCAT "\n" "TONG TRONG LUONG TAU: P = " (RTOS TONGP 2 2) " tan" "\n" "\n" "TRONG TAM TAU: Zg = " (RTOS zGM 2 2) )) (write-line TT-PTTT IN) (SETQ YEAR (SUBSTR TODAY 1 4) MONTH (SUBSTR TODAY 5 2) DAY (SUBSTR TODAY 7 2)) (SETQ NGAY_THIET_KE (STRCAT "\n" "Ngay thiet ke: " DAY " - " MONTH " - " YEAR )) (write-line NGAY_THIET_KE IN) (close IN))
3.2.4.2 Gi ải thuật tính tay đòn hình dáng a. N ội suy cánh tay đòn hình dáng từ đồ thị Pantokaren
Dựa trên cơ sở đã có đồ thị Pantokaren, chúng tôi xây d ựng thuật toán nội suy L(hd) từ dạng đồ thị này. Để nội suy đƣợc cánh tay đòn hình dáng trƣớ c tiên cần phải tính đƣợ c thể tích tàu t ừ các trƣờ ng hợ p t ải tr ọng. K hi đó phần mềm sẽ s ử dụng thể tích tàu đã tính
đƣợ c để nội suy cánh tay đòn hình dáng tạ i từng góc nghiêng khác nhau nh ờ vào việc tìm giao điểm giữa đƣờ ng thể tích tàu đang xét với các đƣờng cong tay đòn hình dáng trên đồ thị Pantokaren. T ừ các giao điểm đó sẽ cho đƣợ c giá tr ị cánh tay đòn hình dáng tạ i các góc nghiêng khác nhau. Việc nội suy này cho phép ngƣời dùng nhanh chóng xác đị nh
đƣợc cánh tay đòn hình dáng tạ i bất k ỳ tr ọng lƣợng nào mà ngƣờ i dùng nhậ p vào Nhƣ vậy vớ i vấn đề đã nêu trên, chúng tôi có những giải thuật sau:
Dựa trên mối quan hệ cân bằng về tr ọng lƣợng P và lƣợ ng chiếm nƣớ c D phần mềm sẽ lấy giá tr ị P mà ngƣời dùng đã nhậ p vào hay k ết quả của modun “tính tr ọng lƣợ ng tr ọng tâm” để tính thể tích tàu dựa theo công th ức V = =
Để tìm đƣợc giao điể m giữa đƣờ ng thể tích và các đƣờng cong cánh tay đòn hình dáng tại từng góc nghiêng khác nhau, ph ần mềm sẽ yêu cầu ngƣờ i dùng chọn lần lƣợt đƣờng cong cánh tay đòn hình dáng tại từng góc nghiêng khác nhau t ừ L(10) – L(90). Vớ i mỗi lần chọn nhƣ vậy phần mềm sẽ tự động ghi lại các “Entity name” của đƣờng cong cánh tay đòn hình dáng có trong bảng mô tả các mã DXF của đối tƣợ ng đó. Việc ghi lại các “Entity name” này sẽ đƣợ c s ử d ụng 72
để tìm giao điể m giữa đƣờ ng cong hình dáng t ại các góc nghiêng khác nhau v ớ i 1 đƣờ ng thẳng đƣợ c k ẻ tại đúng vị trí V vừa tìm đƣợ c
Thuật toán đƣợ c sử dụng để tìm giao điểm đƣợ c chúng tôi xây d ựng dựa trên ngôn ngữ mở r ộng của Visual LISP, để thực hiện đƣợ c ngôn ngữ mở r ộng này cần phải chuyển tên đối tƣợ ng ở dạng “Entity name” của các mã DXF sang d ạng thuộc tính VLX hay VL…nhƣ vậ y ngôn ngữ m ở r ộng mớ i có thể hi ểu đƣợc đối tƣợng và điều khiển đối tƣợ ng này
Vớ i giải thuật nhƣ trên chúng tôi có đoạn code chƣơng trình tƣơng ứ ng: ;;;==================================================tinh tay don hinh dang tu do pantokaren=======================================
canh thi
(defun TINH-LHD-LOC () (command "UCS" "World") (setvar "osmode" 511) (setq pt-od (getpoint "\n Chon diem goc toa do cua do thi pantokaren: ") pt-od1 (getpoint "\n Chon diem cao nhat cua truc L(hd): ") kt t) (while (= t kt) (setq TLL-ONDINH (GETREAL "\n Nhap ty le L(hd) cua do thi pantokaren (mm/m): ")) (if (< 0 TLL-ONDINH) (progn (setq kt 1)) (setq kt t));;het if );;het lap (SETQ kt t) (while (= t kt) (setq TLV-ONDINH (GETREAL "\n Nhap ty le V cua do thi pantokaren (mm/m3): ")) (if (< 0 TLV-ONDINH) (progn (setq kt 1)) (setq kt t) );;het if
);;het lap
73
;;thiet lap chon LAN LUOT TUNG DUONG (SETQ RONG T DANHSACHL (LIST )I 0) (WHILE (= RONG T) (SETQ CF (CAR (ENTSEL "\nChon lan luot cac duong L(10) L(90): "))) ;;BAT DAU IF (IF CF (PROGN (SETQ
DANHSACHL
(APPEND
DANHSACHL
(LIST
CF))) (SETQ I (+ I 1)) (SETQ NOFFILYCATION (STRCAT "\nBan da chon thanh cong tay don L(" (rtos i 2 0) "0)")) (princ NOFFILYCATION) (setq RONG T)) (progn (INITGET 1 "C K") (setq
RES
(getkword "\nKhong co doi tuong duoc chon/Chon lai/Ket thuc: " ) ) (if (= RES "K") (setq rong nil) ) (if (= RES "C")
(setq rong t) ))
;;HET PROGN );;HET IF ); Het CHON LAN LUOT CAC DUONG ;;TIM GIAO DIEM ;;TINH TUNH DO GIUA VAO THE TICH CHIEM NUOC (SETQ V-CHIEMNUOC (/ P-dtod1 1.025)) ;;TINH TOA DO X (SETQ KHOANGCACH-X (* V-CHIEMNUOC TLV-ONDINH)) ;TINH KHOANG CACH
74
(SETQ KC-Y (- (CADR pt-od1) (CADR pt-od))) ;;VE DUONG LINE (SETQ PT0-OD (LIST (+ (car pt-od) KHOANGCACH-X)(CADR pt-od)) PT1-OD (LIST (+ (car pt-od) KHOANGCACH-X) (CADR pt-od1))) (setvar "osmode" 0) (command "line" PT0-OD PT1-OD "") ;;LAY BIEN DUONG THANG (SETQ e1 (ENTLAST)) ;;VONG LAP TIM GIAO DIEM (SETQ K (LENGTH DANHSACHL)I 0
DANHSACHTOADO (LIST ))
;;BAT DAU VONG LAP (WHILE (<= I (- K 1)) (SETQ e2 (NTH I DANHSACHL)) (VL-LOAD-COM) (setq ob1 (vlax-ename->vla-object e1) ob2 (vlax-ename->vla-object e2)) (setq g (vlax-variant-value (vla-IntersectWith ob1 ob2 acExtendNone))) (if (= (vlax-safearray-get-u-bound g 1) -1) (progn (alert "Thong bao: Chuong trinh khong the thuc hien duoc Goi y: P(tan) nhap vao qua lon") (SETQ I (+ K 1) HONG 123456789)) (progn (SETQ
(setq GD (vlax-safearray->list g)) DANHSACHTOADO
(APPEND
DANHSACHTOADO
GD)))) (SETQ I (+ I 1) HONG 2) )) );;HET VONG LAP (PRINC DANHSACHTOADO)
75
(LIST
(CADR
;;XOA DUONG THANG (COMMAND "ERASE" E1 "") (setvar "osmode" 511) ;;TINH CAC CAO DO DE NOI SUY RA L(hd) (SETQ Y-CHUAN (CADR pt-od)) (SETQ I 0
K (LENGTH DANHSACHTOADO) KC-LHD-ONDINH (LIST ))
;;BAT DAU VONG LAP (WHILE (<= I (- K 1)) (SETQ Y-LHD (- (NTH I DANHSACHTOADO) Y-CHUAN)) (SETQ LOC11 (/
Y-LHD TLL-ONDINH))
(SETQ KC-LHD-ONDINH (APPEND KC-LHD-ONDINH (LIST LOC11 ))) (SETQ I (+ I 1))
)
(IF (= HONG 123456789) (SETQ KC-LHD-ONDINH NIL))
;;;
(if (and (/= nil KC-LHD-ONDINH) (< (length KC-LHD-ONDINH) 9)) (progn (alert "So lieu nhap khong du de thuc thien chuong trinh, Ban can phai nhap lai") (setq KC-LHD-ONDINH nil))) ;;;KHOI TAO LAI HOP THOAI ;;; );;het tinh TINH-LHD-LOC
b. Nhậ p tr ị số cánh tay đòn hình dáng từ một file đầu vào
Một vấn đề đƣợc đặt ra là khi ngƣời dùng không có đồ thị Pantokaren để nội suy L(hd)
nhƣ vậy việc tính toán và v ẽ đồ th ị ổn định gặ p r ất nhiều khó khắn. Để gi ải quyết v ấn đề này chúng tôi cung cấp tính năng nhậ p (input) file tr ị số cánh tay đòn hình dáng đóng vai trò là số liệu đầu vào vớ i đuôi “.txt”. Khi ngƣờ i dùng nhậ p (input) file số liệu đầu vào phần mềm sẽ tự động đọc các giá tr ị này theo th ứ tự lần lƣợ t từ trên xuống tƣơng ứng vớ i tr ị số cánh tay đòn hình dáng tại từng góc nghiêng khác nhau. Vớ i vấn đề nêu trên giải thuật chƣơng trình cụ thể nhƣ sau:
76
Để phần mềm đọc đƣợ c các giá tr ị từ file mà ngƣời đã dùng nhậ p vào, chúng tôi phải định d ạng c ấu trúc mặc định c ủa file. C ấu trúc mặc định c ủa file đƣợ c b ắt
đầu bằng t ừ khóa L(hd) và sau đó là các giá trị cánh tay đòn hình dáng tạ i các góc nghiêng khác nhau và các giá tr ị này đƣợ c s ắ p xế p theo thứ t ự gi ảm dần t ừ trên xuống. Nhƣ vậ y khi ngƣờ i dùng nhậ p file s ố liệu đầu vào phần mềm sẽ đọc toàn bộ nội dung của file để tìm từ khóa L(hd), khi tìm đƣợ c từ khóa này thì theo mặc định các giá tr ị ở dòng tiế p của file, phần mềm s ẽ hiểu là các giá tr ị
cánh tay đòn hình dáng tạ i các góc nghiêng θ = 10, 20,…, 90.
Vì khi phần mềm đọc file dữ liệu đầu vào, phần mềm sẽ hiểu các số liệu đầu vào này là ki ểu chuỗi(string)… Vì thế, để sử dụng đƣợ c số liệu đầu vào phục vụ cho việc tính toán và v ẽ đồ thị ổn định thì các số liệu trên phải đƣợ c chuyển đổi từ kiểu chuỗi sang kiểu số thực.
Dƣới đây là đoạn code chƣơng trình tƣơng ứ ng: (DEFUN NHAPFILEHINHDANG () (setq docloc1 (GETFILED "Chon file L(hd)" "Nhap file" 8))
"txt"
(setq KC-LHD-ONDINH (list )) (if (/= docloc1 nil) (progn (setq docloc (open docloc1 "r")) (while (setq lhd-doc (read-line docloc)) (setq votauthuy (distof lhd-doc 2)) (if (/= nil votauthuy) (progn (setq KC-LHD-ONDINH (append votauthuy))) (princ KC-LHD-ONDINH) ) ))))
KC-LHD-ONDINH
(list
(if (and (/= nil KC-LHD-ONDINH) (< (length KC-LHD-ONDINH) 9)) (progn (alert "So lieu nhap thieu, Ban can phai nhap lai") (setq KC-LHD-ONDINH nil))))
77
3.3. XÂY DỰNG MENU CHO CHƢƠNG TRÌNH Nhƣ đã biết, AutoCAD sử dụng các file h ỗ tr ợ để lƣu trữ các thông tin v ề menu, nạ p các ứng dụng AutoLISP và ObjectARX. Các file h ỗ tr ợ này thƣờ ng ở dạng văn bản và do
đó chúng ta có thể hi ệu chỉnh và tạo m ới chúng. Để nâng cao sự thu ận tiện cho ngƣờ i sử dụng chúng tôi xây d ựng các menu ph ụ chạy tr ực tiế p trên AutoCAD. Ở đây chúng tôi cung cấ p cho phần mềm 3 loại menu khác nhau nhƣ: Menu màn hình (Screen menu), Thanh công cụ (Toolbar), và các l ệnh t ắt. Các bƣớ c xây dựng menu đƣợ c th ực hi ện nhƣ sau:
Biên soạn các dòng mô t ả ban đầu v ề các mục của các loại menu trƣớc khi đƣa vào phần mềm Notepad….. và lƣu file này dƣớ i dạng đuôi mở r ộng .MNU
Từ các file có đuôi .MNU sẽ đƣợ c biên dịch sang file có đuôi .MNS dƣớ i dạng ASCII và các file .MNS này s ẽ đƣợ c tiế p tục biên dịch sang dạng nhị phân và
đƣợ c AutoCAD sử dụng để hiển thị các menu trên màn hình
Tạo các Icon cho chƣơng trình trong các phầ n mềm tạo Icon chuyên nghi ệ p hoặc
cũng có thể tạo các icon ngay trong ph ần mềm AutoCAD. Kích thƣớ c của các Icon này phải phù hợ p vớ i sự hiển thị của phần mềm AutoCAD, thông thƣờ ng
kích thƣớ c của chúng là 16 x15 và 24 x22. Các icon này s ẽ đƣợ c phần mềm AutoCAD sử dụng để hiện thị ngay trên menu màn hình c ủa phần mềm.
Dƣới đây là các dòng lệnh đƣợ c biên soạn để mô t ả các mục c ủa menu dƣớ i dạng file có đuôi .MNU ***MENUGROUP=THIETKETAU /// ***TOOLBARS **TB_THIETKETAU ID_TbTHIET_KE_TAU 10, 1)]
[_Toolbar("Thiet
78
Ke
Tau",
_Left,
_Show,
20,
ID_VEDUONGHIN [_Button("VeDuongHinhNT", "hull.bmp")]^C^C_NT1 ID_VEDUONGHINHna [_Button("Ve "RCDATA_16_VS_INTERSECTION", "RCDATA_16_VS_INTERSECTION")]^C^C_NA1
"hull.bmp", Duong
Hinh
NA",
ID_VEBONJEAN [_Button("Ve Bonjean", "RCDATA_16_DIMORX", "RCDATA_16_DIMORX")]^C^C_bonjean ID_HYDROSTATIC [_Button("Hydrostatic "RCDATA_16_DIMORD", "RCDATA_16_DIMORD")]^C^C_dcl
Curve",
ID_PANTOKAREN [_Button("Do thi Pantokaren", "RCDATA_16_DIMORY", "RCDATA_16_DIMORY")]^C^C_pantokaren ID_STABILITY [_Button("Do Thi On Dinh", "stability.BMP", "stability.BMP")]^C^C_DTOD ID_GetPoint2d [_Button("Lay toa "RCDATA_16_SELGRO", "RCDATA_16_SELGRO")]^C^C_l2d
do
-
2D",
ID_GetPoint3d [_Button("Lay toa "RCDATA_16_SELWIN", "RCDATA_16_SELWIN")]^C^C_l3d
do
-
3D",
***POP1 **Chuong trinh thiet ke [Ve – Duong Hinh] ID_Ve [Ninh Thuan]^C^C_NT1; ID_L2D [Nghe - An]^C^C_NA1;
***POP2 **Tinh toan tinh nang [Tinh toan tinh nang] ID_L2D [Tu dong - Bonjean]^C^C_bonjean; ID_L2D [Hydrostatic curves]^C^C_dcl; ID_L2D [Do thi Pantokaren]^C^C_pantokaren; ID_L2D [Do Thi On Dinh]^C^C_DTOD;
***POP3
79
**Lay So lieu [Lay – so lieu] ID_L2D [Lay – toa do 2D]^C^C_l2d; ID_L3D [Lay – toa do 3D]^C^C_l3d; ID_L3D [Lay – trong tam]^C^C_tt; ID_L3D [Lay – dien tich]^C^C_tdt; ID_L3D [Gan ten layer]^C^C_ganlayer;
Nội dung file .CUI đã đƣợ c biên dịch từ file .MNU POP3 Lay So lieu Lay – so lieu
IsSeparator="false"
hasDiesel="false"
MajorVersion="17"
UID="XLS_0034"
MinorVersion="0"
xlate="true">Lay
– toa
do
2D
IsSeparator="false"
MajorVersion="17"
UID="XLS_0036"
3D
80
hasDiesel="false"
MinorVersion="0"
xlate="true">Lay
– toa
do
IsSeparator="false"
hasDiesel="false"
MajorVersion="17"
UID="XLS_0038"
MinorVersion="0"
xlate="true">Lay
– trong
IsSeparator="false"
hasDiesel="false"
MajorVersion="17"
UID="XLS_0040"
MinorVersion="0"
xlate="true">Lay
– dien
IsSeparator="false"
81
hasDiesel="false"
MajorVersion="17"
UID="XLS_0042"
MinorVersion="0"
xlate="true">Gan
ten
MajorVersion="17"
MinorVersion="0"
TB_THIETKETAU Thiet_Ke_Tau Thiet Ke Tau
MajorVersion="17"
xlate="true"
MinorVersion="0"
UID="XLS_0003">Ve
Duong
NT
82
Hinh
MajorVersion="17"
xlate="true"
MinorVersion="0"
UID="XLS_0005">Ve
Duong
Hinh
NA
MajorVersion="17"
MinorVersion="0"
Ve Bonjean
MajorVersion="17"
xlate="true"
MinorVersion="0"
UID="XLS_0009">Hydrostatic
Curve
83
3.4. K ẾT QUẢ CHẠY PHẦN MỀM 3.4.1. Giớ i thiệu phần mềm Phần m ềm ”Tự động v ẽ đườ ng hình tàu và tính các tính năng tàu đánh cá vỏ g ỗ theo
h Ninh Thu ận” mẫ u truyề n th ố ng của t ỉn
chạy trên nền c ủa AutoCAD, thích hợ p khá tốt
vớ i phần mềm AutoCAD phiên b ản 2004 đến 2008. Riêng ở môi trƣờ ng AutoCAD 2010,
tính năng xuấ t tuyến hình tự động không thực hiện đƣợ c do quá trình ghi Text c ủa các phiên bản AutoCAD trƣớ c khác các phiên b ản AutoCAD sau vì trong phiên b ản
AutoCAD không đòi hỏ i phải nhậ p chiều cao của chữ khi dùng lệnh ”Text”. Khi đó sẽ phải s ử d ụng Code chƣơng trình khác phù hợ p vớ i phiên bản AutoCAD tƣơng ứ ng. Hiện nay phần mềm này cũng đã đƣợ c nâng cấ p cho phù hợ p vớ i phiên bản AutoCAD 2010, chạy hệ điều hành WinXP, WindowVista, Window 7, Ram 512M, Dung lƣợ ng ổ cứng
80Ghz. Quá trình cài đặ t thực hiện ở phiên bản AutoCAD 2007, nếu muốn dùng các phiên bản khác, cần phải thay file acad2007 b ằng file ”code duong hinh” đƣợ c cung cấ p theo phần mềm này bằng cách copy toàn b ộ đoạn code của file có tên code duong hinh
nói trên đây vào file acadXXXX.lsp trong mụ c Support của ph ần m ềm AutoCAD, trong đó XXX là ký hiệ u của phiên bản AutoCAD, ví dụ XXX = 2005 v..v... Các bƣớc cài đặt tiến hành nhƣ sau :
Bướ c 1 : Copy các file acad2007.lsp, chinh the.dcl, hop thoai nghe an.dcl, huongdan.dcl, huongdanchinh.lsp, nghean.sld, xuatcad.dcl, xuatnote.dcl....
theo đƣờ ng
dẫn C:\Program Files\AutoCAD 2007\Support. File acad2007.lsp của phần mềm sẽ ghi lên file acad2007.lsp của AutoCAD.
Bướ c 2 : Mở thƣ mục File Block của chƣơng trình để copy toàn b ộ bản vẽ của AutoCAD dán theo đƣờ ng dẫn C:\Program Files\AutoCAD 2007\Support\color Bướ c 3 : Khởi động AutoCAD và tại dòng lệnh Command của AutoCAD gõ lệnh Menuload
chọn nút Browse vào mục file menu c ủa chƣơng trình chọ n file
84
”menuchuongtrinh12.cui” hoặc ”menuchuongtrinh12.mns” (hình 3.7) nút Load
Close hoàn tất quá trình cài đặ t.
Hình 3. 7: T ải menu chương trình
3.4.2. K ết quả chạy phần mềm vẽ đƣờ ng hình Sau khi cài đặt xong phần mềm, chạy khởi động lại chƣơng trình AutoCAD sẽ xuất hiện thêm một menu phụ mang tên “Ve - duong hinh” nằ m trên thanh menu c ủa phần mềm AutoCAD, ngoài ra ngƣờ i dùng có thể nhậ p lệnh “NT1” tại thanh lệnh
“Command” c ủa AutoCAD hoặc nh ấ p chu ột vào biểu tƣợ ng Icon
, thì phần mềm s ẽ
đƣợ c thực hiện. Nhƣ đã trình bày phầ n mềm của chúng tôi có những tính năng sau: - Vẽ nhanh chóng và chính xác 4 m ẫu đƣờ ng hình truyền thống tại Ninh Thuận c ụ thể là: tàu lƣới vây, tàu lƣới rê, tàu lƣớ i kéo, tàu pha xúc. - Cho phép ngƣờ i thiết k ế xu ất tr ực ti ế p b ảng t ọa độ đƣờ ng hình tàu thi ết k ế ra file
có đuôi .txt - Xuất b ảng t ọa độ đƣờ ng hình tàu thi ết k ế ngay trên vùng làm vi ệc c ủa ph ần mềm AutoCAD kèm theo các thông s ố kích thƣớ c tàu Nhấ p chuột vào menu ph ụ này để chạy phần mềm vớ i giao diện nhƣ hình 3.8. 85
Hình 3. 8: Giao di ện phần mề m vẽ đườ ng hình
Trên giao di ện gồm các mục sau :
Mục “Chọn loại tàu thi ết k ế”: Mục này cho phép ngƣờ i dùng chọn loại tàu, gồm các loại tàu làm ngh ề năng suất cao và điể n hình của Ninh Thuận hiện nay là
tàu đánh cá lƣới kéo, lƣới rê, lƣớ i vây và pha xúc.
Mục “chọn loại bản vẽ để xuất trên AutoCAD ” : Nhấ p chọn vào mục bản vẽ 2D hoặc 3D để xuất bản vẽ dƣớ i dạng 2D hoặc 3D
Nhấ p chọn m ục “Xuất tuyến hình” để xuất bảng tọa độ tuyến hình của tàu thiết k ế và ngƣờ i dùng có th ể đặt ở bất cứ vị trí nào trên b ản vẽ
Mục nh ập kích thƣớ c hình học c ủa tàu thi ết k ế để ngƣờ i dùng nhập kích thƣớ c chính của tàu thi ết k ế, bao gồm chiều dài lớ n nhất Lmax, chiều r ộng lớ n nhất Bmax, chiều cao mạn H và chiều chìm T.
Nhậ p các t ỷ s ố kích thƣớ c c ủa tàu thiết k ế: Mục này để ngƣờ i dùng nhậ p t ỷ s ố
các kích thƣớ c chính của tàu thiết k ế
86
Cần lƣu ý là kích thƣớ c và t ỷ lệ kích thƣớ c nhậ p vào phải là số thực dƣơng và thỏ a mãn yêu cầu về tỷ lệ kích thƣớc đã nhậ p, nếu không chƣơng trình sẽ báo lỗi nhƣ hình 3.9, 3.10
Hình 3. 9: Báo l ỗi khi nh ập sai kích thướ c
ỷ l ệ kích thướ c Hình 3. 10: Báo l ỗ i khi không phù h ợ p vớ i t 87
K ết quả khi chạy chƣơng trình, trong trƣờ ng hợp này là tàu đánh cá lƣớ i kéo sẽ vẽ
đƣợ c b ản vẽ đƣờ ng hình 2D vớ i bảng tọa độ tuyến hình kèm theo (hình 3.11) và b ản v ẽ 3D (hình 3.12)
Hình 3. 11: K ết quả khi xuấ t tuyế n hình 2D Chú ý: Trong khi xu ất
tuyến hình 2D ta có th ể xuất ngƣợ c từ 2D sang 3D bằng cách sau.
Khi chƣơng trình đã hoàn tấ t việc vẽ 2D và xu ất tuyến hình trên AutoCAD ho ặc Notepad thì ngƣờ i dùng có th ể ấn lệnh “3D” tại thanh l ệnh Command của AutoCAD, ngƣợ c lại để xuất 3D sang 2D thì ta ấn l ệnh 2D. Hình 3.13 k ết qu ả xu ất tuyến hình 2D, 3D trên cùng một bản vẽ
Hình 3. 12: K ết quả của việc xuất ngượ c t ừ 2D sang 3D
88
Hình 3. 13: Xuấ t tuyế n hình 3D
3.4.3. Xuất bảng tọa độ đƣờ ng hình trên AutoCAD và Notepad Nhƣ đã biế t, bảng t ọa độ đƣờ ng hình tàu thi ết k ế có ý nghĩa rất quan tr ọng nó đƣợ c s ử dụng để kiểm tra độ chính xác c ủa bản vẽ đƣờng hình và đƣợc dùng để tính toán các tính
năng hàng hải của con tàu. Nhận th ấy tầm quan tr ọng c ủa bảng tọa độ đƣờ ng hình chúng tôi đã cung cấ p cho phần m ềm tính năng xuất bảng t ọa độ đƣờ ng hình tàu thi ết k ế. Việc xuất bảng tọa độ có thể thực hiện thông qua 2 cách khác nhau xu ất tr ực tiế p trên vùng làm việc của phần mềm AutoCAD và xuất ra các file có đuôi “.txt”. Bảng tọa độ đƣờ ng hình của tàu thi ết k ế nhận đƣợ c bằng cách nhân các t ọa độ điểm của đƣờ ng hình tàu m ẫu vớ i các hệ số t ỷ lệ đồng dạng theo các kích thƣớc tƣơng ứ ng của
hai tàu. Tuy nhiên để xuất ra Notepad và AutoCAD cần chuyển số liệu từ số thực sang kiểu chuỗi và k ết hợ p vớ i một số hàm của AutoLISP để có thể xuất tr ực tiế p sang AutoCAD hoặc Notepad. Hình 3.14, 3.15 là k ết quả xuất tuyến hình trên Notepad và trên AutoCAD.
89
Hình 3. 14: Xuấ t tr ị số tuyế n hình ra NOTEPAD
Sau khi đƣờng hình 2D đƣợ c phần mềm thực hiện xong, theo mặc định sẽ xuất hiện hộ p thoại xuất AutoCAD (hình 3.15).
Hình 3. 15: H ộ p thoại xuấ t AutoCAD
Ngƣời dùng đồng ý sẽ có k ết quả nhƣ hình 3.16: Hình 3.16 là k ết quả xuất tuyến hình trên AutoCAD 90
Hình 3. 16: Xuấ t tuyế n hình trên AutoCAD
3.4.4. K ết quả chạy Modun vẽ đồ thị Bonjean Tƣơng tự nhƣ modun vẽ đƣờ ng hình, giao di ện modun vẽ đồ th ị bonjean cũng hết sức đơn giản và thao tác tr ực ti ế p trên phần m ềm AutoCAD đem lại s ự thu ận ti ện cho ngƣờ i dùng. (Hình 3.17: Giao di ện chương trình vẽ đồ thị Bonjean).
Hình 3. 17: Giao di ện chương trình vẽ đồ thị Bonjean
91
Trên giao di ện phần mềm gồm các m ục sau: - “Chiề u r ộng tính toán (m)” : Chính là chi ều r ộng l ớ n nh ất mà phần mềm có thể đọc đƣợ c các t ọa độ Y của từng đƣờng sƣờn, thông thƣờ ng giá tr ị này yêu cầu phải lớ n hơn giá trị Bmax của tàu thiết k ế. - “Chiều cao tính toán(m)” : Tƣơng tự nhƣ mục trên - “Tỷ l ệ diện tích (cm2 /mm)”: Đây chính là tỷ lệ của đƣờ ng cong diện tích và ở
đây chúng tôi khuyên ngƣời dùng nên đặ t giá tr ị :100(cm2 /mm) - “Tỷ l ệ momen tĩnh (dm 3 /mm)”: Đây chính là t ỷ lệ đƣờng cong momen tĩnh Mωxoy và ở đây chúng tôi khuyên ngƣời dùng nên đặ t giá tr ị: 30 (dm3 /mm) - „Hệ số kéo giãn”: Hệ số này đƣợc dùng để kéo giãn đồ thị Bonjean theo tr ục Z, nhằm thể hiện rõ 2 đƣờ ng cong diện tích mặt cắt ngang và momen tĩnh. Giá tr ị tại mục này yêu c ầu phải luôn lớn hơn hoặc bằng 1. - “Khoảng cách sườn(mm)”: Đây chính là khoảng cách giữa 2 sƣờ n lý thuyết. - “Khoảng cách tính toán (mm)”: Đây chính là dz đƣợc dùng để tính diện tích mặt cắt ngang giữa 2 đƣờng nƣớ c khác nhau, theo m ặc định thì phần mềm sẽ tự động đặt giá tr ị dz = 10(mm). Chú ý: Giá
tr ị này càng nhỏ thì thờ i gian thực hi ện s ẽ r ất l ớn nhƣng đổi l ại k ết qu ả s ẽ
chính xác hơn. Giá trị tại mục này yêu cầu phải luôn lớn hơn 1. Ngoài ra, modun v ẽ đồ thị Bonjean chúng tôi đã cung cấ p thêm menu ngữ cảnh (Hình 3.18)
và lệnh tắt, để nâng cao thao tác s ử dụng phần mềm. Trong thanh l ệnh
“command” của phần mềm AutoCAD ngƣờ i dùng có th ể nhậ p lệnh “bonjean” thì phần mềm s ẽ đƣợ c thực thi. Việc s ử dụng các menu ngữ cảnh tỏ ra thuận l ợi và linh động hơn r ất nhiều khi mà ngƣờ i dùng phải sử dụng các lệnh tắt thƣờ ng gây mất r ất nhiều thờ i gian.
Nhƣ vậ y tại b ất k ỳ v ị trí nào trên vùng làm vi ệc c ủa AutoCAD ngƣờ i dùng hoàn toàn có thể thực hiện chƣơng trình bấ t k ỳ lúc nào
92
Hình 3. 18: Menu ng ữ cảnh của chương trình
Phần mềm có thể tính toán và v ẽ đồ thị Bonjean cho tất cả các loại tàu 1 thân, chính vì vậy yêu cầu đặt ra là các đƣờng sƣờ n trong AutoCAD phải là một đối tƣơng duy nhấ t và vị trí của bản vẽ đƣờng sƣờ n phải nằm tại gốc tọa độ WCS(0 0 0), bên c ạnh đó số liệu mà
ngƣờ i dùng nhậ p vào phải là kiểu số thực dƣơng, chƣơng trình sẽ thông báo khi ngƣờ i dùng nhậ p các số liệu là kiểu chuỗi, 0…. Nếu không đáp ứng đủ các yêu c ầu trên thì ph ần mềm không thể thực hiện đƣợ c hoặc k ết quả thiếu chính xác.
Hình 3. 19: Thông báo khi nh ậ p thông số đầu vào không phù h ợ p
93
Vì chƣơng trình đƣợ c xây dựng d ựa theo phƣơng pháp hình thang nên để có đƣợ c số liệu đầu vào là các t ọa độ Y, thì chƣơng trình sử dụng thuật toán quét đƣờng sƣờn để ghi lại các điểm tọa độ, phục vụ cho việc tính diện tích mặt cắt ngang. Chính vì v ậy để nâng
cao độ chính xác chúng tôi đặ t giá tr ị mặc định dz = 10 (mm). Trong quá trình ch ạy th ử và kiểm tra độ chính xác của phần mềm chúng tôi nh ận thấy, khi giá tr ị dz= 10 (mm) k ết quả xuất ra gần nhƣ chính xác tuyệt đối so vớ i k ết quả của phần mềm AutoCAD.
Khi ngƣờ i dùng cung c ấp đầy đủ các thông s ố đầu vào thì chƣơng trình sẽ đƣợ c thực hiện (hình 3.20) và xu ất bản vẽ (hình 3.21) vớ i k ết quả tính đƣợc lƣu vào file theo đƣờ ng dẫn “C:\\ket qua tinh dien tich.txt”
Hình 3. 20: Chương trình đang thự c hiện vẽ đồ thị Bonjean
Chƣơng trình sẽ xuất bản vẽ Bonjean kèm theo các thông s ố: “Tỷ l ệ kéo giãn : …”, “Tỷ l ệ đườ ng cong di ện tích”, “Tỷ l ệ đường cong momen tĩnh” , bên cạnh đó các đƣờ ng cong diện tích và đƣờng cong momen tĩnh chƣơng trình sẽ tự động gán các màu sắc khác
nhau. Trong đó màu xanh lá cây quy định đƣờ ng cong diện tích, đƣờng cong momen tĩnh quy định màu vàng 94
Hình 3. 21: B ản vẽ đồ thị Bonjean do ph ần mề m xuấ t ra
Trong khi tính toán và v ẽ đồ thị Bonjean thì ph ần mềm sẽ tự động xuất k ết quả diện tích mặt cắt ngang tƣơng ứ ng v ới các đƣờng nƣớc cách nhau 100(mm). Dƣới đây là kế t quả (hình 3.22 )
Hình 3. 22: K ế t quả diện tích đượ c xuất ra file “.txt”
95
Chú ý: Trong quá trình ph ần mềm thực hiện và tính toán, ph ần mềm sẽ tự động chuyển
đổi môi trƣờ ng AutoCAD từ chế độ“2D Wireframe” => “3D Wireframe” , mục đích của sự chuyển đổi này nhằm cho quá trình th ực hi ện và quét tọa độ Y đƣợc trơn chu hơn. Và ngay sau khi chƣơng trình thự c hiện xong thì theo mặc định chƣơng trình sẽ tr ả lại chế độ
góc nhìn nhƣ ban đầ u. 3.4.5. K ết quả chạy modun vẽ đồ thị thủy tĩnh (Hydrostatic-Curves) Cũng tƣơng tự nhƣ “modun vẽ đồ thị Bonjean”, trong modun này chúng tôi cũng cung cấp đến ngƣờ i dùng menu ngữ c ảnh
, menu phụ và lệnh t ắt “DCL”. Khi nhấ p chu ột
vào menu chúng ta có giao di ện nhƣ hình 3.23
Hình 3. 23: Giao di ện phần mề m vẽ đồ thị thủy tĩnh
Một mặt khác so vớ i “modun vẽ đồ thị Bonjean” là ở modun này ph ần mềm sẽ tự
động nhận dự liệu vào các m ục của phần mềm dựa theo k ết quả của “modun vẽ đườ ng hình” và t ỷ lệ của từng đƣờ ng cong các yếu tố thủy tĩnh. Chính vì vậy đã tạ o nên sự đơn giản và thuận tiện cho ngƣờ i dùng và rút ngắn thờ i gian thao tác. 96
Khi ngƣờ i sử dụng nhấ p chuột vào button “VE -DT” thì ngay lậ p tức phần mềm sẽ đƣa ra yêu cầu “Chọn vị trí để vẽ đồ thị” và xuất ra đồ thị thủy tĩnh
Hình 3. 24: Chọn vị trí vẽ đồ thị thủy tĩnh
Hình 3. 25: K ế t quả phần mề m vẽ đồ thị thủy tĩnh
97
Sau khi đồ thị đƣợ c xuất ra theo mặc định phần mềm sẽ xuất hiện hộ p thoại (hình 3.26)
Hình 3. 26: Thông báo m ặc định của phần mề m
Nếu ngƣời dùng đồ ng ý thì sẽ có k ết quả nhƣ hình 3.27
Hình 3. 27: K ết quả xuấ t bảng k ế t quả trên nề n AutoCAD
Bên cạnh đó chúng tôi còn cung cấp thêm tính năng xuấ t k ết qu ả ra file “.txt”, để thực hiện đƣợc tính năng này ngƣờ i dùng nhấ p chuột vào button “Xuat -file” thì sẽ xuất hiện hộ p thoại (hình 3.28 ) 98
Hình 3. 28: H ộ p thoại xuấ t file Notepad
Theo mặc định phần mềm sẽ tự động lƣu file kế t quả vào ổ “C:\\” vớ i tên file mà
ngƣời dùng đã nhậ p trong hộ p thoại trên và có k ết quả nhƣ: (hình 3.29)
Hình 3. 29: K ết quả xuấ t file Notepad Chú ý:
Phần mềm này ch ỉ sử dụng để tính toán yếu tố thủy tĩnh cho các mẫu đƣờ ng
hình của “modun vẽ đƣờng”
99
3.4.6. K ết quả chạy modun vẽ đồ thị pantokaren Để thực hiện đƣợc modun này ngƣờ i dùng có th ể sử dụng 1 trong 3 cách sau: Cách 1: Gọi modun này trên menu ph ụ của AutoCAD
“Tinh toan tinh nang” => “Do thi
Pantoakren” nhƣ hình 3.30
Hình 3. 30: G ọi chương trình từ menu phụ Cách 2:
Nhấ p chuột vào biểu tƣợ ng icon
trên thanh menu ng ữ cảnh “Thiet Ke
Tau”(hình 3.31)
Hình 3. 31: Gọi chương trình từ menu ng ữ cảnh
100
Cách 3: Ngƣờ i dùng có thể nhậ p lệnh “DCL” trên thanh “Command” của AutoCAD
Nếu 1 trong 3 cách trên đƣợ c thực hiện thì sẽ xuất hiện hộ p thoại chƣơng trình (hình 3.32)
Hình 3. 32: Giao di ện chương trình vẽ đồ thị Pantokaren
Modun vẽ đồ thị Pantokaren này cũng tƣơng tự nhƣ modun vẽ đồ thị thủy tĩnh, dữ liệu sẽ đƣợ c tự động nhận k ết quả từ modun “ve duong hinh”
Khi ngƣờ i dùng nh ấ p chuột button “Ve -DT” thì màn hình AutoCAD sẽ tự động chuyển sang chế độ “3D WireFrame” và yêu cầu ngƣờ i dùng chọn vị trí vẽ đồ thị
Hình 3. 33: Yêu c ầu chọn vị trí vẽ đồ thị
101
Sau khi chọn vị trí vẽ đồ thị , chƣơng trình sẽ tự động xuất k ết quả và đƣa màn hình của phần mềm AutoCAD tr ở lại tr ạng thái nhƣ ban đầu nhƣ (hình 3.34)
Hình 3. 34: K ết quả vẽ đồ thị Pantokaren
Theo mặc định khi chƣơng trình thự c hiện v ẽ đồ thị Pantokaren k ết thúc sẽ xuất hi ện hộ p thoại (hình 3.35 )
Hình 3. 35: H ộ p thoại xuấ t k ế t quả trên AutoCAD
102
Nếu đồng ý ngƣờ i dùng sẽ có k ết quả nhƣ sau (hình 3.36)
Hình 3. 36: Phần mề m xuấ t bản vẽ vớ i bảng k ế t quả kèm theo Chú ý:
Phần mềm này chỉ sử dụng để tính toán và vẽ đồ thị Pantokaran cho các m ẫu
đƣờ ng hình của “modun vẽ đƣờng”. 3.4.7. K ết quả chạy modun vẽ đồ thị ổn định Để thực hiện đƣợ c modun này ngƣờ i dùng có th ể sử dụng 1 trong 3 cách sau: Cách 1: G ọi
modun này trên menu ph ụ của AutoCAD “Tinh toan tinh nang” “Do
thi On Dinh” nhƣ hình 3.37
Hình 3. 37: Gọi chương trình từ menu phụ
103
Cách 2:
Nhấ p chuột vào biểu tƣợ ng icon
trên thanh menu ng ữ cảnh “Thiet Ke
Tau”(hình 3.38 )
Hình 3. 38: Gọi chương trình từ menu ng ữ cảnh Cách 3: Ngƣờ i dùng có thể nhậ p lệnh “DCL” trên thanh “Command” của AutoCAD
Nếu 1 trong 3 cách trên đƣợ c thực hi ện thì sẽ xuất hiện hộ p thoại chƣơng trình (hình 3.39)
Hình 3. 39: Giao di ện chương trình vẽ đồ thị ổn định
104
Giao diện phần mềm gồm các mục sau:
“Trọng lượ ng P(t ấn)”: Đây chính là phần nh ậ p tr ọng lƣợng tàu, đơn vị (tấn). Ngoài ra tr ọng lƣợ ng P còn đƣợc dùng để tính L(hd) trên đồ thị Pantokaren. -
- “Trọng tâm Zg(m)”:
Cao độ tr ọng tâm c ủa tàu trong các trƣờ ng hợp tính toán, đơn vị
“m”. “Hoặc tính P, Zg”: Khi chọn m ục này thì sẽ xuất hi ện hộ p thoại (hình: ) tính tr ọng lƣợ ng, tr ọng tâm của tàu từ tr ọng lƣợ ng và tr ọng tâm thành ph ần. - Button
“Tính L(hd)”: Mục này đƣợc dùng để tính L(hd) t ừ đồ thị Pantokaren. Yêu cầu đặt ra cho ngƣờ i dụng phải nhậ p giá tr ị P(tấn) tại mục “Trọng lượ ng P(t ấn)” - Button
“Nhập L(hd)”: Mục này sẽ yêu cầu ngƣờ i dùng nhậ p 1 file “.txt” chứa các giá tr ị L(hd) tại từng góc nghiêng θ = 10, 20,…,90. - Button
Để thực hiện đƣợc chƣơng trình ngƣờ i dùng cần phải nhậ p các thông số đầu vào thông qua các bƣớ c sau: o Nhậ p giá tr ị tr ọng lƣợ ng, tr ọng tâm toàn tàu P(t ấn), Zg(m) o Nhậ p ho ặc n ội suy giá tr ị cánh tày đòn hình dáng L(hd) tạ i t ừng góc nghiêng
khác nhau
Các bƣớ c thực hiện cụ thể nhƣ sau:
Bƣớ c I: Nhậ p giá tr ị P(t ấn ), Zg(m)
Trong modun này chúng tôi cung c ấp 2 phƣơng pháp nhậ p P(t ấn ), Zg(m) bao gồm: - Phương pháp nhậ p tr ự c tiế p tr ọng lượ ng và tr ọng tâm toàn tàu - Phương pháp nhậ p gián tiế p thông qua modun tính tr ọng lượ ng, tr ọng tâm
Phương pháp 1: Nhậ p tr ực tiế p tổng tr ọng lƣợng toàn tàu và cao độ tr ọng tâm tàu (hình 3.40)
105
Hình 3. 40: Nhậ p tr ực tiế p giá tr ị P(t ấ n), Zg
Phương pháp 2: Nhậ p tr ọng lượ ng, tr ọng tâm thành ph ần thông qua “modun tính tr ọng tâm tàu”
Để thực hiện đƣợc ngƣờ i dùng nhấ p chuột vào button “Hoặc tính P, Zg” theo mặc định chƣơng trình sẽ xuất hiện hộ p thoại của modun tính tr ọng tâm (hình 3.41)
Hình 3. 41: Nh ậ p P(t ấ n), Zg thông qua modun tính tr ọng lượ ng, tr ọng tâm tàu
106
Trong modun này ngƣờ i dùng phải nh ậ p l ần lƣợ t các tr ọng lƣợ ng và tr ọng tâm thành phần, phần mềm sẽ tự động tính toán và thông báo cho ngƣờ i dùng k ết quả: P(t ấ n), Zg(m) tại mục k ết quả của phần mềm (hình 3.42)
Hình 3. 42: K ế t quả tính tr ọng lượ ng, tr ọng tâm tàu
Ngoài ra trong modun này chúng tôi còn cung c ấp tính năng xuấ t k ết quả ra file “.txt”.
Khi ngƣờ i dùng nhậ p vào Button ”Xuat ket qua” theo mặc định chƣơng trình sẽ xuất hiện hộ p thoại (hình 3.43)
Hình 3. 43: Xuấ t file k ế t quả của modun tính tr ọng lượ ng tr ọng tâm tàu
107
Theo mặc định phần mềm sẽ tự động lƣu file kế t quả trên ổ đĩa “C:\\” (hình 3.44)
Hình 3. 44: K ết quả đượ c xuấ t trên file Notepad
K ết quả xuất ra bao gồm các giá tr ị sau: - Trọng lượng, trọng tâm toàn tàu với đơn vị lần lượt là P(tấn), Zg(m) - Ngày thiết kế và các trọng lượng, trọng tâm thành phần
Khi ngƣời dùng nhập Button “Tro ve ==>” thì theo mặc định các giá trị trọng lƣợng toàn tàu và trọng tâm toàn tàu sẽ đƣợc gán lên mục “Trọng lượng P(tấn)” và “Trọng tâm Zg (m)”
Bƣớ c II: Nhậ p L(hd)
Để thuận tiện cho ngƣời dùng trong modun này chúng tôi cũng cung cấp 2 phƣơng pháp nhậ p L(hd): - Phƣơng pháp nội suy L(hd) từ đồ thị Pantokaren - Phƣơng pháp nhậ p L(hd) từ file “.txt” chứa các giá tr ị L(hd) tại t ừng góc nghiêng khác nhau
108
Phương pháp 1: Nội suy L(hd) t ừ đồ thị Pantokaren Điều ki ện để th ực hi ện phƣơng pháp này, yêu cầu ngƣờ i dùng phải nh ậ p giá tr ị P(t ấn) toàn tàu để phần mềm tính toán th ể tích tàu, r ồi từ thể tích tàu n ội suy L(hd) từ đồ thị pantokaren.
Để th ực hi ện ngƣờ i dùng chấ p chu ột vào Button “Tinh L(hd)”, ngay lậ p t ức h ộ p tho ại của “modun vẽ đồ thị ổn định” sẽ đƣợ c ẩn đi và yêu cầu ngƣờ i dùng nhậ p vị trí gốc tọa
độ và vị trí cao nhất theo tr ục L(hd) của đồ thị Pantokaren. (hình 3.45)
Hình 3. 45: N ội suy L(hd) t ừ đồ thị Pantokaren
Ngoài ra trong phƣơng pháp này, modun còn yêu cầu ngƣờ i dùng nhậ p các giá tr ị sau: - Tỷ lệ Lhd (mm/m) c ủa đồ thị Pantokaren - Tỷ lệ V(mm/m3) của đồ thị Pantokaren - Chọn các đƣờ ng L(hd) tại các góc nghiêng θ = 10, 20,…, 90 Sau khi nhậ p xong các yêu c ầu trên ngƣời dùng gõ phím “Enter” hoặc phím “Spacer”
để quá trình nhậ p thống số đầu vào k ết thúc.
109
Chú ý: Trong phƣơng pháp này ngƣờ i dùng phải chọn đủ các
đƣờ ng L(hd) tại từng góc
nghiêng θ = 10, 20,…,90 trên đồ thị Pantokar en, nêu không chƣơng trình sẽ thông báo lỗi và không nhận các giá tr ị trên. Mặt khác, tr ọng lƣợ ng toàn tàu P(t ấn) lớn hơn rất nhiều so vớ i thể tích V l ớ n nhất tại đồ thị Pantokaren thì ph ần mềm sẽ thông báo “ giá tr ị P nhậ p vào quá l ớn”.
Phương pháp 2: Nhậ p L(hd) t ừ file “.txt” Để thực hiện phƣơng pháp này ngƣờ i dùng nhấp vào Button “Nhap L(hd)” theo mặc định phần mềm sẽ xuất hiện hộ p thoại sau:
Hình 3. 46: H ộ p thoại nhậ p giá tr ị L(hd) t ừ file “.txt”
Ngƣờ i dùng sẽ ph ải ch ọn đƣờ ng d ẫn đến file cần nhậ p, c ấu trúc của file nhậ p s ẽ đƣợ c sắ p xếp nhƣ hình 3.47
Hình 3. 47 : File L(hd) đượ c nhậ p vào
110
Các giá tr ị L(hd) đƣợ c sắ p xế p theo thứ tự tăng dần theo góc θ: L(hd10) – L(hd20)
,….,L(hd90). Nếu nh ậ p thành công thì trên thanh “Command” c ủa AutoCAD sẽ thông báo các giá tr ị L(hd) đƣợ c nhập vào. Ngƣợ c lại sẽ thông báo nhƣ sau: (hình 4. 48)
Hình 3. 48: Thông báo c ủa phần mề m khi nhập L(hd) sai đị nh d ạng file
Khi nhập đủ các số liệu đầu vào là P(t ấn), Zg(m), L(hd) ph ần m ềm s ẽ xuất hình vẽ và giá tr ị ho kèm theo và dòng thông báo trên thanh l ệnh “Command của AutoCAD”: (hình 3.49 )
Hình 3. 49: K ết quả vẽ đồ thị ổn định
111
Dòng thông báo trên thanh “Command” củ a AutoCAD có nội dung sau:
Hình 3. 50: Thông báo c ủa phần mề m khi xuấ t k ết quả ra file notepad
Với thông báo nhƣ vậ y thì k ết qu ả c ủa quá trình tính toán s ẽ đƣợ c t ự động in vào file
“C:\KET QUA TINH ON DINH .txt” File k ết quả bao gồm các nội dung sau (hình 3.51)
Hình 3. 51: K ết quả đượ c xuấ t trên file Notepad
112
3.5. ĐÁNH GIÁ ĐỘ CHÍNH XÁC CỦA PHẦN MỀM 3.5.1. Đánh giá độ chính xác của phần mềm vẽ đồ thị Bonjean Để đánh giá độ chính xác c ủa phần mềm, chúng tôi tính các giá tr ị diện tích mặt cắt ngang và momen di ện tích mặt c ắt ngang của t ừng đƣờng sƣờ n cho loại tàu lƣớ i kéo trên phần mềm vẽ đồ thị Bonjean và ph ần mềm AutoCAD sau đó so sánh các k ết quả này vớ i nhau r ồi từ đó đƣa ra sai số giữa 2 k ết quả (Bảng 3.1)
Kết Quả Tính Trên Phần Mềm Autocad
Sƣờn 0 0.5 1 1.5 2 3 4 5 6 7 8 8.5 9 9.5 10
Kết quả diện tích (m2) 6.387 7.465 8.443 9.366 10.143 10.765 10.955 11.007 11.577 11.805 11.649 11.098 9.958 8.022 3.647
Kết Quả Tính Của Phần Mềm Vẽ Đồ Thị Bonjean
Kết quả Momen tĩnh (m3)
Kết quả diện tích (m2)
13.654 14.291 14.436 14.332 14.028 13.603 14.033 14.043 16.153 17.981 20.667 21.652 21.587 19.403 10.999
6.359 7.444 8.416 9.330 10.100 10.904 10.761 10.978 11.552 11.759 11.619 11.073 9.937 8.011 3.633
Kết quả Momen tĩnh (m3) 13.583 14.260 14.387 13.995 13.964 13.991 13.593 14.032 16.095 17.856 20.586 21.578 21.511 19.364 10.947
Sai số
Sai số diện tích % 0.43 0.27 0.32 0.39 0.42 1.29 1.77 0.26 0.22 0.39 0.26 0.22 0.21 0.13 0.39
Sai số momen tĩnh % 0.52 0.21 0.34 2.35 0.46 2.85 3.13 0.08 0.36 0.69 0.39 0.34 0.35 0.20 0.47
Bảng 3.1: B ảng đánh giá độ chính xác của phần mề m vẽ đồ thị Bonjean
Nhận xét: Từ việc so sánh giữa 2 k ết quả trên chúng tôi nh ận thấy r ằng sai số giữa các k ết quả trên đều nằm trong phạm vi r ất nhỏ. Nhƣ vậy, việc ứng dụng phần mềm vẽ đồ thị Bonjean vào trong th ực tế là điều hoàn toàn có th ể. 113
độ chính xác củ đồ thịị thủ ĩ nh 3.5.2. Đánh giá độ chính của phầ phần mề mềm vẽ vẽ đồ th thủy t ĩ nh Để đánh giá độ chính xác của phần mềm, chúng tôi cũng tiế n hành tính toán các y ếu tố thủy tĩnh cho mẫu tàu lƣớ i kéo có thông s ố kích thƣớc nhƣ sau: Lmax = 20m, Bmax = 5m, Htk = 3m, T = 1.8m, trên ph ần mềm AutoHydro là m ột trong những phần mềm đƣợ c các tổ chức đăng kiểm trên th ế giớ i công nhận và đang đƣợ c ứng dụng r ộng rãi trong việc
tính toán các tính năng hàng hả i tàu. Nhƣ đã trình bày trong phần cơ sở lý lý thuyết của đề tài, tại mỗi mớn nƣớ c khác nhau của con tàu lại cho các yếu tố thủy tĩnh hay các th ông số tính n ổi khác nhau. Chính vì vậy, chúng tôi so sánh k ết quả tính của 2 phần mềm đƣợ c tính tại cùng một mớn nƣớ c. c.
Để thực hiện công việc này chúng tôi có th ể tóm t ắt quá trình tính toán nhƣ sau:
Sử d ụng modun vẽ đồ th ị th ủy tĩnh để tính toán các các thông số tính nổi c ủa mẫu tàu lƣớ i kéo vớ i các thông s ố kích thƣớc đã nêu trên tạ i các mớn nƣớ c khác nhau
Dùng phần mềm Autohydro để tính toán các thông s ố tính nổi tại các mớ n khác nhau, các mớn nƣớc đƣợ c s ử d ụng để tính các yếu tố th ủy tĩnh trên phầ n mềm Autohydro phải trùng v ớ i mớ n nƣớ c trên modun v ẽ đồ thị thủy tĩnh
Lậ p bảng so sánh giữa các k ết quả tính của 2 phần mềm từ đó đƣa ra sai số
Dƣới đây là đoạ n lệnh đƣợ c chúng tôi sử dụng để tính các yêu t ố thủy tĩnh trên phầ n mềm Autohydro. clear report unit mt solve hull dr=0.2,0.4,0.6,0.8,1,1.2,1.4,1.6,1.8,2/form hs dr=0.2,0.4,0.6,0.8,1,1.2,1.4,1.6,1.8,2/km angle 0,10,20,...,90 cc 0.2,0.4,0.6,0.8,1,1.2,1.4,1.6,1.8,2 ra/notes disk "c:\\THANH.txt"
114
Bảng đánh giá độ chính xác c ủa phần mềm vẽ đồ thị thủy tĩnh Bảng 3. 2: Bảng đánh giá độ chính xác của phần mề m vẽ đồ ẽ đồ thị thủy tĩnh
Kết Quả Tính Của Modun Vẽ Đồ Thị Thủy Tĩnh
Bảng Kết Quả Phần Mềm Autohydro V(m3) D(tan) Xc(m) Zc(m)
DN
V(m3)
D(tan)
Xc(m)
Zc(m)
R(m)
DN0
0.97
1
-0.414
-0.069
13.06
0.97
0.995
-0.3
-0.069 16.172
0.00
0.50
2.54
0.00
1.24
DN1
16.69
17.1
0.294
0.196
36.39
16.74
17.157 0.299
0.196 36.267
0.30
0.33
1.67
0.00
0.34
DN2
37.46
38.4
0.189
0.417
24.4
37.56
38.502 0.189
0.417 24.293
0.27
0.26
0.00
0.00
0.44
DN3
61.61
63.15
0.053
0.639
20.1
61.76
63.306 0.052
0.639 20.092
0.24
0.25
1.92
0.00
0.04
DN4
88.6
90.82
-0.092
0.864
18.04
88.82
91.038
0.864 18.109
0.25
0.24
2.22
0.00
0.38
DN5
118.2
121.15
-0.235
1.09
16.71
118.47 121.43 -0.233
1.09
0.23
0.23
0.86
0.00
1.67
-0.09
R(m)
Sai số %
16.993
V(m3) D(tan) Xc(m) Zc(m) R(m)
Nhận xét: Dựa vào k ết qu ả trên chúng tôi nh ận th ấy r ằng sai số gi ữ 2 k ết qu ả tính r ất nh ỏ, nguyên nhân d ẫn đến s ự sai số nhỏ nhƣ vậy đƣợ c chúng tôi gi ải thích nhƣ sau: - Khi tính toán và x ử lý số liệu phần mềm có phạm vi sai s ố đến ph ần trăm nghìn “1/100000”. C hính vì vậy, khi xuất k ết quả đã đƣợ c chúng tôi làm tròn hay nói cách khác là rút ng ắn phạm vi sai s ố xuống 1/100 hoặc 1/1000. Vì thế k ết quả dẫn tớ i việc sai s ố ở hàng hàng thậ p phân 115
độ chính xác củ đồ thịị Pantokaren 3.5.3. Đánh giá độ chính của phầ phần mề mềm vẽ vẽ đồ th Nhƣ đã trình bày đồ thị Pantokaren th ể hiện mối qua hệ giữa thể tích tàu và tr ị số cánh tay đòn hình dáng tại các đƣờng nƣớc khác nhau Nhƣ vậ y tại mỗi đƣờng nƣớ c khác nhau lại có giá tr ị V, L(hd) khác nhau, thông qua đó việ c so sánh k ết quả tính của 2 phần mềm
đƣợc đánh giá dựa trên các giá tr ị L(hd) đƣợ c tính trên cùng m ột đƣờng nƣớ c Ở đây chúng tôi tính và vẽ đồ thị Pantokaren cho mẫu tàu lƣớ i vây có thông s ố kích thƣớ c Lmax = 15,8 m Bmax = 5 m trên ph ần mềm Autohydro một trong những phần mềm nổi tiếng trên thế giới và đang đƣợ c sử dụng r ộng rãi
Dƣới đây là kế t quả tính của mẫu tàu lƣớ i vây mà phần mềm của chúng tôi cho ra
độ chính xác củ đồ thịị Pantokaren 3.5.3. Đánh giá độ chính của phầ phần mề mềm vẽ vẽ đồ th Nhƣ đã trình bày đồ thị Pantokaren th ể hiện mối qua hệ giữa thể tích tàu và tr ị số cánh tay đòn hình dáng tại các đƣờng nƣớc khác nhau Nhƣ vậ y tại mỗi đƣờng nƣớ c khác nhau lại có giá tr ị V, L(hd) khác nhau, thông qua đó việ c so sánh k ết quả tính của 2 phần mềm
đƣợc đánh giá dựa trên các giá tr ị L(hd) đƣợ c tính trên cùng m ột đƣờng nƣớ c Ở đây chúng tôi tính và vẽ đồ thị Pantokaren cho mẫu tàu lƣớ i vây có thông s ố kích thƣớ c Lmax = 15,8 m Bmax = 5 m trên ph ần mềm Autohydro một trong những phần mềm nổi tiếng trên thế giới và đang đƣợ c sử dụng r ộng rãi
Dƣới đây là kế t quả tính của mẫu tàu lƣớ i vây mà phần mềm của chúng tôi cho ra
ết quả tính đồ thị Pantokaren mà ph ần mề m cho ra Hình 3. 52: K ế Dƣới đây là kế t quả tính của phần mềm Autohydro cho mẫu tàu lƣớ i vây
116
Cross Curves of Stability Righting Arms(heel) for VCG = 0.00 Trim zero at heel = 0 (RA Trim = 0)
Displ (MT) 11.791 23.821 37.726 53.327 70.544 89.267 109.322 Displ (MT) 11.791 23.821 37.726 53.327 70.544 89.267 109.322
10.000s 0.695s 0.491s 0.418s 0.387s 0.375s 0.366s 0.295s 60.000s 1.647s 1.701s 1.658s 1.566s 1.447s 1.310s 1.185s
20.000s 1.156s 0.957s 0.833s 0.776s 0.738s 0.665s 0.540s 70.000s 1.642s 1.662s 1.618s 1.544s 1.454s 1.354s 1.259s
30.000s 1.385s 1.292s 1.222s 1.138s 1.029s 0.898s 0.750s 80.000s 1.579s 1.553s 1.513s 1.466s 1.410s 1.352s 1.292s
40.000s 1.515s 1.518s 1.484s 1.389s 1.242s 1.081s 0.929s 90.000s 1.458s 1.387s 1.357s 1.337s 1.320s 1.307s 1.279s
50.000s 1.594s 1.657s 1.620s 1.520s 1.379s 1.218s 1.075s
Water Specific Gravity = 1.025.
Cr oss C ur ves Di spl acement i n Metric To ns 0. 0
50.0
100. 0
A r m s 1. 5
i n m
1. 0
0. 5
0. 0
Hình 3.53: K ết quả tính đồ thị Pantokare trên ph ần mề m Autohydro
117
Bảng so sánh k ết quả tính gi ữa 2 phần mềm Bảng 3. 3 Đánh giá độ sai số của phần mề m vẽ đồ thị Pantokaren so v ớ i phần mề m Autohydro
Kết Quả Được Tính Trên Phần Mềm Autohydro L10
L20
L30
L40
L50
L60
L70
L80
Kết Quả Tính Của Phần Mềm L90
L10
L20
L30
L40
L50
L60
L70
Sai Số Giữa Các Kết Quả (%) L80
L90
L10
L20
L30
L40
L50
L60
L70
L80
L90
0.694 1.156 1.385 1.515 1.594 1.647 1.642 1.579 1.457 0.692 1.153 1.382 1.512 1.591 1.645 1.641 1.578 1.457 0.29 0.26 0.22 0.20 0.19 0.12 0.06 0.06 0.00
0.491 0.956 1.292 1.518 1.657 1.701 1.662 1.552 1.387 0.490 0.954 1.289 1.515 1.654 1.699 1.660 1.551 1.386 0.20 0.21 0.23 0.20 0.18 0.12 0.12 0.06 0.07
0.417 0.833 1.221 1.483 1.619 1.657 1.617 1.513 1.357 0.416 0.831 1.219 1.481 1.617 1.655 1.615 1.512 1.356 0.24 0.24 0.16 0.14 0.12 0.12 0.12 0.07 0.07
0.387 0.776 1.137 1.388 1.519 1.565 1.544 1.465 1.337 0.386 0.775 1.135 1.386 1.517 1.563 1.543 1.464 1.337 0.26 0.13 0.18 0.14 0.13 0.13 0.06 0.07 0.00
0.375 0.738 1.028 1.240 1.378 1.445 1.453 1.409 1.320 0.374 0.737 1.027 1.239 1.377 1.444 1.452 1.408 1.320 0.27 0.14 0.10 0.08 0.07 0.07 0.07 0.07 0.00
0.365 0.664 0.897 1.079 1.216 1.309 1.353 1.351 1.307 0.365 0.663 0.896 1.078 1.215 1.308 1.353 1.351 1.307 0.00 0.15 0.11 0.09 0.08 0.08 0.00 0.00 0.00
0.294 0.538 0.748 0.927 1.073 1.184 1.258 1.291 1.278 0.294 0.538 0.748 0.927 1.073 1.184 1.258 1.291 1.278 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Nhận xét: K ết quả mà phần mềm xuất ra cho k ết quả tƣơng đối chính xác so v ớ i k ết quả phần mềm Autohydro. Nhƣ vậy, việc sử dụng phƣơng pháp affine trong tính toán tr ị số cánh tay đòn hình dáng tại các góc nghiêng ngang khác nhau t ỏ ra thuận lợi hơn r ất nhiều so với phƣơng pháp tính mớ i
118
CHƢƠNG 4: XÂY DỰNG CƠ SỞ DỮ LIỆU CHO CHƢƠNG TRÌNH 4.1. XÂY DỰNG CƠ SỞ DỮ LIỆU CHO MODUN VẼ ĐƢỜ NG HÌNH Nhƣ đã trình ở phần trên thuật toán chƣơng trình đƣơc xây dự ng dựa trên phƣơng pháp đồng dạng hình học. Vì vậy để có các mẫu đƣờ ng hình truyền thống tại Ninh Thuận đóng vai trò làm cơ sở dữ liệu chƣơng trình chúng tôi đã tiế n hành khảo sát đo đạc các mẫu tàu thực tế đang hoạt động trên đị a bàn tỉnh Ninh Thuận. Trên địa bàn tỉnh Ninh Thuận hi ện nay có r ất nhiều lo ại tàu đang hoạt động nhƣng để l ựa ch ọn ra các m ẫu tàu có tính năng hàng hải tốt và đang đƣợc ngƣời dân ƣa chuộ ng là một vấn đề khó khăn. Nhƣ vậy, để giải quyết những vấn đề trên nhóm nghiên c ứu đã thực hiện điều tra, thống k ế, phân tích s ố
lƣợng tàu đang hoạt động trên địa bàn để l ựa ch ọn ra những loại tàu phổ bi ến nh ất trong ỉnh Ninh Thuận. Thông qua việc phân tích trên chúng tôi đã lự a ch n 4 lo i tàu đóng vai
CHƢƠNG 4: XÂY DỰNG CƠ SỞ DỮ LIỆU CHO CHƢƠNG TRÌNH 4.1. XÂY DỰNG CƠ SỞ DỮ LIỆU CHO MODUN VẼ ĐƢỜ NG HÌNH Nhƣ đã trình ở phần trên thuật toán chƣơng trình đƣơc xây dự ng dựa trên phƣơng pháp đồng dạng hình học. Vì vậy để có các mẫu đƣờ ng hình truyền thống tại Ninh Thuận đóng vai trò làm cơ sở dữ liệu chƣơng trình chúng tôi đã tiế n hành khảo sát đo đạc các mẫu tàu thực tế đang hoạt động trên đị a bàn tỉnh Ninh Thuận. Trên địa bàn tỉnh Ninh Thuận hi ện nay có r ất nhiều lo ại tàu đang hoạt động nhƣng để l ựa ch ọn ra các m ẫu tàu có tính năng hàng hải tốt và đang đƣợc ngƣời dân ƣa chuộ ng là một vấn đề khó khăn. Nhƣ vậy, để giải quyết những vấn đề trên nhóm nghiên c ứu đã thực hiện điều tra, thống k ế, phân tích s ố
lƣợng tàu đang hoạt động trên địa bàn để l ựa ch ọn ra những loại tàu phổ bi ến nh ất trong tỉnh Ninh Thuận. Thông qua việc phân tích trên chúng tôi đã lự a chọn 4 loại tàu đóng vai trò là các ngành ngh ề chủ l ực và đặc trƣng nhất trên địa bàn tỉnh Ninh Thuận, c ụ th ể là:
lƣới vây, lƣới rê, lƣớ i kéo, pha xúc Để chƣơng trình cho ra đƣợc đƣờ ng hình chính xác và có độ trơn cao đòi hỏi các mẫu đƣờng hình có trong cơ sở dữ liệu của chƣơng trình phả i chính xác và trơn đều. Nhƣng trong quá trình đo đạ c tr ực tiế p các m ẫu tàu trên th ực tế chúng tôi đã sử dụng thiết bị đo đƣờ ng hình chuyên dụng và những thiết bị đo truyền thống nhƣ dây dọi, ống thủy bình, thƣớc lá 5 m, thƣớ c dây 30 m, d ụng c ụ vạch d ấu nhƣ viết, phấn v..v….nên k ết qu ả đo có độ chính xác không cao. Nhƣ vậy để nâng cao độ chính xác và độ trơn của đƣờ ng hình thì các mẫu đƣờ ng hình thực tế sau khi khảo sát đã đƣợ c chúng tôi ch ỉnh trơn trên phầ n mềm AutoShip một trong những phần mềm n ổi ti ếng đƣợc dùng để thi ết k ế tuyến hình, chỉnh
trơn, mô phỏng bề mặt vỏ tàu, đánh giá tính năng hàng hả i của con tàu Dƣới đây là 4 mẫu đƣờ ng hình thực tế và bảng tọa độ kèm theo
119
Suon
CD0
CD1
CD2
CD3
CD4
BC
MCS
DN0
DN1
DN2
DN3
DN4
DN5
BC
MCS
0.0
1328
1328
1328
1328
1875
2528
2895
0
0
0
0
1725
1955
2110
2199
0.5
996
996
996
996
1413
2395
2768
0
0
0
1733
1990
2094
2169
2268
1.0
687
687
687
687
1054
2281
2663
0
0
0
1997
2102
2172
2217
2304
1.5
407
407
407
407
749
2188
2576
0
0
1980
2096
2170
2229
2257
2329
2.0
175
175
175
175
518
2114
2505
0
1918
2070
2159
2217
2268
2285
2351
3.0
0
0
0
0
274
2028
2441
0
2039
2148
2214
2266
2305
2315
2377
4.0
0
0
0
0
250
2044
2471
1658
2054
2169
2234
2281
2318
2331
2391
5.0
0
0
0
0
264
2111
2545
1592
2048
2162
2223
2269
2310
2337
2400
6.0
0
0
0
30
472
2221
2664
1330
1940
2088
2180
2235
2282
2329
2400
7.0
0
0
20
172
827
2399
2841
866
1713
1940
2079
2163
2226
2316
2396
8.0
0
25
206
661
1581
2661
3135
388
1193
1521
1752
1921
2049
2261
2376
8.5
0
99
486
1108
2083
2826
3315
241
851
1180
1444
1667
1849
2197
2324
9.0
0
309
990
1702
2775
3011
3505
157
530
786
1027
1273
1504
2068
Man che song Thong so chinh cua tau luoi keo Chieu dai thiet ke Lmax (mm) : = 17000
0
803
1711
2490
0
3204
3693
0
294
447
605
784
997
1782
1974
10.0
1123
2222
3141
0
0
3399
3885
0
0
0
0
0
249
1072
1383
Chieu cao tau Htk (mm) : = 2600
9,5 DN5
9
0
DN4
8,5 8
0,5 1 1,5 2
2206
9.5
Chieu rong Bmax (mm) : = 4800
10
43 5
DN3 7
6
DN2 DN1 DN0
Man che song Mep Boong DN5 CD4
DN4 CD3
DN3 CD2
DN2
CD1
DN1 DN0
0.0
0.5
1.0
1.5
2.0
3.0
4.0
5.0
6.0
7.0
8.0
8.5
9.0
9.5
10.0
MAN CHE SONG CD4 BOONG CHINH CD3
DN2
DN5
DN1
DN3
CD2
DN4
DN0
CD1 CD0
0.0
0.5
1.0
1.5
2.0
3.0
4.0
5.0
6.0
7.0
8.0
8.5
9.0
9.5
10.0
Hình 4. 1: Đường hình tàu đánh cá lướ i kéo
120
Suon
CD0
CD1
CD2
CD3
CD4
BC
MCS
DN.05
DN1
DN2
DN3
DN4
DN5
BC
MCS
0.0
1979
1978
1978
1980
2188
3121
3572
0
0
0
0
2171
2281
2346
2412
0.5
1477
1477
1478
1480
1570
2978
3409
0
0
0
2188
2356
2400
2417
2476
1.0
1063
1063
1064
1070
1169
2859
3257
0
0
0
2385
2436
2465
2477
2535
1.5
727
728
728
734
847
2746
3121
0
0
2356
2475
2506
2523
2532
2589
2.0
452
452
453
462
580
2669
3011
0
2087
2460
2510
2546
2574
2580
2636
3.0
51
51
54
74
246
2614
2937
719
2407
2512
2568
2604
2629
2631
2685
4.0
0
0
0
26
199
2639
2980
1846
2433
2526
2574
2608
2638
2641
2700
5.0
0
0
0
30
215
2685
3106
1805
2429
2524
2570
2610
2640
2647
2700
6.0
0
0
0
44
293
2826
3327
1701
2362
2492
2546
2588
2627
2640
2694
Man che song Bong chinh
THONG SO CHINH TAU DANH CA LUOI RE Chieu dai thiet ke Lmax (mm) : = 21000 Chieu rong Bmax (mm) : = 5400 DN5
10
7.0
0
0
0
104
515
2982
3626
1449
2206
2384
2469
2525
2569
2596
2672
8.0
0
6
94
377
1210
3171
3950
941
1807
2141
2297
2390
2456
2505
2583
0,5
8.5
0
46
300
748
1903
3297
4119
573
1405
1871
2102
2245
2334
2408
2516
1
9.0
0
246
712
1375
2919
3428
4290
250
899
1413
1752
1984
2133
2300
2437
1,5 2
9.5
0
707
1452
2412
4234
3572
4465
0
407
804
1172
1484
1732
2083
2247
10.0
0
1960
2894
4202
0
3721
4644
0
0
0
319
626
938
1514
1769
Chieu cao tau Htk (mm) : = 2900
DN4
9,5
0
9 8,5 8
43
DN3 DN2 7 6 5 DN1 DN0.05
Man Che Song CDIV
DN5
Boong Chinh CDIII
DN4 DN3 DN2
CDII DN1 CDI DN0.05 0
0,5
1
1,5
2
3
4
5
MAN CHE SONG
6
7
8
8,5
9
9,5
10
Suon
CD0
CD1
CD2
CD3
CD4
BC
MCS
DN.05
DN1
DN2
DN3
DN4
DN5
BC
MCS
0.0
1979
1978
1978
1980
2188
3121
3572
0
0
0
0
2171
2281
2346
2412
0.5
1477
1477
1478
1480
1570
2978
3409
0
0
0
2188
2356
2400
2417
2476
1.0
1063
1063
1064
1070
1169
2859
3257
0
0
0
2385
2436
2465
2477
2535
1.5
727
728
728
734
847
2746
3121
0
0
2356
2475
2506
2523
2532
2589
2.0
452
452
453
462
580
2669
3011
0
2087
2460
2510
2546
2574
2580
2636
3.0
51
51
54
74
246
2614
2937
719
2407
2512
2568
2604
2629
2631
2685
4.0
0
0
0
26
199
2639
2980
1846
2433
2526
2574
2608
2638
2641
2700
5.0
0
0
0
30
215
2685
3106
1805
2429
2524
2570
2610
2640
2647
2700
6.0
0
0
0
44
293
2826
3327
1701
2362
2492
2546
2588
2627
2640
2694
Man che song Bong chinh
THONG SO CHINH TAU DANH CA LUOI RE Chieu dai thiet ke Lmax (mm) : = 21000 Chieu rong Bmax (mm) : = 5400 DN5
10
7.0
0
0
0
104
515
2982
3626
1449
2206
2384
2469
2525
2569
2596
2672
8.0
0
6
94
377
1210
3171
3950
941
1807
2141
2297
2390
2456
2505
2583
0,5
8.5
0
46
300
748
1903
3297
4119
573
1405
1871
2102
2245
2334
2408
2516
1
9.0
0
246
712
1375
2919
3428
4290
250
899
1413
1752
1984
2133
2300
2437
1,5 2
9.5
0
707
1452
2412
4234
3572
4465
0
407
804
1172
1484
1732
2083
2247
10.0
0
1960
2894
4202
0
3721
4644
0
0
0
319
626
938
1514
1769
Chieu cao tau Htk (mm) : = 2900
DN4
9,5
0
9
DN3
8,5 8
DN2 7 6 5 DN1
43
DN0.05
Man Che Song CDIV
DN5
Boong Chinh CDIII
DN4 DN3 DN2
CDII DN1 CDI DN0.05 0
0,5
1
1,5
2
3
4
5
6
7
8
8,5
9
9,5
10
MAN CHE SONG CD4 DN5
CD3
DN2 DN1
CD2 DN3
DN0.05
CD1
DN4
CD0 0
0,5
1
1,5
2
3
4
5
6
7
8
8,5
9
9,5
10
Hình 4. 2: Đường hình tàu đánh cá lướ i rê
121
Suon
CD0
CD1
CD2
CD3
CD4
BC
MCS
DN1
DN2
DN3
DN4
DN5
DN6
DN7
BC
MCS
0.0
1789
1789
1789
1944
0
3003
3313
0
0
0
0
0
1824
2012
2241
2285
0.5
1407
1407
1407
1554
0
2847
3157
0
0
0
0
1891
2048
2153
2296
2336
1.0
1038
1038
1038
1172
2946
2695
3005
0
0
0
1931
2069
2168
2250
2338
2383
1.5
701
701
701
842
2587
2565
2872
0
0
1936
2069
2169
2251
2314
2371
2415
2.0
415
415
415
564
2236
2453
2759
0
1917
2058
2164
2250
2318
2369
2402
2438
3.0
62
62
62
199
1723
2320
2624
1963
2098
2195
2280
2350
2395
2427
2437
2463
4.0
0
0
0
95
1458
2272
2576
2042
2165
2256
2335
2393
2428
2455
2461
2483
5.0
0
0
0
83
1408
2270
2573
2071
2191
2273
2344
2401
2438
2466
2472
2499
6.0
0
0
0
133
1578
2321
2625
2006
2136
2232
2313
2373
2419
2457
2470
2499
7.0
0
0
0
449
1996
2457
2762
1801
1959
2083
2193
2282
2353
2408
2446
2489
8.0
0
0
331
1175
2653
2673
2980
1363
1579
1760
1915
2050
2167
2263
2376
2440
8.5
0
54
791
1665
3058
2802
3111
997
1265
1474
1659
1829
1981
2113
2310
2386
9.0
0
504
1404
2257
0
2949
3260
542
791
1041
1274
1489
1676
1849
2179
2284
9.5
0
1228
2135
3015
0
3115
3427
253
361
513
711
956
1202
1422
1923
2073
10.0
750
2265
3217
0
0
3286
3598
0
0
138
198
307
455
647
1419
1610
Man che song Thong so chinh cua tau danh ca luoi vay
Bong chinh
Chieu dai thiet ke Lmax (mm) : = 15800 Chieu rong Bmax (mm) : = 5000 10
Chieu cao tau Htk (mm) : = 2270
DN7 9,5 0 0,5
DN6 9
DN5
8,5
DN4
8
1 1,5
DN3 7
2
DN2
6 5
DN1
3
4
DN0
Man Che Song Boong Chinh
DN7 DN6
CDIV
DN5 CDIII
DN4 CDII
DN3 CDI
DN2 DN1 DN0
0
0,5
1
1,5
2
3
4
5
6
7
8
8,5
9
9,5
10
CD4
Suon
CD0
CD1
CD2
CD3
CD4
BC
MCS
DN1
DN2
DN3
DN4
DN5
DN6
DN7
BC
MCS
0.0
1789
1789
1789
1944
0
3003
3313
0
0
0
0
0
1824
2012
2241
2285
0.5
1407
1407
1407
1554
0
2847
3157
0
0
0
0
1891
2048
2153
2296
2336
1.0
1038
1038
1038
1172
2946
2695
3005
0
0
0
1931
2069
2168
2250
2338
2383
1.5
701
701
701
842
2587
2565
2872
0
0
1936
2069
2169
2251
2314
2371
2415
2.0
415
415
415
564
2236
2453
2759
0
1917
2058
2164
2250
2318
2369
2402
2438
3.0
62
62
62
199
1723
2320
2624
1963
2098
2195
2280
2350
2395
2427
2437
2463
4.0
0
0
0
95
1458
2272
2576
2042
2165
2256
2335
2393
2428
2455
2461
2483
5.0
0
0
0
83
1408
2270
2573
2071
2191
2273
2344
2401
2438
2466
2472
2499
6.0
0
0
0
133
1578
2321
2625
2006
2136
2232
2313
2373
2419
2457
2470
2499
7.0
0
0
0
449
1996
2457
2762
1801
1959
2083
2193
2282
2353
2408
2446
2489
8.0
0
0
331
1175
2653
2673
2980
1363
1579
1760
1915
2050
2167
2263
2376
2440
8.5
0
54
791
1665
3058
2802
3111
997
1265
1474
1659
1829
1981
2113
2310
2386
9.0
0
504
1404
2257
0
2949
3260
542
791
1041
1274
1489
1676
1849
2179
2284
9.5
0
1228
2135
3015
0
3115
3427
253
361
513
711
956
1202
1422
1923
2073
10.0
750
2265
3217
0
0
3286
3598
0
0
138
198
307
455
647
1419
1610
Man che song Thong so chinh cua tau danh ca luoi vay
Bong chinh
Chieu dai thiet ke Lmax (mm) : = 15800 Chieu rong Bmax (mm) : = 5000 10
Chieu cao tau Htk (mm) : = 2270
DN7 9,5 0 0,5
DN6 9
DN5
8,5
DN4
8
1 1,5
DN3 7
2
DN2
6 5
DN1
3
4
DN0
Man Che Song Boong Chinh
DN7 DN6
CDIV
DN5 CDIII
DN4 CDII
DN3 CDI
DN2 DN1 DN0
0
0,5
1
1,5
2
3
4
5
6
7
8
8,5
9
9,5
10
CD4
DN4 DN1
MAN CHE SONGCD3 DN7 BOONG CHINH CD2 DN6 DN5 DN2
CD1 DN3 CD0
0
0,5
1
1,5
2
3
4
5
6
7
8
8,5
9
9,5
10
Hình 4. 3: Đường hình tàu đánh cá lướ i vây
122
Suon
CD0
CD1
CD2
CD3
CD4
MCS
DN0
DN1
DN2
DN3
DN4
DN5
DN6
MCS
-0.5
2045
2045
2045
2045
2904
4130
0
0
0
0
1517
1974
2090
2230
0.0
1763
1763
1763
1763
2396
3986
0
0
0
0
1915
2102
2201
2294
0.5
1387
1387
1387
1387
1917
3798
0
0
0
1824
2103
2220
2291
2356
1.0
1011
1011
1011
1011
1482
3636
0
0
1606
2079
2220
2298
2352
2396
1.5
643
643
643
643
1110
3490
0
0
2012
2197
2290
2352
2403
2441
2.0
318
318
318
318
807
3356
0
1870
2138
2255
2331
2391
2443
2470
2.5
121
121
121
121
598
3252
0
2017
2191
2283
2358
2419
2473
2488
3.0
33
33
33
33
467
3181
0
2078
2222
2308
2380
2442
2497
2509
4.0
0
0
0
0
356
3125
1594
2130
2271
2357
2425
2479
2529
2536
5.0
0
0
0
0
339
3170
1595
2143
2289
2380
2452
2506
2555
2570
6.0
0
0
0
0
456
3307
1589
2082
2234
2335
2419
2483
2540
2568
7.0
0
0
0
28
904
3522
1481
1920
2092
2216
2323
2413
2493
2562
7.5
0
0
0
212
1384
3673
1271
1734
1947
2102
2231
2340
2437
2527
8.0
0
0
84
720
1954
3850
904
1405
1708
1913
2086
2224
2343
2510
Man che song
8.5
0
61
658
1406
2589
4042
461
904
1307
1611
1856
2047
2198
2452
9.0
0
586
1418
2154
3305
4222
265
475
762
1111
1470
1759
1970
2347
9.5
0
1502
2327
3041
4197
4400
0
205
308
528
818
1204
1554
2128
Man che song 10
Thong so chinh cua tau pha xuc
Chieu rong Bmax (mm) : = 5100
9,5
DN5
-0,5
2385
2976
3583
4352
0
4568
0
0
0
0
0
240
580
9
DN3 8,5
1
1654
Chieu cao tau Hm (mm) : = 2700
DN4
0 0,5
10.0
Chieu dai thiet ke Lmax (mm) : = 17200
DN6
DN2
8
1,5
DN1
7,5 6 7 5
2 3 4 2,5
DN0
Man che song DN6 CD4
DN5 DN4
CD3 CD2
DN3 DN2
CD1
DN1 DN0 -0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
4.0
5.0
6.0
7.0
7.5
8 .0
8 .5
9 .0
9.5
1 0.0
Suon
CD0
CD1
CD2
CD3
CD4
MCS
DN0
DN1
DN2
DN3
DN4
DN5
DN6
MCS
-0.5
2045
2045
2045
2045
2904
4130
0
0
0
0
1517
1974
2090
2230
0.0
1763
1763
1763
1763
2396
3986
0
0
0
0
1915
2102
2201
2294
0.5
1387
1387
1387
1387
1917
3798
0
0
0
1824
2103
2220
2291
2356
1.0
1011
1011
1011
1011
1482
3636
0
0
1606
2079
2220
2298
2352
2396
1.5
643
643
643
643
1110
3490
0
0
2012
2197
2290
2352
2403
2441
2.0
318
318
318
318
807
3356
0
1870
2138
2255
2331
2391
2443
2470
2.5
121
121
121
121
598
3252
0
2017
2191
2283
2358
2419
2473
2488
3.0
33
33
33
33
467
3181
0
2078
2222
2308
2380
2442
2497
2509
4.0
0
0
0
0
356
3125
1594
2130
2271
2357
2425
2479
2529
2536
5.0
0
0
0
0
339
3170
1595
2143
2289
2380
2452
2506
2555
2570
6.0
0
0
0
0
456
3307
1589
2082
2234
2335
2419
2483
2540
2568
7.0
0
0
0
28
904
3522
1481
1920
2092
2216
2323
2413
2493
2562
7.5
0
0
0
212
1384
3673
1271
1734
1947
2102
2231
2340
2437
2527
8.0
0
0
84
720
1954
3850
904
1405
1708
1913
2086
2224
2343
2510
Man che song
8.5
0
61
658
1406
2589
4042
461
904
1307
1611
1856
2047
2198
2452
9.0
0
586
1418
2154
3305
4222
265
475
762
1111
1470
1759
1970
2347
9.5
0
1502
2327
3041
4197
4400
0
205
308
528
818
1204
1554
2128
Man che song 10
Thong so chinh cua tau pha xuc
Chieu rong Bmax (mm) : = 5100
9,5
DN5
-0,5
2385
2976
3583
4352
0
4568
0
0
0
0
0
240
580
9
DN3 8,5
1
1654
Chieu cao tau Hm (mm) : = 2700
DN4
0 0,5
10.0
Chieu dai thiet ke Lmax (mm) : = 17200
DN6
DN2
8
1,5
DN1
7,5 6 7 5
2 3 4 2,5
DN0
Man che song DN6 CD4
DN5 DN4
CD3 CD2
DN3 DN2
CD1
DN1 DN0 -0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
4.0
5.0
6.0
7.0
7.5
8 .0
8 .5
9 .0
9.5
1 0.0
Man che song CD4 MCS DN2 DN1
DN0
DN3
CD3
DN5 DN4
CD2 DN6 CD1 CD0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
4.0
5.0
6.0
7.0
7.5
8.0
8.5
9.0
9.5
10.0
Hình 4. 4: Đườ ng hình tàu đánh cá pha xúc
123
4.2. XÂY DỰNG CƠ SỞ DỮ LIỆU CHO MODUN VẼ ĐỒ THỊ THỦY TĨNH Để có cơ sở dữ liệu đầu vào cho chƣơng trình chúng tôi sử dụng phần mềm Autohydro để tính toán các thông s ố tính nổi cho 4 lo ại tàu (lƣới vây, lƣới rê, lƣớ i kéo, pha xúc) Quá trình tính toán trên ph ần mềm Autohydro đƣợ c thực hiện nhƣ sau:
Bƣớ c I: Chúng tôi ti ến hành lập trình trên Autohydro để tính toán các thông s ố thủy tĩnh cho từng đƣờng nƣớc nhƣ: Xf, S, V, D, Xc, Zc, Cb,
Cm, Cw..
Nội dung đoạn Code đƣợ c chúng tôi s ử dụng để tính các thông s ố tính nổi trên Autohydro nhƣ sau :
4.2. XÂY DỰNG CƠ SỞ DỮ LIỆU CHO MODUN VẼ ĐỒ THỊ THỦY TĨNH Để có cơ sở dữ liệu đầu vào cho chƣơng trình chúng tôi sử dụng phần mềm Autohydro để tính toán các thông s ố tính nổi cho 4 lo ại tàu (lƣới vây, lƣới rê, lƣớ i kéo, pha xúc) Quá trình tính toán trên ph ần mềm Autohydro đƣợ c thực hiện nhƣ sau:
Bƣớ c I: Chúng tôi ti ến hành lập trình trên Autohydro để tính toán các thông s ố thủy tĩnh cho từng đƣờng nƣớc nhƣ: Xf, S, V, D, Xc, Zc, Cb,
Cm, Cw..
Nội dung đoạn Code đƣợ c chúng tôi s ử dụng để tính các thông s ố tính nổi trên Autohydro nhƣ sau : Clear report
[Xóa ph ần kết quả có từ trước] [Không cho phép Autohydro v ẽ
Plot off
đồ thị chỉ xuất bảng kết quả] dr=0,0.315,0.63,...,2.205/g [Tính các thông s ố D, V, Zc, Xc….tại các đường nước lần lượt là 0,0.315,0.63,...,2.205] Ghs dr=0,0.315,0.63,...,2.205/km [Tính các hệ số hình dáng C b, Cm…. tại từng đường nước 0,0.315,0.63,...,2.205] Hull dr=0,0.315,0.63,...,2.205/form Disk c:\\tau luoi vay1.txt [T ự động lưu file kết quả ra file Hs
“tau luoi vay1.txt” trên ổ đĩa C].
Bƣớ c II: Copy và Paste toàn b ộ đoạn Code trên vào m ục “Editor” của Autohydro và có k ết quả nhƣ sau (Hình 4.5 ):
124
Hình 4. 5: Code dùng để tính toán các yêu t ố tính n ổ i
- Tiế p theo, chúng ta ti ến hành tính toán b ằng cách nhấn phím F5 hoặc vào mục Editor
==> Run ==> Batch (all lines). Nhƣ vậ y Autohydro sẽ t ự động tính toán các s ố th ủy tĩnh của đƣờ ng hình tàu mẫu và cho ra đƣợ c k ết quả nhƣ sau (Bảng 4.1 ): Hydrostatic Properties Draft is from Baseline. No Trim, No heel, VCG = 0.000 LCF Draft (m)
Displ (MT)
LCB (m)
VCB (m)
LCF (m)
TPcm (MT/cm)
MTcm (MT-m /deg)
KML (m)
KMT (m)
0.315
9.456
0.796f
0.169
0.550f
0.354
4.300
26.052
4.527
0.630
21.702
0.574f
0.342
0.281f
0.419
6.404
16.905
2.883
0.945
35.797
0.419f
0.519
0.082f
0.474
8.687
13.904
2.417
1.260
51.569
0.290f
0.698
0.085a
0.526
11.296
12.549
2.267
1.575
68.909
0.175f
0.879
0.253a
0.574
14.209
11.813
2.234
1.890
87.717
0.066f
1.062
0.401a
0.618
17.491
11.424
2.259
2.205
107.700
0.024a
1.244
0.433a
0.650
20.215
10.753
2.312
Water Specific Gravity = 1.025. Hull Form Coefficients (with appendages) Draft is from Baseline
125
Trim: zero Heel: zero Draft
Volume
Coefficients
WS Area
m
m3
Cp
Cb
Cms
Cwp
Cvp
Cws
m2
0.315
9.23
0.703
0.653
0.928
0.773
0.844
3.723
37.12
0.630
21.17
0.706
0.653
0.925
0.797
0.819
3.012
47.39
0.945
34.92
0.706
0.651
0.922
0.817
0.797
2.788
58.13
1.260
50.31
0.705
0.646
0.916
0.831
0.777
2.686
69.04
1.575
67.23
0.703
0.642
0.913
0.843
0.761
2.639
80.35
1.890
85.58
0.702
0.642
0.915
0.857
0.750
2.620
91.99
2.205
105.07
0.714
0.655
0.918
0.872
0.751
2.584
101.58
Note: Coefficients calculated based on waterline length at given draft
Bảng 4.1: Thông s ố tính n ổi đượ c phần mề m Autohydro xu ấ t ra
Trong đó : Draft – các đƣờng nƣớ c Displ (Displacement) – lƣợ ng chiếm nƣớ c LCB(Length Coefficients Buoyancy) – hoành độ tâm nổi Xc VCB(Vertical Coefficients Buoyancy) – cao độ tâm nổi Zc LCF( Length Coefficients Flotation: ) – hoành độ tr ọng tâm mặt đƣờng nƣớ c TPcm – tấn trên 1 cm chìm MTcm – mômen gây chúi 1 cm KML(Keel metacenter length) – bán kính ổn định dọc KMT(Keel metacenter Transever) – bán kính ổn định ngang C b (coefficients block) : hệ số béo, hệ số đầy thể tích 126
Cm (coefficients midship ) : hệ số diện tích mặt cắt ngang Cw (coefficients waterplane) : hệ số diện tích mặt đƣờng nƣớ c
Khi có đủ các s ố liệu chúng tôi tiến hành lậ p trình dựa trên phƣơng pháp affine mà chúng tôi đã nêu ở trên. 4.3. XÂY DỰNG CƠ SỞ DỮ LIỆU CHO MODUN VẼ ĐỒ THỊ PANTOKAREN Nhƣ đã trình bày, phƣơng pháp affine đồ thị Pantokaren đƣợ c thực hiện nhờ việc nhân hệ số kích thƣớ c dx, dy, dz v ớ i các giá tr ị Zc, Yc đƣợ c tính tại các góc nghiêng ngang khác
nhau. Nhƣ vậy để có đƣợ c các thông s ố nêu trên chúng tôi s ử dụng phƣơng pháp Krylop – Dargnies để tính toán cho 4 m ẫu đƣờ ng hình thực tế Quá trình tính toán nhƣ sau:
Đầu tiên xác định vị trí của sƣờ n Tchebyshev trên bản vẽ đƣờ ng hình dựa vào bảng sau:
Các điểm cắt của phƣơng pháp Tchebyshe 2 3 4 5 6 7 8 9 10
Hoành độ x (chiều dài tính từ tung độ 0 đến tung độ y lấy bằng trị số trên bảng nhân với L/2) 0 0 0 0 0 0 0
0.5773 0.7071 0.1876 0.3745 0.2666 0.3239 0.1026 0.1026 0.0838
0.7947 0.8325 0.4225 0.5297 0.4062 0.5288 0.3127
Bảng 4. 1 : Xác định vị trí đường sườ n Tchebyshev
127
0.8662 0.8839 0.5938 0.601 0.5
0.8974 0.9116 0.6873
0.9162
Khi đã xác định đƣợ c các vị trí của đƣờng sƣờ n Tchebyshev trên b ản vẽ đƣờ ng hình công việc ti ếp theo là xác định giao điể m c ủa đƣờng nƣớ c Tchebyshev với đƣờng nƣớ c,
đƣờ ng cắt d ọc trên b ản v ẽ đƣờ ng hình. Công việc ti ế p theo là vẽ l ại đƣờng sƣờ n này dựa vào những giao điểm đã đƣợc xác định, quá trình này tƣơng tự nhƣ việc phóng dạng tàu.
Dƣới đây là đƣờng sƣờn Tchebyshev đã đƣợ c chúng tôi dựng cho mẫu tàu lƣớ i kéo
Hình 4. 6 : Đường sườ n Tchebyshev
Tính toán các giá tr ị r, Zc, Yc t ại từng góc nghiêng đƣợc xác định dựa trên đƣờng sƣờ n
Tchebyshev. Nhƣ vậy để tính đƣợ c các thông s ố đã nêu ở trên cần phải xác định các hệ số a, b hay nói cách khác là giao điể m của các đƣờng nƣớ c nghiêng ngang khác nhau v ớ i đƣờng sƣờ n Tchebyshev(hình 4.7). Một trong những công việc phức tạp và khó khăn nhất chính là đả m bảo sao cho thể tích tại đƣờng nƣớc trƣớ c khi nghiêng và sau khi nghiêng phải không đổi V = const, nhƣ vậy để thực hiện điều này chúng tôi hi ểu chỉnh dựa vào giá tr ị η, phƣơng pháp hiệ u chỉnh này đã đƣợc chúng tôi đề cậ p tớ i trong mục cơ sở lý thuyết của đề tài này. Các giá tr ị a, b sẽ đƣợ c thay vào (b ảng 4.2) để tính r θ, sau đó Zc, Yc sẽ đƣợ c tính dựa theo công th ức: zC =
Zc0
128
90
90
0
0
r ().cos .d , yc =
r ().sin .d .
Xác định giá tr ị a, b theo hình
e Hình 4. 7 : Xác định các giá tr ị a, b
Dƣới đây là bả n vẽ đƣờng sƣờ n Tchebyshev với các đƣờ ng nƣớc đã đƣợ c hiệu chỉnh
Hình 4. 8: Đường nước đã đượ c hiệu chỉ nh
Các giá tr ị a, b sẽ đƣợ c thay vào bảng 4.2 để tính các thông s ố cần thiết nhƣ: I, S, ή , r 129
Bảng 4. 2: Bảng tính các r theo phương pháp Krylop – Dargnies
THỂ TÍCH NGẬP NƢỚC V(Volumn) ᶿ = 10
Sƣờn Trshebyche a
a2
a3
b
b2
b3
1 2 3 4 5 6 7 8 9 10 Tổng các hạng mục Tổng a+b =[1] Tổng a2-b2 =[2] Tổng a3+a3 = [3] [4]n= [2]/[1]*0,5 [5] I= 1/3* (L/n)*[3] [6]S0*n^2=(L/n).[1].[4].[4] [7]J=[5]-[6] r = [7]/V
Bảng giá tr ị Zc, Yc đƣợ c tính cho mẫu tàu lƣớ i rê: Bảng 4. 3: B ảng tính giá tr ị Zc của tàu lướ i rê
Thể tích(V) 17.866 41.497 69.117 99.699 132.194
10 20 30 40 50 60 70 80 90 z z z z z Z z z z 0.29125 0.367136 0.449373 0.590882 0.848427 1.276598 1.761638 2.097071 2.310031 0.56974 0.65358 0.77577 0.92633 1.0657 1.22658 1.31441 1.36209 1.46764 0.845882 0.919516 1.0589 1.176743 1.251346 1.28567 1.307348 1.351333 1.550034 1.126245 1.184432 1.269551 1.363009 1.409006 1.414302 1.509829 1.562259 1.640641 1.40373 1.4337 1.47642 1.51833 1.56937 1.64188 1.67334 1.70452 1.73806
130
Bảng 4. 4: B ảng tính giá tr ị Yc của tàu lướ i rê
Thể tích(V) 17.866 41.497 69.117 99.699 132.194
10 20 30 40 50 60 70 80 90 y y y y y y y y y 0.509205 0.683029 0.756386 0.945633 1.290408 1.783836 2.163555 2.205186 2.063331 0.35933 0.65376 0.88626 1.0661 1.13101 1.19214 1.1084 0.98176 0.92934 0.239823 0.536421 0.8733 0.966681 0.914517 0.798077 0.689007 0.627378 0.725134 0.18683 0.422693 0.595825 0.695412 0.641435 0.527241 0.571157 0.5391 0.530741 0.1489 0.24387 0.31993 0.35066 0.38315 0.43505 0.40365 0.374 0.34736
Nhƣ vậy dựa trên các giá tr ị Zc, Yc đã đƣợ c tính thay các giá tr ị này vào công thức L(hd) = Yc.cosθ + Zc.sinθ
131
CHƢƠNG 5: THẢO LUẬN K ẾT QUẢ 5.1 K ẾT LUẬN Sau thờ i gian hơn 6 tháng thự c hiện đề tài, v ớ i số lƣợ ng công việc tƣơng đối lớ n và
cũng gặp không ít khó khăn nhƣng đƣợ c sự hƣớ ng dẫn tận tình của thầy PGS.TS Tr ần Gia Thái, KS. Đỗ Quang Thắng, cùng các th ầy trong khoa K ỹ Thu ật Giao Thông, trƣờ ng Đại Học Nha Trang, đến nay đề tài của chúng tôi đã đƣợ c hoàn tất và đạt đƣợ c k ết quả nhất định. Trong quá trình ki ểm tra và chạy th ử ph ần m ềm, chúng tôi có nh ững k ết lu ận
và đánh giá về phần mềm nhƣ sau: - Vẽ hoàn chỉnh bản vẽ đƣờng hình tàu đánh cá dân gian vỏ gỗ của Ninh Thuận
theo các kích thƣớ c chính của tàu thiết k ế một cách nhanh chóng và chính xác trên phần mềm AutoCAD dƣớ i dạng 2D và 3D - Xuất chính xác b ảng tọa độ đƣờ ng hình của tàu thiết k ế trên phần mềm AutoCAD và Notepad - Chƣơng trình chạ y ổn định trên các phiên b ản AutoCAD từ 2004 – 2008. Đối vớ i vớ i những phiên bản khác của AutoCAD chúng tôi s ẽ cung cấ p code riêng để chạy chƣơng trình này. - Tính toán đƣợ c các tính năng cần thiết cho các mẫu tàu truyền thống tại Ninh Thuận và đạt k ết quả chính xác - Sử d ụng đơn giản, thuận ti ện cho ngƣờ i dùng, nhất là với đối v ới ngƣờ i dùng là
ngƣ dân. 5.2 NHỮNG ĐỊNH HƢỚ NG NGHIÊN CỨU TRONG TƢƠNG LAI - Tiế p tục phát triển chƣơng trình này để nâng cao độ chính xác và phát tri ển thêm phần mềm tính toán các tính năng cho mọ i tàu - Mở rộng hƣớng nghiên cứu đối với các mẫu tàu cá đặc trƣng ở các địa phƣơng khác 132