Tải bản đầy đủ (.docx) (48 trang)

thiết kế và vẽ trục trung gian của tàu thủy

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 (211.26 KB, 48 trang )

B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 1
PHẦN I:
MỞ ĐẦU
1.1. Cơ sở lý thuyết
Tự động hóa thiết kế là lĩnh vực hết sức phức tạp, nó yêu cầu khả
năng rất cao của người thiết kế. Nhưng giá trị , lợi ích mà tự động hóa mang
lại là vô cùng to lớn. Khả năng tự động hóa rất đa dạng và có nhiều phương
pháp để đi tới thành công. Trong nội dung của đề tài “Tự động hóa thiết kế
và vẽ trục trung gian” ta sử dụng phần mềm Auto LISP để thực hiện quá
trình tự động.
LISP là chữ viết tắt của cụm từ tiếng Anh: LISt Processor (Xử lý danh
sách)
AutoLisp là một ứng dụng của ngôn ngữ Lisp được sử dụng trong môi
trường AutoCad. LISP là ngôn ngữ lập trình thuộc nhóm trí tuệ nhân tạo do
MacCarthy soạn thảo cuối những năm 50. Với AutoLisp người dùng có thể
mở rộng và tuỳ biến các chức năng của AutoCad.
Hiện nay AutoLisp đã được hãng Autodesk phát triển theo các số hiệu
phát hành của AutoCad. Về căn bản những phiên bản sau vẫn sử dụng được
những chương trình lập bằng phiên bản trước, ngược lại thì không được do
có một số biến hệ thống và lệnh của AutoCad giữa các phiên bản không
giống nhau nên việc dùng chung có gặp một số trở ngại. Do vậy yêu cầu
người lập trình AutoLisp phải nắm thật vững AutoCad để sử dụng AutoLisp
một cách hiệu quả.
AutoLisp là một ngôn ngữ lập trình thông dịch, nghĩa là dịch đến
dòng nào thực hiện dòng đó và cho kết quả, không có trình biên dịch riêng.
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế


Trang: 2
Một tập hợp các câu lệnh của AutoLisp được gọi là hàm Lisp và tệp (file)
chứa các hàm gọi là tệp (file) Lisp có phần mở rộng là *.Lsp.
Với AutoLisp, người dùng có thể dễ dàng truy cập đến dữ liệu của
AutoCad, có thể thay đổi, tạo mới, xoá bỏ các đối tượng, thêm các thông tin
vào bản vẽ thực hiện các công việc Tự động hoá trong thiết kế
Sử dụng Autolisp ta co the viết các chương trình tạo các lệnh mới
trong AutoCAD hoặc các chương trình tự động thiết kế các bản vẽ được sử
dụng thường xuyên để góp phần tăng năng suất thiết kế. Bạn có thể sử dụng
bất kỳ soạn thảo nào để để tạo ra các chương trình Autolisp.
1.2. Đặt vấn đề
Đề tài: “thiết kế và vẽ trục trung gian của tàu thủy” là loại đề tài tự
động thiết kế bản vẽ. Từ các dữ liệu đầu vào ta có thể tính toán ra thông số
rồi thực hiên lệnh vẽ.
Với việc tự con người tính toán rồi vẽ theo đề tài thì sẽ phải mất khá
nhiều thời gian và công sức. Thay vào đó khi ta sử dụng phần mềm để tính
toán thiết kế và vẽ thì bây giờ công việc trở nên đơn giản và thuận tiện hơn
rất nhiề lần. Mặt khác với xu thế phát triển của xã hội hiện nay thì công nghệ
thông tin đang tiến tới đỉnh cao thì việc hội nhập các phần mềm để tính toán
trở thành một sự tất yếu, nó ảnh hưởng trực tiếp đến sự tồn vong của doanh
nghiêp.
Cùng với sự phát triển đó thì đề tài như một ví dụ nho nhỏ về sản
phẩm của tự động hóa mang lại những tiện ích mới cho con nghười.
Tuy vậy nhưng sản phẩm tự động hóa lại yêu cầu người thiết kế phải
có trình độ cao và bề dày kinh nghiệm. Sản phẩm tạo ra yêu cầu rất cao về
khả năng ứng dụng thực tế do vậy yêu cầu nhà thiết kế phải có con mắt quan
sát rất tinh tường và lựa chọn ra những phương án tối ưu.
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N

