Tải bản đầy đủ (.pdf) (104 trang)

Lập trình tính toán tính năng tàu trên phần mềm rhinoceros

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.82 MB, 104 trang )

BỘ GIÁO DỤC ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG

TRẦN VĂN CỦA

LẬP TRÌNH TÍNH TỐN TÍNH NĂNG TÀU TRÊN
PHẦN MỀM RHINOCEROS

LUẬN VĂN THẠC SĨ

KHÁNH HÒA - 2019
1


BỘ GIÁO DỤC ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG

TRẦN VĂN CỦA

LẬP TRÌNH TÍNH TỐN TÍNH NĂNG TÀU TRÊN
PHẦN MỀM RHINOCEROS

LUẬN VĂN THẠC SĨ
Ngành:

Kỹ thuật cơ khí động lực

Mã số:

8520116


Quyết định giao đề tài:

359/QĐ-ĐHNT ngày 02/04/2019

Quyết định thành lập HĐ:

1493/QĐ-ĐHNT ngày 19/11/2019

Ngày bảo vệ:

12/12/2019

Người hướng dẫn khoa học:
TS. HUỲNH LÊ HỒNG THÁI
Chủ tịch Hội đồng:
TS. HUỲNH VĂN VŨ
Phòng ĐT Sau Đại học:

KHÁNH HÒA - 2019
2


LỜI CAM ĐOAN
Tơi xin cam đoan đây là cơng trình nghiên cứu của riêng tôi với sự hướng dẫn
của thầy TS. Huỳnh Lê Hồng Thái. Mọi kết quả nghiên cứu của đề tài “Lập trình tính
tốn tính năng tàu trên phần mềm Rhinoceros” chưa từng được công bố trong bất cứ
cơng trình khoa học nào khác cho đến thời điểm này.
Khánh Hòa, ngày

tháng


Tác giả luận văn

Trần Văn Của

iii

năm 2019


LỜI CẢM ƠN
Sau thời gian thực hiện đề tài đến nay đã hồn thành. Trong suốt thời gian thực
hiện, tơi xin gửi lời cảm ơn đến quý phòng ban Trường Ðại học Nha Trang, Khoa Kỹ
thuật giao thông, Khoa Sau đại học đã tạo điều kiện tốt nhất cho tôi được hồn thành
đề tài này. Ðặc biệt tơi xin cảm ơn thầy TS. Huỳnh Lê Hồng Thái đã trực tiếp giúp đỡ,
hướng dẫn tôi trong suốt thời gian thực hiện đề tài.
Cuối cùng tôi xin gửi lời cảm ơn chân thành đến gia đình và tất cả bạn bè đã giúp
đỡ, động viên tơi trong suốt q trình học tập và thực hiện đề tài.
Mặc dù tôi đã nỗ lực cố gắng để hoàn thành tốt đề tài, nhưng do trình độ chun
mơn cịn hạn chế nên thiếu sót là điều khó tránh khỏi, rất mong được sự đánh giá góp ý
của q thầy cơ.
Tơi xin chân thành cảm ơn!
Khánh Hòa, ngày

tháng

Tác giả luận văn

Trần Văn Của


iv

năm 2019


MỤC LỤC
LỜI CAM ĐOAN ...................................................................................................... iii
LỜI CẢM ƠN ............................................................................................................ iv
MỤC LỤC ................................................................................................................... v
DANH MỤC KÝ HIỆU ...........................................................................................viii
DANH MỤC CHỮ VIẾT TẮT................................................................................... xi
DANH MỤC BẢNG .................................................................................................xii
DANH MỤC HÌNH.................................................................................................. xiv
TRÍCH YẾU LUẬN VĂN........................................................................................ xvi
LỜI NÓI ĐẦU............................................................................................................. 1
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI .................................................................... 2
1. 1 GIỚI THIỆU ĐỀ TÀI ............................................................................................ 2
1.2. TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGỒI NƯỚC ................................... 3
1.2.1. Tình hình nghiên cứu trên thế giới. .................................................................... 3
1.2.2. Tình hình nghiên cứu trong nước ....................................................................... 4
1.3 MỤC TIÊU, ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU ..................................... 5
1.3.1 Mục tiêu nghiên cứu ........................................................................................... 5
1.3.2 Đối tượng, phạm vi nghiên cứu ........................................................................... 5
1.3.2.1 Đối tượng nghiên cứu....................................................................................... 5
1.3.2.2 Phạm vi nghiên cứu.......................................................................................... 5
1.4 PHƯƠNG PHÁP NGHIÊN CỨU ........................................................................... 6
1.5 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN .............................................................. 6
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ............................................................................. 7
2.1 NGƠN NGỮ LẬP TRÌNH CHO RHINOCEROS ................................................... 7
2.1.1 Ngơn ngữ lập trình VBScript .............................................................................. 7

2.1.2 Các kiểu dữ liệu .................................................................................................. 8
2.1.3 Các toán tử trong VBScript ................................................................................. 9
2.1.4 Các cấu trúc điều kiện ....................................................................................... 10
2.1.4.1 Lệnh If ........................................................................................................... 10
2.1.4.2 Lệnh Case ...................................................................................................... 11
2.1.5 Câu lệnh lặp ...................................................................................................... 12
v


