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á mở rộng và tuỳ biến các chức năng của AutoCad.. Về căn bản những phi
Trang 1PHẦ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á
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ệuphá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
Trang 2Mộ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 quansát rất tinh tường và lựa chọn ra những phương án tối ưu
Trang 3Sả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:
Trang 4XÂ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
Trang 5chua 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ắncò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
d0 – đườ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ụcF1, k1 – các hệ số tra bảng
K – hệ số trục rỗng
Trang 6Công thức tính đường kính bulong:
3 0
2 ( 160) 0.65
.
b
b
d Ts d
n D T
+
=Trong đó:
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
Trang 7Yê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ảnphẩ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:
Trang 8Hì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
Trang 9• Tb – Giới hạn bền kéo của vật liệu làm bulong
Trang 10Private 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
Select Case ComboBox2.ListIndex
Case 0 'do con 1/10
Trang 11Case 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
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#
Trang 12tam(0) = 550#: tam(1) = 540#: tam(2) = 0#
Set kichthuoc = ThisDrawing.ModelSpace.AddDimAligned(d, c, tam)kichthuoc.TextHeight = 5
tam(0) = 550#: tam(1) = 640#: tam(2) = 0#
Set kichthuoc = ThisDrawing.ModelSpace.AddDimAligned(d, c, tam)kichthuoc.TextHeight = 5
Trang 15Dim 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
Trang 17point1(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
Trang 18mt(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) = "Tyle"
mt(2) = "So to": mt(1) = "To so": mt(0) = "Kho":
Trang 26Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)
Trang 28Private 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
Trang 29Select Case ComboBox2.ListIndex
Case 0 'do con 1/10
'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
Trang 30l = 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"
tam(0) = 550#: tam(1) = 540#: tam(2) = 0#
Set kichthuoc = ThisDrawing.ModelSpace.AddDimAligned(d, c, tam)kichthuoc.TextHeight = 5
tam(0) = 550#: tam(1) = 640#: tam(2) = 0#
Set kichthuoc = ThisDrawing.ModelSpace.AddDimAligned(d, c, tam)kichthuoc.TextHeight = 5
Trang 34Set 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
Trang 35point1(0) = 80#: point1(1) = 640#: point1(2) = 0#
point2(0) = 1060#: point2(1) = 740#: point2(2) = 0#
s1.Select acSelectionSetAll, point1, point2
Trang 36point1(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
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) = "Tyle"
mt(2) = "So to": mt(1) = "To so": mt(0) = "Kho":
Trang 41Set textObj = ThisDrawing.ModelSpace.AddMText(dc, Width,
Trang 42' Ve duong bao khung
Trang 44Set lineObj = ThisDrawing.ModelSpace.AddLine(dd, c)
Trang 472.5 Thử nghiệm chương trình và kết luận
Sau khi hoàn thành chương trình ta cho chương trình chạy với bảng sốliệu: H = 3000 (kW);N = 200 (v/p);Ts = 550 (N/mm2);Tb = 650 (N/mm2)
2.6.Hướng dẫn sử dụng
Trang 48- Thực hiện các lệnh lần lượt như trên.
- Nhập các thông số H(kW),N(v/p),Ts(N/mm2), Tb(N/mm2)
Chú ý : Khi ta nhập các số liệu không phù hợp vào thì chương trình đã bắt ta
nhập lại số liệu
- Thực hiện lệnh vẽ và chọn điểm bắt đầu vẽ
- Kết quả được hiện trên màn hình Autocad
2.7.Nhận xét, đánh giá
Do thời gian thực hiện đề tài còn hạn chế nên sản phẩm chưa được tối ưu.
Với chương trình này giúp sinh viên hiểu them về quá trình tự động hóa Sảnphẩm tạo ra đưa vào ứng dụng phần nào đã tạo cho quá trình học tập thêm
hoàn chỉnh
Để chương trình được hoàn thiện sinh viên đã tham khảo tài liệu:
“Lập trình thiết kế với AutoLISP và Visual LISP” và các phần mềm tương
tự khác cùng với sự giúp đỡ tận tình của giáo viên hướng dẫn Em mong
muốn sau này sẽ có cơ hội để hoàn thiện mở rộng đề tài của mình