T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 3
Sản phẩm của đề tài là bản vẽ trục trung gian tàu thủy, một thiết bị mà
hầu hết các tầu hiện nay đều có. Khi thiết kế tầu ta đều phải thiết kế các trục
trung gian do vậy để quá trình được nhanh hơn ta sử dụng Autolisp để tạo ra
một chương trình để tự động tính toán thiết kế và vẽ trục trung gian.
Ta có mô hình sản phẩm:
Hình 1.2. Trục trung gian
PHẦN II:
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 4
XÂY DỰNG CHƯƠNG TRÌNH
2.1. Liệt kê và phân tích các vấn đề
Để có thể viết chương trình ta sử dụng phần mềm Autolisp ta có các
cách viết sau:
- Viết trực tiếp:
Tại dòng nhắc Command: của AutoCad ta có thể gõ các câu lệnh theo
cú pháp của AutoLisp. Lệnh này sẽ được thực thi ngay và cho kết quả trên
màm hình tại vùng dòng lệnh, nhưng lệnh này không lưu trữ được.
- Viết thành chương trình:
Dùng chương trình soạn thảo (dạng mã ASCII) bất kỳ hoặc Visual
LISP, viết thành chương trình như một tạp tin nguồn có phần mở rộng *.lsp
Tên tệp tuân thủ theo qui ước của hệ điều hành, thường không quá 8
ký tự, giữa các ký tự không có khoảng trống.
Vậy ta sẽ lựa chọn phương pháp viết thành chương trình.
Trong quá trình thiết kế và vẽ ta cần sử dụng đến các công thức để
tính toán ta sẽ lấy trong cuốn quy pham 2010 để làm cở sở tính toán.

Để cho chương trình dễ kiểm soát lỗi ta chia chuong trình ra thành
nhiều chương trình con sau đó sẽ liên kết các chương trình con đó lại với
nhau để tạo ra chương trình hoàn chỉnh.
Đối tượng sử dụng chương trình là các sinh viên và các kỹ sư có trình
độ và đã có kiến thức căn bản về phần mềm Autolisp và tính toán thiết kế
trục nên ta sẽ hạn chế giải thích và ta sẽ sử dụng các thuật ngữ chuyên ngành
và các ngôn ngữ chuyên môn.
Do sự hạn chế về thời gian cũng như kiến thức chuyên môn nên trong
chương trình mức độ hoàn thiện vẫn còn chưa đạt cao và tính tối ưu còn
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 5
chua rõ. Tuy vậy nhung với sự cố gắng lỗ lực hết mình thì sản phẩm cũng
dần hoàn thiện và mức độ ứng dụng cũng được tăng lên.
2.2. Phân tích các đặc điểm dữ liệu
Ta có cơ sở tính toán của trục:
( các công thức sử dụng trong quy phạm 2010)
Trục trung gian là trục hoặc các đoạn trục nối trục chong chóng (hoặc
trục ống bao) với trục lực đẩy. Nhiệm vụ chính của trục trung gian là truyền
mômen xoắn đến chong chóng.
Trong quá trình làm việc, đoạn trục này ngoài chịu tải do mômen xoắn
còn chịu trọng lượng bản thân, lực đẩy của chong chóng và tải trọng bổ sung
do biến dạng cục bộ của hệ trục hay vỏ tàu. Tuy nhiên, điều kiện làm việc
của đoạn trục này nhẹ nhàng nhất so với các đoạn trục khác nên đường kính
trục thường nhỏ nhất.
Trên đoạn trục trung gian có các ổ đỡ trung gian có thể là ổ đỡ trượt
hoặc ổ lăn để đỡ các đoạn trục.
Công thức tính đường kính trục:

3
1 1
.560
. .
.( 160)
o
s
H
d F k K
N T
=
+
Trong đó:
d
0
– đường kính yêu cầu của trục
H – công suất liên tục của động cơ
N – vòng quay của động cơ
Ts – giới hạn bền kéo của vật liệu làm trục
F1, k1 – các hệ số tra bảng
K – hệ số trục rỗng
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 6
Công thức tính đường kính bulong:
3
0
2

( 160)
0.65
. .
b
b
d Ts
d
n DT
+
=
Trong đó:
D
b
– đường kính bulong
d
0
– đường kính trục
n – số bulong
D – đường kính vòng chia
T
b
– giới hạn bền kéo của vật liệu làm bulong
Việc xác định kích thước trục là đi xác định chiều dài và đường kính
trục. Chiều dài trục thì phụ thuộc vào nhiều yếu tố như vị trí của buồng máy,
chong chóng, kết cấu phần vỏ, công suất của máy chính Sau khi xác định
được chiều dài sơ bộ của trục đi tính đường kính sơ bộ trục.
Nền tảng của việc xác định đường kính các đoạn trục là đi giải quyết
bài toán sức bền dựa trên phụ tải tác dụng lên hệ trục trong quá trình làm
việc.
Nhưng việc giải quyết một cách thông thường như vậy là tương đối

phức tạp vì khó xác định được chính xác độ lớn của phụ tải tác dụng lên hệ
trục. Vì thế phương pháp này chỉ là gần đúng và nếu xét trong điều kiện thực
tế thì không hoàn toàn phù hợp.
Tuy nhiên theo kinh nghiệm thực tế thì kết quả tính toán theo phương
pháp này vẫn đảm bảo sự làm việc an toàn của hệ trục. Do đó đến nay
phương pháp này vẫn được áp dụng.
Số liệu kết quả tính đường kính trục phải ra số nguyên tròn trục hoặc
số cuối là số 5.
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 7
Yêu cầu của đề tài là khi ta nhập công suất của động cơ, vòng quay,
giới hạn bền kéo của vật liệu làm trục, làm bulong thì yêu cầu chương trình
của ta phải tự động tính toán và cuối cùng vẽ ra được bản vẽ trục trung gian.
Yêu cầu bản vẽ sản phẩm phải có tính chính xác cao và có tính mỹ
quan cần thiết. do vậy ta sẽ sử dụng các màu sắc khác nhau để vẽ các đường
có tính chất khác nhau để tạo tính mỹ quan cho sản phẩm.
Số liệu tính toán đầu vao toàn bộ là các số thực lớn hơn không cho
nên khi nhập dữ liệu vào yêu cầu số liệu phải chính xác nếu người dùng
nhập sai phải yêu cầu nhập lại, nếu có thể thì đưa ra dòng chữ để hướng dẫn
người sử dụng.
Nâng cao tính đa dạng của sản phẩm, tránh xảy ra sự đôn điệu cho sản
phẩm để cho sản phẩm được sử dụng rộng dãi.
Trên bản vẽ nên có các chú thích cho sản phẩm và đường ghi kích
thước tại các vị trí cần thiết.
2.3. Lập sơ đồ thuật toán
Ta có sơ đồ tổng quát để thực hiện tạo ra chương trình:
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG

BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 8
Hình 2.3 sơ đồ thuật toán
Trong đó:
• h – Công suất của máy chính
• n – Vòng quay của máy chính
• Ts – Giới hạn bền kéo của vật liệu làm trục
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 9
• Tb – Giới hạn bền kéo của vật liệu làm bulong
2.4. Mã lệnh chương trình
Private Sub CommandButton2_Click()
Dim d0, h, n, k, f1, k1, a, t As Double
Dim b As Integer
If ComboBox4.ListIndex = 0 Then
f1 = 95
End If
If ComboBox4.ListIndex = 1 Then
f1 = 100
End If
t = TextBox5.Value
h = TextBox1.Value
n = TextBox2.Value
k1 = TextBox3.Value
k = 1 / (1 - (k1 ^ 4))