2.1.5.1 For .. Next ...................................................................................................... 12
2.1.5.2 Do … Loop .................................................................................................... 12
2.1.6 Thủ tục (Procedure) .......................................................................................... 13
2.1.6.1 Sub Procedure ................................................................................................ 14
2.1.6.2 Function Procedure (Hàm) ............................................................................. 14
2.2 TÍNH TỐN TÍNH NĂNG .................................................................................. 14
2.2.1 Khai báo dữ liệu đầu vào................................................................................... 15
2.2.2 Tính tốn thủy tĩnh ............................................................................................ 19
2.2.2.1 Đọc dữ liệu .................................................................................................... 23
2.2.2.2 Tạo mặt đường nước ...................................................................................... 23
2.2.2.3 Xác định các yếu tố mặt đường nước ............................................................. 24
2.2.2.4 Tạo khối 3D phần chìm thân tàu..................................................................... 26
2.2.2.5 Xác định các yếu tố thể tích ........................................................................... 28
2.2.2.6 Xây dựng dữ liệu, vẽ đồ thị và xuất kết quả.................................................... 30
2.2.3 Tính tốn Bonjean ............................................................................................. 33
2.2.3.1 Đọc dữ liệu .................................................................................................... 35
2.2.3.2 Tạo mặt sườn và tạo mặt đường nước ............................................................ 35
2.2.3.3 Xác định phần chìm mặt sườn ........................................................................ 36
2.2.3.4 Xác định yếu tố Bonjean theo đường nước và mạn tàu. .................................. 37
2.2.4 Tính tốn Pantokaren ........................................................................................ 38
2.2.5 Tính tốn ổn định tàu thủy ................................................................................ 46

2.2.5.1 Ổn định ban đầu ............................................................................................. 47
2.2.5.2 Ổn định ở góc nghiêng lớn ............................................................................. 48
2.2.5.3 Ổn định động ................................................................................................. 49
CHƯƠNG 3: KẾT QUẢ NGHIÊN CỨU .................................................................. 51
3.1 CHƯƠNG TRÌNH TÍNH TỐN TÍNH NĂNG .................................................... 51
3.1.1 Tổng quan về chương trình ............................................................................... 51
3.1.2 Trình tự sử dụng chương trình........................................................................... 52
3.2 KẾT QUẢ CHẠY CHƯƠNG TRÌNH .................................................................. 52
3.2.1 Mẫu tàu số 1 ..................................................................................................... 52
3.2.1.1 Tính tốn thủy tĩnh mẫu tàu số 1 .................................................................... 53
3.2.1.2 Tính toán Bonjean mẫu tàu số 1 ..................................................................... 54
vi


3.2.1.3 Tính tốn ổn định ban đầu mẫu tàu số 1 ......................................................... 57
3.2.1.4 Tính tốn Pantokaren mẫu tàu số 1................................................................. 58
3.2.1.5 Tính tốn ổn định mẫu tàu số 1 ...................................................................... 59
3.2.1.6 So sánh kết quả tính với phần mềm DelftShip và Maxsurf ............................. 65
3.2.2 Mẫu tàu số 2 ..................................................................................................... 68
3.2.2.1 Tính tốn thủy tĩnh mẫu tàu số 2 .................................................................... 69
3.2.2.2 Tính tốn Bonjean mẫu tàu số 2 ..................................................................... 70
3.2.2.3 Tính toán ổn định ban đầu mẫu tàu số 2 ......................................................... 72
3.2.2.4 Tính tốn Pantokaren mẫu tàu số 2................................................................. 74
3.2.2.5 Tính toán ổn định mẫu tàu số 2 ...................................................................... 74
3.3.2.6 So sánh kết quả tính tốn với phần mềm Maxsurf .......................................... 80
CHƯƠNG 4: KẾT LUẬN VÀ ĐỀ XUẤT ................................................................. 84
4.1 KẾT LUẬN.......................................................................................................... 84
4.1.1 Ưu điểm ............................................................................................................ 85
4.1.2 Nhược điểm ...................................................................................................... 85
4.2 ĐỀ XUẤT ............................................................................................................ 85

TÀI LIỆU THAM KHẢO ......................................................................................... 87

vii


DANH MỤC KÝ HIỆU
Lmax: Chiều dài tàu lớn nhất
Bmax: Chiều rộng tàu lớn nhất
H: Chiều cao mạn tàu
L: Chiều dài tàu
B: Chiều rộng tàu
Lf: Chiều dài đường nước
Bf: Chiều rộng đường nước
d: Chiều chìm trung bình
D: Lượng chiếm nước
V: Thể tích chiếm nước
Sf: Diện tích mặt đường nước
Xf: Hồnh độ tâm diện tích mặt đường nước
XB: Hồnh độ tâm nổi
ZB: Cao độ tâm nổi
α: Hệ số mặt đường nước
β: Hệ số mặt cắt ngang
δ: Hệ số béo thể tích
r: Bán kính nghiêng ngang
R: Bán kính nghiêng dọc
Ix: Mơmen qn tính riêng của diện tích mặt đường nước lấy đối với trục dọc
Iy: Mơmen qn tính riêng của diện tích mặt đường nước lấy đối với trục ngang
SB: Diện tích mặt biên của mặt đường nước
VB: Thể tích hộp biên của phần chìm tàu
ω: Diện tích mặt cắt ngang

viii