d0 = 1.1 * f1 * (h * k * (560 / (t + 160)) / n) ^ (1 / 3)
a = d0 Mod 10
b = d0 \ 10
If a > 5 Then
d0 = b * 10 + 10
Else
d0 = b * 10 + 5
End If
TextBox6.Value = d0
End Sub
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 10
Private Sub CommandButton3_Click()
Dim cmui, clai As Double
If ComboBox3.Value = "" Then
MsgBox "Chon do con truc phia mui", , "Thong bao"
Exit Sub
Else
Select Case ComboBox3.ListIndex
Case 0 'do con 1/10
cmui = 1 / 10
Case 1 'do con 1/12
cmui = 1 / 12
Case 2 'do con 1/15
cmui = 1 / 15
Case 3 'do con 1/20
cmui = 1 / 20

End Select
End If
If ComboBox2.Value = "" Then
MsgBox "Chon do con truc phia lai", , "Thong bao"
Exit Sub
Else
Select Case ComboBox2.ListIndex
Case 0 'do con 1/10
clai = 1 / 10
Case 1 'do con 1/12
clai = 1 / 12
Case 2 'do con 1/15
clai = 1 / 15
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 11
Case 3 'do con 1/20
clai = 1 / 20
End Select
End If
'Ve truc trung gian
Dim l As Double 'chieu dai truc trung gian
Dim l1 As AcadLine
Dim d(0 To 2) As Double
Dim c(0 To 2) As Double
Dim tam(0 To 2) As Double
Dim dcmui, dclai As Integer
Dim conlai, conmui, renlai, renmui As Integer

Dim sc As Double
Dim kichthuoc As AcadDimAligned
Dim str As String
d0 = TextBox6.Value
l = TextBox7.Value
sc = l / 900
con = d0 * 2
ren = Round(d0 * 0.8, 0)
dcmui = d0 - Round(con * cmui, 0)
dclai = d0 - Round(con * clai, 0)
'duong tam truc
On Error Resume Next
ThisDrawing.Linetypes.Load "ACAD_ISO04W100", "acad.lin"
d(0) = 80#: d(1) = 640#: d(2) = 0#
c(0) = 1060#: c(1) = 640#: c(2) = 0#
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 12
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
l1.Linetype = "ACAD_ISO04W100"
' chieu dai truc trung gian
d(0) = 100#: d(1) = 640#: d(2) = 0#
c(0) = 1000#: c(1) = 640#: c(2) = 0#
tam(0) = 550#: tam(1) = 540#: tam(2) = 0#
Set kichthuoc = ThisDrawing.ModelSpace.AddDimAligned(d, c, tam)
kichthuoc.TextHeight = 5
kichthuoc.ArrowheadSize = 5
kichthuoc.DimensionLineColor = acGreen

kichthuoc.TextOverride = l
' duong kinh truc
d(0) = 550#: d(1) = 640 + d0 / 2 / sc: d(2) = 0#
c(0) = 550#: c(1) = 640 - d0 / 2 / sc: c(2) = 0#
tam(0) = 550#: tam(1) = 640#: tam(2) = 0#
Set kichthuoc = ThisDrawing.ModelSpace.AddDimAligned(d, c, tam)
kichthuoc.TextHeight = 5
kichthuoc.ArrowheadSize = 5
kichthuoc.DimensionLineColor = acGreen
kichthuoc.TextOverride = "%%C" + d0
'cac net co ban
a = d0 / 2 / sc
d(0) = 340#: d(1) = 640#: d(2) = 0#
c(0) = 340#: c(1) = a + 640: c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
d(0) = 545#: d(1) = a + 640: d(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
c(0) = 545#: c(1) = 640#: c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 13

a = d0 / 2 / sc
c(0) = 550#: c(1) = 640 + a: c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
d(0) = 635#: d(1) = a + 640: d(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)

d(0) = 550#: d(1) = 640#: d(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)

d(0) = 638#: d(1) = a + 640: d(2) = 0#
c(0) = 725#: c(1) = 640 + a: c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
d(0) = 725#: d(1) = 640#: d(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)

a = d0 / 2 / sc
d(0) = 730#: d(1) = a + 640: d(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
c(0) = 730#: c(1) = 640#: c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)

d(0) = 730#: d(1) = a + 640: d(2) = 0#
c(0) = 730 + (bacmui / sc): c(1) = 640 + a: c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
d(0) = 730 + (bacmui / sc): d(1) = 640#: d(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)

d(0) = 730 + ((bacmui + conmui) / sc): d(1) = 640 + (dcmui / 2 /
sc): d(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 14
c(0) = 730 + ((bacmui + conmui) / sc): c(1) = 640#: c(2) = 0#

Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)

d(0) = 340 - (conlai / sc): d(1) = 640 + (dclai / 2 / sc): d(2) = 0#
c(0) = 340#: c(1) = a + 640: c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
c(0) = 340 - (conlai / sc): c(1) = 640#: c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)

d(0) = 340 - (conlai / sc) - 4: d(1) = 640 + (dclai * 0.9 / 2 / sc): d(2)
= 0#
c(0) = 340 - (conlai / sc) - 4: c(1) = 640#: c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
c(0) = 340 - (conlai / sc) - 4 - (renlai / sc): c(1) = 640 + (dclai * 0.9 /
2 / sc): c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
d(0) = 340 - (conlai / sc) - 4 - (renlai / sc): d(1) = 640#: d(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
d(0) = 340 - (conlai / sc) - 5 - (renlai / sc): d(1) = 640 + (dclai *
0.9 / 2 / sc) - 1: d(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
c(0) = 340 - (conlai / sc) - 5 - (renlai / sc): c(1) = 640#: c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)

c(0) = 340 - (conlai / sc) - 4: c(1) = 640 + (dclai * 0.9 / 2 / sc) - 1:
c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
Dim t(0 To 5) As Double
Dim t1(0 To 9) As Double
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2

B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 15
Dim lwp, lwp1 As AcadLWPolyline
t(0) = 340 - (conlai / sc): t(1) = 640 + (dclai / 2 / sc)
t(2) = 340 - (conlai / sc) - 3: t(3) = 640 + (dclai * 0.9 / 2 / sc) - 1
t(4) = 340 - (conlai / sc) - 4: t(5) = 640 + (dclai * 0.9 / 2 / sc)
Set lwp = ThisDrawing.ModelSpace.AddLightWeightPolyline(t)
d(0) = 340 - (conlai / sc) - 3: d(1) = 640 + (dclai * 0.9 / 2 / sc) - 1:
d(2) = 0#
c(0) = 340 - (conlai / sc) - 3: c(1) = 640#: c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)


t1(0) = 635#: t1(1) = 640 + (d0 / 2 / sc)
t1(2) = 632#: t1(3) = 659
t1(4) = 634#: t1(5) = 652
t1(6) = 631#: t1(7) = 646
t1(8) = 634#: t1(9) = 640
Set lwp = ThisDrawing.ModelSpace.AddLightWeightPolyline(t1)
lwp.Layer = "netmanh"
Dim point1(0 To 2) As Double
Dim point2(0 To 2) As Double
point1(0) = 635: point1(1) = 640 + (d1 / 2 / sc): point1(2) = 0
point2(0) = 638: point2(1) = 640 + (d1 / 2 / sc): point2(2) = 0
Set lwp1 = lwp.Copy()
lwp1.Move point1, point2

d(0) = 734 + ((bacmui + conmui) / sc): d(1) = 640 + (dcmui * 0.9 /
2 / sc): d(2) = 0#

c(0) = 734 + ((bacmui + conmui) / sc): c(1) = 640#: c(2) = 0#
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 16
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
c(0) = 734 + ((bacmui + conmui + renmui) / sc): c(1) = 640 +
(dcmui * 0.9 / 2 / sc): c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
d(0) = 734 + ((bacmui + conmui + renmui) / sc): d(1) = 640#: d(2)
= 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
d(0) = 735 + ((bacmui + conmui + renmui) / sc): d(1) = 639 +
(dcmui * 0.9 / 2 / sc): d(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
c(0) = 735 + ((bacmui + conmui + renmui) / sc): c(1) = 640#: c(2) =
0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
c(0) = 734 + ((bacmui + conmui) / sc): c(1) = 639 + (dcmui * 0.9 /
2 / sc): c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
l1.Layer = "netmanh"

t(0) = 730 + ((bacmui + conmui) / sc): t(1) = 640 + (dcmui / 2 / sc)
t(2) = 733 + ((bacmui + conmui) / sc): t(3) = 640 + (dcmui * 0.9 /
2 / sc) - 1
t(4) = 734 + ((bacmui + conmui) / sc): t(5) = 640 + (dcmui * 0.9 /
2 / sc)
Set lwp = ThisDrawing.ModelSpace.AddLightWeightPolyline(t)


d(0) = 733 + ((bacmui + conmui) / sc): d(1) = 640 + (dcmui * 0.9 /
2 / sc) - 1: d(2) = 0#
c(0) = 733 + ((bacmui + conmui) / sc): c(1) = 640#: c(2) = 0#
Set l1 = ThisDrawing.ModelSpace.AddLine(d, c)
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 17

Dim s1 As AcadSelectionSet
Dim mir As AcadEntity
Dim i1 As AcadEntity

On Error Resume Next
Set s1 = ThisDrawing.SelectionSets("m11")
If Err <> 0 Then
Err.Clear
Set s1 = ThisDrawing.SelectionSets.Add("m11")
Else
s1.Clear
End If

point1(0) = 80#: point1(1) = 640#: point1(2) = 0#
point2(0) = 1060#: point2(1) = 740#: point2(2) = 0#
s1.Select acSelectionSetAll, point1, point2
point1(0) = 80#: point1(1) = 640#: point1(2) = 0#
point2(0) = 1060#: point2(1) = 640#: point2(2) = 0#
For Each i1 In s1

Set mir = i1.Mirror(point1, point2)
Next
' Viet chu trong khung ten
Dim textObj As AcadMText
Dim dc(0 To 2) As Double
Dim i As Integer
Dim mt(0 To 14) As String
Dim Width As Integer
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 18
mt(14) = "TRUONG DAI HOC HANG HAI VIET NAM": mt(13)
= "KHOA CO KHI": mt(12) = "NGANH MAY TAU THUY": mt(11) =
"LOP": mt(10) = "Nguoi ve"
mt(9) = "Kiem tra ": mt(8) = "Ngay ve ":
mt(7) = "BAI TAP LON TU DONG HOA THIET KE": mt(6) =
"TRUC TRUNG GIAN": mt(5) = "S.luong": mt(4) = "K.luong": mt(3) = "Ty
le"
mt(2) = "So to": mt(1) = "To so": mt(0) = "Kho":

dc(0) = 965
dc(1) = 46.8
dc(2) = 0
Width = 150
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(14))
ZoomAll
textObj.height = 3

textObj.Update

dc(0) = 965
dc(1) = 38.8
dc(2) = 0
Width = 150
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(13))
ZoomAll
textObj.height = 3
textObj.Update

KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 19
dc(0) = 965
dc(1) = 31.4
dc(2) = 0
Width = 150
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(12))
ZoomAll
textObj.height = 3
textObj.Update

dc(0) = 965
dc(1) = 23.8
dc(2) = 0

Width = 150
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(11))
ZoomAll
textObj.height = 3
textObj.Update

dc(0) = 965
dc(1) = 16.35
dc(2) = 0
Width = 150
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(10))
ZoomAll
textObj.height = 2.5
textObj.Update
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 20

dc(0) = 965
dc(1) = 10.35
dc(2) = 0
Width = 150
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(9))
ZoomAll
textObj.height = 2.5

textObj.Update

dc(0) = 965
dc(1) = 4.35
dc(2) = 0
Width = 150
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(8))
ZoomAll
textObj.height = 2.5
textObj.Update

dc(0) = 968
dc(1) = 57
dc(2) = 0
Width = 180
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(7))
ZoomAll
textObj.height = 4
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 21
textObj.Update

dc(0) = 1043
dc(1) = 40
dc(2) = 0

Width = 45
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(6))
ZoomAll
textObj.height = 4
textObj.Update

dc(0) = 1098.6
dc(1) = 34.5
dc(2) = 0
Width = 150
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(5))
ZoomAll
textObj.height = 2.2
textObj.Update