Mω: Mơ men diện tích mặt cắt ngang
Zω: Cao độ trọng tâm diện tích mặt cắt ngang
f: Hàm số
φ: Góc nghiêng ngang
ψ: Góc nghiêng dọc
G: Trọng tâm tàu
XG: Hồnh độ trọng tâm tàu
ZG: Cao độ trọng tâm tàu
S: Diện tích hứng gió của cabin
AV: Diện tích hứng gió của tàu
PV: Áp lực gió
ZV: Chiều cao tâm hứng gió
MV: Mơ men nghiêng do gió
θr, θ1r: Góc lắc
θf: Góc vào nước
lw1: Tay địn nghiêng do gió
lw2: Tay địn nghiêng do gió giật
T: Chu kỳ lắc
Ak: Diện tích vây giảm lắc
Tm: Chiều chìm mũi tàu
Tl: Chiều chìm lái
ΔTm: Nghiêng dọc mũi
ΔTl: Nghiêng dọc lái
P: Khối lượng tải trọng
B: Tâm nổi
ix



B’: Tâm nổi khi tàu nghiêng
Mhp: Mô men hồi phục
Lφ = GZ : Cánh tay đòn ổn định tĩnh
GM = ho : Chiều cao tâm nghiêng ngang ban đầu
KG = ZG : Chiều cao trọng tâm tàu so với mặt phẳng qua đáy tàu.
KB = ZB : Chiều cao tâm nổi khi tàu khơng nghiêng
BM = r0 : Bán kính tâm nghiêng ngang khi tàu không nghiêng.
BR = Lk : Cánh tay địn ổn định hình dáng
LG: Cánh tay địn ổn định trọng lượng
KG = ZG : Cao độ trọng tâm tàu
Ahp: Công của mô men hồi phục
Lđ: Cánh tay địn ổn định động
KHC: Vùng hoạt động khơng hạn chế
HC1: Vùng hoạt động hạn chế 1
HC2: Vùng hoạt động hạn chế 2
HC3: Vùng hoạt động hạn chế 3
SB: Vùng hoạt động SB
SI: Vùng hoạt động SI
SII: Vùng hoạt động SII

x


DANH MỤC CHỮ VIẾT TẮT
2D: Two Dimensions (Hai chiều)
3D: Three Dimensions (Ba chiều)
3D Solid: Three Dimensions Solid (Vật rắn ba chiều)
CAD: Computer – Aided Design (Thiết kế với sự hỗ trợ của máy tính)
Rhino: Rhinoceros (Phần mềm Rhinoceros)

NURBS: Non-uniform rational B-spline (Mơ hình tốn học được sử dụng trong
kĩ thuật đồ họa máy tính để biểu diễn đường cong và bề mặt.)
SDK: Software development kit (Bộ công cụ phát triển phần mềm)
TH1: Trường hợp tải trọng 1
TH2: Trường hợp tải trọng 2
TH3: Trường hợp tải trọng 3
TH4: Trường hợp tải trọng 4
TH5: Trường hợp tải trọng 5

xi


DANH MỤC BẢNG
Bảng 2.1 Mô tả các kiểu dữ liệu................................................................................... 8
Bảng 2.2 Toán tử số học .............................................................................................. 9
Bảng 2.3 Toán tử logic ................................................................................................ 9
Bảng 2.4 Toán tử so sánh ........................................................................................... 10
Bảng 2.5 Thông số tàu ............................................................................................... 15
Bảng 2.6 Thông số trường hợp tải trọng..................................................................... 16
Bảng 2.7 Dữ liệu yêu cầu cho kiểm tra ổn định thời tiết ............................................. 16
Bảng 3.1 Kết quả tính tốn thủy tĩnh mẫu tàu số 1 ..................................................... 53
Bảng 3.2 Kết quả tính tốn Bonjean mẫu tàu số 1 ...................................................... 54
Bảng 3.3 Thông số các trường hợp tải mẫu tàu số 1 ................................................... 57
Bảng 3.4 Kết quả tính tốn ổn định ban đầu mẫu tàu số 1 .......................................... 57
Bảng 3.5 Bảng tính Pantokaren mẫu tàu số 1 ............................................................. 58
Bảng 3.6 Dữ liệu yêu cầu cho kiểm tra ổn định thời tiết mẫu tàu số 1 ........................ 59
Bảng 3.7 Bảng tính cánh tay địn ổn định mẫu tàu số 1 .............................................. 60
Bảng 3.8 Bảng tính ổn định theo tiêu chuẩn thời tiết mẫu tàu số 1 ............................. 61
Bảng 3.9 Bảng kiểm tra ổn định theo tiêu chuẩn đồ thị mẫu tàu số 1.......................... 62
Bảng 3.10 So sánh kết quả tính tốn thủy tĩnh mẫu tàu số 1 ....................................... 65

Bảng 3.11 So sánh tính ổn định mẫu tàu số 1 ............................................................. 67
Bảng 3.12 Kết quả tính tốn thủy tĩnh mẫu tàu số 2 ................................................... 69
Bảng 3.13 Kết quả tính tốn Bonjean mẫu tàu số 2 .................................................... 70
Bảng 3.14 Thơng số các trường hợp tải mẫu tàu số 2 ................................................. 72
Bảng 3.15 Kết quả tính tốn ổn định ban đầu mẫu tàu số 2 ........................................ 73
Bảng 3.16 Bảng tính Pantokaren mẫu tàu số 2 ........................................................... 74
Bảng 3.17 Dữ liệu yêu cầu cho kiểm tra ổn định thời tiết mẫu tàu số 2 ...................... 74
xii


Bảng 3.18 Bảng tính cánh tay địn ổn định mẫu tàu số 2 ............................................ 75
Bảng 3.19 Bảng tính ổn định theo tiêu chuẩn thời tiết mẫu tàu số 2 ........................... 76
Bảng 3.20 Bảng kiểm tra ổn định theo tiêu chuẩn đồ thị mẫu tàu số 2........................ 77
Bảng 3.21 So sánh kết quả thủy tĩnh mẫu tàu số 2 ..................................................... 80
Bảng 3.22 So sánh kết quả ổn định mẫu tàu số 2........................................................ 81