dc(0) = 1113.8
dc(1) = 34.5
dc(2) = 0
Width = 150
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(4))
ZoomAll
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 22
textObj.height = 2.2

textObj.Update

dc(0) = 1128.5
dc(1) = 34.5
dc(2) = 0
Width = 150
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(3))
ZoomAll
textObj.height = 2.2
textObj.Update

dc(0) = 1098.6
dc(1) = 16.8
dc(2) = 0
Width = 150
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(2))
ZoomAll
textObj.height = 2.2
textObj.Update

dc(0) = 1113.8
dc(1) = 16.8
dc(2) = 0
Width = 150
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(1))
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2

B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 23
ZoomAll
textObj.height = 2.2
textObj.Update

dc(0) = 1128.5
dc(1) = 16.8
dc(2) = 0
Width = 150
Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
mt(0))
ZoomAll
textObj.height = 2.2
textObj.Update

' Ve khung ten
Dim lineObj As AcadLine
Dim dd(0 To 2) As Double

' Ve duong bao khung
dd(0) = 0#: dd(1) = 0#: dd(2) = 0#
c(0) = 1143#: c(1) = 0#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

dd(0) = 1143#: dd(1) = 0#: dd(2) = 0#
c(0) = 1143#: c(1) = 819#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)


dd(0) = 1143#: dd(1) = 819#: dd(2) = 0#
c(0) = 0#: c(1) = 819#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 24

dd(0) = 0#: dd(1) = 819#: dd(2) = 0#
c(0) = 0#: c(1) = 0#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

' Ve khung ten chi tiet
dd(0) = 963#: dd(1) = 0#: dd(2) = 0#
c(0) = 963#: c(1) = 60#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

dd(0) = 963#: dd(1) = 60#: dd(2) = 0#
c(0) = 1143#: c(1) = 60#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

dd(0) = 963#: dd(1) = 48#: dd(2) = 0#
c(0) = 1143#: c(1) = 48#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

dd(0) = 1038#: dd(1) = 0#: dd(2) = 0#
c(0) = 1038#: c(1) = 48#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)


dd(0) = 983#: dd(1) = 0#: dd(2) = 0#
c(0) = 983#: c(1) = 18#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

dd(0) = 963#: dd(1) = 18#: dd(2) = 0#
c(0) = 1143#: c(1) = 18#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2
B À I T Ậ P L Ớ N M Ô N
T Ự Đ Ộ N G H Ó A T H I Ế T K Ế
Trang: 25
dd(0) = 1013#: dd(1) = 0#: dd(2) = 0#
c(0) = 1013#: c(1) = 18#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

dd(0) = 1025.5: dd(1) = 18#: dd(2) = 0#
c(0) = 1025.5: c(1) = 18#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

dd(0) = 1098#: dd(1) = 0#: dd(2) = 0#
c(0) = 1098#: c(1) = 48#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

dd(0) = 1113#: dd(1) = 0#: dd(2) = 0#
c(0) = 1113#: c(1) = 36#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

dd(0) = 1128#: dd(1) = 0#: dd(2) = 0#

c(0) = 1128#: c(1) = 36#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

dd(0) = 963#: dd(1) = 6#: dd(2) = 0#
c(0) = 1038#: c(1) = 6#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

dd(0) = 963#: dd(1) = 12#: dd(2) = 0#
c(0) = 1038#: c(1) = 12#: c(2) = 0#
Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)

dd(0) = 963#: dd(1) = 18#: dd(2) = 0#
c(0) = 1038#: c(1) = 18#: c(2) = 0#
KHOA CƠ KHÍ Sinh viên: LÊ VĂN SÁNG
BỘ MÔN ĐỘNG LỰC – DIESEL Lớp: MTT51-ĐH2

×