xiii


DANH MỤC HÌNH
Hình 2.1 Giao diện RhinoScriptEditor [12] .................................................................. 8
Hình 2.2 Hệ tọa độ thân tàu ....................................................................................... 14
Hình 2.3 Mơ hình 3D vỏ tàu ...................................................................................... 15
Hình 2.4 Xác định các yếu tố mặt đường nước........................................................... 19
Hình 2.5: Cách xác định các yếu tố mặt cắt ngang ..................................................... 21
Hình 2.6 Sơ đồ khối tính tốn các yếu tố thủy tĩnh ..................................................... 22
Hình 2.7 Kết quả tạo mặt phẳng đường nước ............................................................. 24
Hình 2.8 Khối hộp 3D bao phủ phần nổi thân tàu ...................................................... 27
Hình 2.9 Phần chìm thân tàu ...................................................................................... 28
Hình 2.10 Đồ thị thủy tĩnh ......................................................................................... 32

Hình 2.11: Xác định các yếu tố mặt cắt ngang ........................................................... 33
Hình 2.12 Sơ đồ khối tính tốn Bonjean .................................................................... 34
Hình 2.13 Mặt phẳng sườn......................................................................................... 36
Hình 2.14 Mặt phẳng phần chìm của sườn ................................................................. 37
Hình 2.15 Đồ thị Bonjean .......................................................................................... 38
Hình 2.16 Sơ đồ khối tính tốn các yếu tố của đồ thị trung gian................................. 39
Hình 2.17 Mơ hình tàu nghiêng ngang góc φ ............................................................. 40
Hình 2.18 Khối hộp 3D bao phủ phần nổi thân tàu nghiêng ngang............................. 41
Hình 2.19 Phần chìm thân tàu nghiêng ngang ............................................................ 42
Hình 2.20 Các trạng thái nghiêng cùng góc φ ............................................................ 43
Hình 2.21 Đồ thị trung gian ....................................................................................... 43
Hình 2.22 Cánh tay địn hình dáng Lk ........................................................................ 43
Hình 2.23 Sơ đồ khối tính tốn patokaren .................................................................. 44
xiv


Hình 2.24 Đồ thị Pantokaren...................................................................................... 46
Hình 2.25 Ổn định ban đầu ........................................................................................ 47
Hình 2.26 Xác định cánh tay địn ổn định tại góc nghiêng lớn ................................... 48
Hình 2.27 Đồ thị ổn định tĩnh .................................................................................... 49
Hình 2.28 Đồ thị ổn định tĩnh và đồ thị ổn định động ................................................ 50
Hình 3.1 Tuyến hình mẫu tàu số 1 ............................................................................. 53
Hình 3.2 Đồ thị thủy tĩnh mẫu tàu số 1 ...................................................................... 54
Hình 3.3 Đồ thị Bonjean mẫu tàu số 1 ....................................................................... 56
Hình 3.4 Đồ thị Pantokaren mẫu tàu số 1 ................................................................... 59
Hình 3.5 Đồ thị ổn định TH1 mẫu tàu số 1................................................................. 62
Hình 3.6 Đồ thị ổn định TH2 mẫu tàu số 1................................................................. 63
Hình 3.7 Đồ thị ổn định TH3 mẫu tàu số 1................................................................. 63
Hình 3.8 Đồ thị ổn định TH4 mẫu tàu số 1................................................................. 64
Hình 3.9 Đồ thị ổn định TH5 mẫu tàu số 1................................................................. 64

Hình 3.10 Tuyến hình mẫu tàu số 2 ........................................................................... 69
Hình 3.11 Đồ thị thủy tĩnh mẫu tàu số 2..................................................................... 70
Hình 3.12 Đồ thị Bonjean mẫu tàu số 2 ..................................................................... 72
Hình 3.13 Đồ thị Pantokaren mẫu tàu số 1 ................................................................. 74
Hình 3.14 Đồ thị ổn định TH1 mẫu tàu số 2............................................................... 77
Hình 3.15 Đồ thị ổn định TH2 mẫu tàu số 2............................................................... 78
Hình 3.16 Đồ thị ổn định TH3 mẫu tàu số 2............................................................... 78
Hình 3.17 Đồ thị ổn định TH4 mẫu tàu số 2............................................................... 79
Hình 3.18 Đồ thị ổn định TH5 mẫu tàu số 2............................................................... 79

xv


TRÍCH YẾU LUẬN VĂN
Tự động hóa tính tốn tính năng tàu thủy là một trong những vấn đề đã và đang
được quan tâm nghiên cứu rộng rãi nhằm mục đích phục vụ tốt hơn cho việc tính tốn
thiết kế tàu và công tác đào tạo. Rhinoceros (Rhino) là một phần mềm thương mại đơn
lẻ, là một cơng cụ mơ hình hóa 3D dựa trên nền tảng NURBS [15]. Phần mềm đang
được phần lớn sinh viên và các công ty thiết kế tàu sử dụng nhưng chưa thể tự động
hóa tính tốn tính năng tàu. Đề tài: “Lập trình tính tốn tính năng tàu trên phần mềm
Rhinoceros” được đề xuất khơng ngồi mục đích nói trên.
Mục tiêu của đề tài là lập trình tính tốn tính năng tàu thủy trên phần mềm
Rhinoceros bằng ngơn ngữ RhinoScript đảm bảo độ chính xác cần thiết.
Kết quả nghiên cứu đạt được của đề tài là chương trình tính tốn tính năng tàu
dùng cho phần mềm Rhino. Qua những phân tích, so sánh, đánh giá có thể khẳng định
chương trình tính tốn tính năng tàu trên phần mềm Rhino là một chương trình tính
tốn tính năng mới, hợp lý mang lại kết quả đáng tin cậy. Tuy nhiên để hồn thiện hơn
có thể thêm phần tự động xây dựng mơ hình vỏ tàu 3D.
Bố cục của luận văn được chia làm bốn chương.
Chương 1: Giới thiệu tổng quan về đề tài, tình hình nghiên cứu trong và ngồi nước.

Chương 2: Trình bày cơ sở lý thuyết của phương pháp tính tốn tính năng tàu
trên phần mềm Rhino và ngơn ngữ lập trình cho phần mềm Rhino.
Chương 3: Trình bày kết quả nghiên cứu bao gồm các mơ đun tính tốn tính nổi
và tính ổn định của chương trình tính tốn tính năng tàu trên phần mềm Rhino, thực
hiện tính tốn với mẫu tàu cụ thể và đi so sánh kết quả tính tốn của chương trình với
phần mềm DelftShip và Maxsurft.
Chương 4: Trình bày những kết luận và khuyến nghị.
Từ khóa:
“Tính tốn tính năng tàu”
“Phần mềm Rhinoceros”
“Lập trình RhinoScript”
xvi


LỜI NĨI ĐẦU
Ngành cơng nghiệp đóng tàu Việt Nam đang phát triển mạnh mẽ và ngày càng
khẳng định vị thế trên thế giới. Để có được kết quả này, các khâu từ thiết kế sơ bộ,
thiết kế kỹ thuật, thiết kế cơng nghệ, nhà máy đóng tàu... khơng ngừng cải tiến. Các
khâu điều có các đặc thù riêng và đóng vai trị quan trọng trong tồn bộ q trình sản
xuất một con tàu. Trong quá trình thực hiện khâu thiết kế kỹ thuật, nhiệm vụ đặt ra là
phải khẳng định các kết quả thiết kế đạt được các mục đích cần thiết của con tàu, đảm
bảo các tính năng hàng hải cần thiết. Để trợ giúp cho cơng việc tính tốn thiết kế này,
hiện nay có rất nhiều phần mềm thiết kế chuyên dụng như AutoShip, Maxsurf... Trong
thiết kế tàu, tồn bộ cả q trình thiết kế kỹ thuật khá tốn thời gian. Vì vậy, nhu cầu tự
động hóa cho q trình này rất cần thiết.
Ngồi ra, Rhino là một phần mềm thương mại đơn lẻ, là một công cụ mơ hình
hóa 3D dựa trên nền tảng NURBS. Phần mềm này thường được sử dụng cho thiết kế
mỹ thuật, tàu thủy, đồ trang sức, thiết kế ơtơ… bởi tính năng xây dựng mơ hình tương
đối dễ dàng và được phần lớn sinh viên và các công ty thiết kế tàu sử dụng. Hơn nữa,
bản thân phần mềm Rhino không hỗ trợ các cơng cụ tính tốn tính năng tàu thủy,

nhưng nó lại hỗ trợ các ngơn ngữ lập trình như Rhinoscript, PythonScript. Nhờ vậy, có
thể xây dựng được các chương trình tính tốn một cách tự động, nhanh chóng và chính
xác hơn. Từ thực tế đó tơi lựa chọn thực hiện đề tài: “Lập trình tính tốn tính năng
tàu trên phần mềm Rhinoceros”. Mục tiêu chính của đề tài là lập trình tính tốn tính
năng tàu chạy trên phần mềm Rhinoceros.
Đề tài được chia làm các chương:
Chương 1: Tổng quan về đề tài
Chương 2: Cơ sở lý thuyết
Chương 3: Kết quả nghiên cứu
Chương 4: Thảo luận kết quả và kết luận
Trần Văn Của

1


CHƯƠNG 1
TỔNG QUAN VỀ ĐỀ TÀI
1. 1 GIỚI THIỆU ĐỀ TÀI
Như đã biết, thiết kế đường hình tàu và tính tốn tính năng hàng hải cần thiết của
tàu là một cơng việc hết sức khó khăn, phức tạp, khối lượng cơng việc rất lớn và địi
hỏi sự chính xác cao. Từ khi ra đời, thiết kế tàu không ngừng phát triển, trong chừng
mực nhất định ln có sự hỗ trợ có hiệu quả của các phương pháp tính và đặc biệt
cơng cụ đắc lực nhất là máy tính. Những phương pháp số được đưa vào giải quyết các
bài toán thiết kế tàu cho kết quả chính xác hơn, tốc độ xử lý công việc nhanh hơn.
Nhưng hầu hết các phương pháp đều sử dụng dữ liệu từ bản vẽ đường hình 2D, áp
dụng các phép tính tích phân gần đúng nên độ chính xác của kết quả tính cần phải
được đánh giá. Tiến tiếp trên con đường phát triển này là phương pháp tính tốn dựa
trên mơ hình vận rắn 3D và tự động hóa tính tốn, thiết kế đang dần được ưu tiên
nghiên cứu hàng đầu. Mơ hình vật rắn 3D kết hợp với tự động hóa thiết kế tàu làm cho
cơng việc thiết kế, tính tốn trở nên dễ dàng hơn, chính xác hơn và thời gian giải quyết

công việc rút ngắn lại nhiều lần so với cách làm trước nay.
Hiện nay, phần lớn các phần mềm thiết kế tàu như AutoShip, Maxsurf, DelfShip,
Napa, Solidworks… cho phép người sử dụng hồn thiện các tính tốn thiết kế của
mình một cách bán tự động, nghĩa là sau khi tính toán thiết kế trên các phần mềm cần
phải qua giai đoạn xử lý các số liệu kết quả từ các phần mềm theo quy định của đăng
kiểm.
Rhino là một phần mềm đơn lẻ, là một cơng cụ mơ hình hóa 3D dựa trên nền
tảng NURBS, được phát triển bởi Robert McNeel và những người cộng tác. Phần mềm
này thường được sử dụng cho thiết kế mỹ thuật, tàu thủy, đồ trang sức,
ơtơ[13]…Rhino trở nên phổ biến nhờ tính đa dạng của nó, có khả năng nhập xuất hơn
30 định dạng dữ liệu từ đó cho phép Rhino làm việc như một trình chuyển đổi giữa các
phần mềm trong quá trình thiết kế. Rhino chun về tạo mơ hình bằng bề mặt NURBS
tự do. Các công cụ phụ trợ được phát triển bởi McNeel bao gồm Flamingo (cơng cụ
dựng hình Raytrace), Penguin (dựng hình kiểu vẽ tay), và Bongo (cơng cụ đồ họa).
Đặc biệt Rhino là một phần mềm với mã nguồn mở cho phép phát triển bởi phía thứ
2


ba. Giống như nhiều phần mềm khác, Rhino cũng có tính năng cho phép lập trình dựa
trên cơ sở ngơn ngữ Visual Basic và một bộ công cụ phát triển phần mềm SDK [17]
cho phép đọc và viết file Rhino một cách trực tiếp. Hiện nay, các mô đun thiết kế tàu
xây dựng cho phần mềm Rhino đã được các công ty thiết kế tàu sử dụng như Orca3D,
Seanaptic nhưng lại có một số nhược điểm như sau:
+ Giá thành cho các mô đun này tương đối cao không những vượt xa khả năng
của sinh viên, và một số công ty thiết kế tàu.
+ Các mô đun này thường được thiết kế, kiểm tra tính tốn theo các tiêu chuẩn
nước ngồi nên trong nhiều trường hợp kết quả tính tốn cần phải được kiểm tra lại
một lần nữa theo các quy định của đăng kiểm Việt Nam.
Ngoài ra trong thực tế chun mơn, hầu hết q trình tính tốn tính năng tàu thủy
điều bắt đầu từ việc xây dựng mô hình tàu 3D trên phần mềm Rhino. Nhưng hiện tại

Rhino chỉ mới đáp ứng được việc xây dựng tuyến hình cịn phần tính tốn tính năng
tàu thì phải nhờ đến phần mềm khác như Autoship, Maxsurf.
Từ những lý do đó, tơi mạnh dạn chọn đề tài “ Lập trình tính tốn tính năng
tàu thủy trên phần mềm Rhinoceros”. Trong đề tài này tơi tiến hành nghiên cứu các
thuật tốn tính tốn tính năng tàu thủy và lập trình tính tốn năng tàu thủy trên phần
mềm Rhino.
1.2. TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGỒI NƯỚC
1.2.1. Tình hình nghiên cứu trên thế giới
Liên quan đế vấn đề này, hiện nay trên thế giới cũng có nhiều chương trình, các
mơ đun thiết kế tàu xây dựng cho phần mềm Rhino đã được các công ty thiết kế tàu sử
dụng như Orca3D, Seanaptic.
Orca3D là một gói Plug-in bên lĩnh vực hàng hải dành cho Rhino, được xây dựng
và phát triển bởi một nhóm kiến trúc sư hải quân. Orca3D cung cấp các công cụ hỗ trợ
trong việc thiết kế tàu như thiết kế vỏ tàu và làm trơn mịn, tính tốn thủy tĩnh, ổn định,
sức cản, lựa chọn cơng suất máy, tính tốn khối lượng vỏ tàu và dự toán giá thành
[14].
Seanaptic cũng là một gói Plug-in cho Rhino, bản quyền thuộc về cơng ty
Seanaptic tại Barcelona. Nó cung cấp các cơng cụ mơ hình hóa, ước tính khối lượng và
3


tính tốn tọa độ trọng tâm vỏ tàu. Đây là gói phần mềm chuyên bên lĩnh vực kết cấu
tàu thủy [15].
Sau khi tìm hiểu, tơi nhận thấy các chương trình, mơ đun này có đặc điểm như
sau:
+ Cơng việc tính tốn tính năng tàu trên các mơ đun này điều được thực hiện qua
các bước khá phức tạp, đòi hỏi người sử dụng phải có trình độ chun mơn.
+ Các phương pháp và thuật toán được xây dựng bên trong các chương trình, mơ
đun này điều được đóng gói chỉ cho phép người dùng sử dụng, người dùng không thể
can thiệp sâu vào nội dung bên trong.

Vì thế, theo ý kiến riêng tơi, việc tìm hiểu các chương trình, mơ đun này để phục
vụ nghiên cứu, học tập, giảng dạy và thiết kế, tính tốn tính năng tàu ở nước ta là cịn
nhiều hạn chế, khó khăn và tốn kém.
1.2.2. Tình hình nghiên cứu trong nước
Như đã trình bày ở trên, hiện nay ở Việt Nam phần mềm có kỹ thuật vẽ đơn giản
như Rhinoceros đang được phần lớn sinh viên và các công ty thiết kế vừa và nhỏ sử
dụng. Nhưng sau khi vẽ mơ hình tàu trên những phần mềm này cần phải xuất qua một
phần mềm khác như Autoship, Maxsurf để tính tốn tính năng.
Trong nước có các chương trình tự động vẽ tuyến hình tàu, tính tốn tính năng
tàu, một số thuật tốn đã được nghiên cứu và ứng dụng như kết quả nghiên cứu của
PGS.TS Trần Gia Thái, thông qua đề tài cấp Bộ “Tự động hóa thiết kế đường hình tàu
đáp ứng nhu cầu đa dạng tàu nghề cá Việt Nam”[11] trong đó đã cơng bố phần mềm
cho phép thiết kế đường hình cũng như tính tốn tính năng của các mẫu tàu cá Việt
Nam. Kết quả nghiên cứu của Bùi Công Lộc với đề tài “Viết chương trình vẽ đường
hình và tính tố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” [7], nhưng nhìn chung đa phần được viết bằng ngôn ngữ Autolisp ứng dụng
cho phần mềm Autocad và sử dụng dữ liệu từ bản vẽ 2D nên các kết quả tính tốn
phần nào sẽ cịn sai số và một hạn chế nữa là các nghiên cứu này là bị giới hạn trong
một số mẫu tàu cá nhất định.
Gần đây, Tác giả Nguyễn Xuân Hải, đã nghiên cứu đề tài “Nghiên cứu tính tốn
tay địn ổn định tĩnh tàu thủy theo mơ hình vật rắn 3D”. Kết quả nghiên cứu này là một
4


phương pháp mới, hợp lý có độ tin cậy trong việc tính tốn cánh tay địn ổn định tàu
thủy theo mơ hình vật rắn 3D, đã góp phần hạn chế những sai số cho những phương
pháp tính tốn truyền thống từ trước [8]. Hạn chế của phương pháp này khó lập trình
tự động hóa tính tốn nên khi sử dụng phương pháp này trong thiết kế tính tốn tính
năng tàu vẫn cịn khá tốn thời gian.
Tác giả Nguyễn Cơng Chánh đã thực hiện đề tài “Nghiên cứu sử dụng ngôn ngữ

lập trình RhinoScript vẽ hệ lái tàu cá theo các thông số cho trước” [9]. Kết quả của đề
tài, khẳng định rằng có thể sử dụng ngơn ngữ lập trình RhinoScript để lập trình tính
tốn tính năng tàu thủy trên phần mềm Rhino.
Nhìn chung hiện tại, trong nước vẫn chưa có cơng trình nghiên cứu chính thức
nào liên quan đến vấn đề về tự động hóa tính tốn tính năng tàu bằng ngôn ngữ
RhinoScript.
1.3 MỤC TIÊU, ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
1.3.1 Mục tiêu nghiên cứu
Mục tiêu chung của đề tài là lập trình tính tốn tính năng tàu thủy trên phần mềm
Rhino bằng ngôn ngữ RhinoScript đảm bảo độ chính xác cần thiết, cụ thể như sau:
+ Xây dựng chương trình tính tốn thủy tĩnh
+ Xây dựng chương trình tính tốn Bonjean
+ Xây dựng chương trình tính tốn ổn định.
1.3.2 Đối tượng, phạm vi nghiên cứu
1.3.2.1 Đối tượng nghiên cứu
Đề tài chủ yếu nghiên cứu các thuật toán và chương trình tính tốn tính năng tàu
thủy.
1.3.2.2 Phạm vi nghiên cứu
Trong thời gian nghiên cứu cho phép, tôi dự kiến viết chương trình thực hiện một
số nội dung sau:
- Tính tốn tính nổi tàu thủy
- Tính tốn Bonjean
5


- Tính tốn tính ổn định tàu thủy.
- Kiểm tra ổn định theo các tiêu chuẩn của đăng kiểm.
1.4 PHƯƠNG PHÁP NGHIÊN CỨU
Đề tài được nghiên cứu dựa trên cơ sở lý thuyết được trang bị tại Trường Đại học
Nha Trang, kết hợp với yêu cầu quy định của đăng kiểm Việt Nam và tìm hiểu phân

tích mối liên hệ giữa việc tính tốn tính năng tàu và ngơn ngữ lập trình trên phần mềm
Rhino bao gồm những phương pháp sau:
+ Phương pháp lý thuyết.
+ Phương pháp thực nghiệm.
Dựa vào các kết quả từ phần mềm Maxsurf và DelftShip đã được đăng kiểm phê
duyệt để so sánh và đánh giá.
1.5 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN
Kết quả nghiên cứu của đề tài bước đầu có những đóng góp quan trọng nhất định
cả về mặt khoa học và thực tiễn, cụ thể như sau:
Ý nghĩa khoa học
- Xây dựng được cơ sơ khoa học và phương pháp luận ứng dụng tự động hóa vào
tính tốn tính năng tàu thủy cho phần mềm Rhino.
- Đề tài sẽ thực hiện được các bước nghiên cứu tự động tính tốn tính năng tàu
thủy bằng ngôn ngữ Rhinoscript trên phần mềm Rhino.
Ý nghĩa thực tiễn
- Kết quả nghiên cứu của đề tài nhằm giảm thiểu cơng việc tính tốn, rút ngắn
thời gian trong q trình thiết kế tàu.
- Có thể được sử dụng làm tài liệu học tập, nghiên cứu cho cán bộ giảng viên,
sinh viên ngành kỹ thuật tàu thủy.

6


CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
2.1 NGƠN NGỮ LẬP TRÌNH CHO RHINOCEROS
2.1.1 Ngơn ngữ lập trình VBScript
Rhino là một phần mềm đồ họa CAD và 3D được phát triển bởi Robert McNeel
& Associates, một công ty tư nhân được thành lập vào năm 1980. Rhino được phát
triển theo thuật toán NURBS, thuật tốn tập trung vào việc trình bày chính xác các

đường cong và bề mặt tự do toán học trong đồ họa máy tính [13].
RhinoScript là một cơng cụ soạn thảo kịch bản được sử dụng để thêm chức năng
cho Rhino. Nó dựa trên ngơn ngữ VBScript (Visual Basic Scripting Edition) của
Microsoft. VBScript là tập hợp con nghiêm ngặt của ngôn ngữ Visual Basic, được ứng
dụng phổ biến trong Microsoft Excel, Microsoft Access, Microsoft Project và hệ thống
phát triển Visual Basic. Tuy nhiên, nó sẽ được thêm các hàm để phù hợp với phần
mềm Rhino. Khi Rhino nhận các lệnh RhinoScript thì nó sẽ chuyển lệnh này đến trình
biên dịch của RhinoScript, các dòng text ứng với các lệnh của Rhino thì chúng sẽ đánh
giá và thi hành lệnh như mong muốn.
VBScript chỉ có một kiểu khai báo dữ liệu duy nhất được gọi là biến (Variant)
[6]. Biến thể là một loại dữ liệu đặc biệt có thể chứa các loại thông tin khác nhau, tùy
thuộc vào cách sử dụng. Bởi vì biến là kiểu dữ liệu duy nhất trong VBScript, nó cũng
là kiểu dữ liệu được trả về bởi tất cả các hàm trong VBScript. Đơn giản nhất, một biến
thể có thể chứa thơng tin số hoặc chuỗi. Biến thể hoạt động như một số khi nó được sử
dụng nó trong ngữ cảnh số và dưới dạng chuỗi khi sử dụng nó trong ngữ cảnh chuỗi.
Để viết một đoạn RhinoScript chúng ta có thể sử dụng các chương trình soạn
thảo như: Notepad, Microsoft Word, ... nhưng việc tìm kiếm lỗi và nhận dạng biến rất
khó khăn. Vì vậy để khắc phục điều đó Rhino cung cấp mơi trường lập trình
RhinoScriptEditor như hình 2.1, mơi trường này giúp viết và gỡ rối chương trình
RhinoScript cũng như cho phép liên kết trực tiếp với Rhino để chạy thử chương trình.

7


Hình 2.1 Giao diện RhinoScriptEditor [12]
Trong VBScript, để thực hiện một lệnh bất kỳ nào đó trong phần mềm Rhino sẽ
được viết theo cú pháp sau:
Rhino.<tên lệnh><Các tham số cho lệnh của Rhino>
Ví dụ để thực hiện vẽ một đường thẳng qua 2 điểm A (0,0,0) và B (10,5, 0) ta có
cú pháp như sau:

Rhino.Addline array (0,0,0), array (10,5,0).
2.1.2 Các kiểu dữ liệu
Như đã biết, VBScript chỉ có một kiểu khai báo dữ liệu duy nhất được gọi là biến
(Variant). Biến được sử dụng trong những ngữ cảnh khác nhau thì sẽ mang một kiểu
dữ liệu khác nhau. Thơng thường trong Visual Basic thì biến được gán cùng với kiểu
dữ liệu của biến, nhưng trong VBSrcipt thì khơng u cầu về điều này. Các kiểu dữ
liệu của biến được mô tả cụ thể như bảng 2.1.
Bảng 2.1 Mô tả các kiểu dữ liệu
Kiểu dữ
liệu

Mô tả

Empty

Biến là chưa được khởi tạo. Giá trị là 0 cho các biến số hoặc
chuỗi có độ dài bằng không ("") cho các biến chuỗi

Null

Biến không chứa dữ liệu hợp lệ.
8


Long

Chứa số nguyên trong phạm vi -2147483648 đến 2147483647

Single


Biểu diễn giá trị từ ±1.510-45 đến ±3.4 × 1038 với độ chính xác 7
chữ số thập phân

Double

Biểu diễn giá trị từ ±5.0 × 10-324 đến ±1.7 × 10308 với độ chính
xác 15-16 chữ số thập phân

Date
(time)

Chứa một số đại diện cho một ngày từ ngày 1 tháng 1 năm 100
đến ngày 31 tháng 12 năm 9999

String

Biểu diễn một chuỗi ký tự (0 đến khoảng 2 tỷ ký tự Unicode)

Object

Biểu diễn một đối tượng

Error

Chứa dữ liệu lỗi

2.1.3 Các toán tử trong VBScript
Toán tử là ký hiệu chỉ ra phép tốn nào đó được thực hiện trên các tốn hạng (có
thể là một hoặc hai toán hạng)
Các toán tử số học

Bảng 2.2 Toán tử số học
Ký hiệu

Mô tả

+

Phép cộng

-

Phép trừ

*

Phép nhân

/

Phép chia

\

Lấy phần nguyên của phép chia

^

Phép lũy thừa

Các toán tử logic

Bảng 2.3 Tốn tử logic
Ký hiệu

Mơ tả

Not

Trả về giá trị ngược lại của toán hạng

And

Trả về True (1) khi và chỉ khi hai toán hạng cùng là True (1)

AndAlso

Trả về giá trị như And nhưng khi toán hạng thứ nhất là False (0)
sẽ khơng kiểm tra tốn hạng thứ hai và trả về False
9


×