Để thiết lập phần tự động hóa tính toán, kiểm nghiệm chúng ta sử dụng các sheet khác nhau trong Excel. Các phần nhập dữ liệu đầu vào, tính toán điều chỉnh các
thông số, tính toán các thông số hình học của bộ truyền, kiểm nghiệm và phần số liệu để vẽđược bố trí ở các sheet khác nhau.
Hình 3-7 thể hiện giao diện của phần nhập dữ liệu đầu vào để thiết kế
Trong phần tính toán điều chỉnh để tránh việc điều chỉnh tham số tgη làm thay đổi công thức tính toán trong môi trường excel, chúng ta chia làm hai bước khác nhau. Bước lặp đầu tiên được tính toán từ thông số đầu vào, bước lặp thứ hai tiến hành điều chỉnh tham số tgη để đạt được yêu cầu |∆| < 0,001. Ô dữ liệu của tgη trong bước lặp thứ 2 không chứa công thức nên chúng ta có thểđiều chỉnh mà không làm thay đổi dữ liệu của chương trình. Toàn bộ thông số có được ở bước lặp thứ 2 sẽđược sử dụng để tính toán các thông số hình học khác của bộ truyền – được bố trí trong sheet kế tiếp.
Hình 3-9: Tính toán điều chỉnh ở bước lặp tiếp theo
Các dữ liệu trong phần tính toán thông số hình học của bộ truyền sẽ được khóa lại để tránh người dùng thay đổi nó.
Hình 3-11: Kiểm nghiệm bộ truyền
3.3.3. Thiết lập phần xuất bản vẽ tựđộng
Phần tính toán được thực hiện nhờ các hàm trong Excel còn phần bản vẽ được thể hiện trong môi trường AutoCAD, chúng ta cần lập trình để liên kết hai môi trường với nhau. Để thực hiện điều đó chúng ta sử dụng VBA Automation. Hình vẽ dưới đây thể hiện mô hình tham chiếu từ VBA Automation đến hai ứng dụng Excel (ExcelApp) và AutoCAD (AcadApp).
Hình 3-12: Mô hình tham chiếu đến các đối tượng trong ExcelApp và AcadApp
3.3.3.1 Một số kiến thức cơ bản về VBA
Để tạo ra các mã lệnh chúng ta sử dụng môi trường phát triển tích hợp có sẵn trong Microsoft Excel, đó chính là VBA IDE. Để tạo mới một macro chúng ta tiến hành như hình vẽ: cửa sổ soạn thảo của VBA sẽ hiện ra
- Các thành phần cơ bản của VBA IDE bao gồm
1. Thanh trình đơn (Menu bar): chứa tất cả các lựa chọn cần thiết để thao tác với VBA IDE.
2. Cửa sổ dự án (Project Explorer Window): liệt kê dưới dạng cây phân cấp các dự án hiện đang được mở trong VBA IDE và các thành phần có trong từng dự án như các tài liệu thành phần, các mô-đun chứa chương trình con, các mô-đun lớp, các cửa sổ do người dùng tạo.
3. Cửa sổ mã lệnh (Code Window): mỗi thành phần được liệt kê trong cửa sổ dự án đều có một cửa sổ mã lệnh riêng, chứa mã lệnh cho thành phần đó. Người dùng có thể hiệu chỉnh mã lệnh, tạo ra mã lệnh mới trong cửa sổ mã lệnh.
4. Cửa sổ tra cứu đối tượng (Object Browser Window): hiển thị các lớp, phương thức, thuộc tính, sự kiện và hằng số có trong thư viện đối tượng và trong dự án mà người dùng vừa tạo. Ta có thể sử dụng cửa sổ này để tìm kiếm, tra cứu tất cả các đối tượng mà ta vừa tạo ra cũng như các đối tượng trong các chương trình khác.
5. Cửa sổđối tượng trực quan (Visual Object Window): khi người dùng tạo các đối tượng trực quan thì cửa sổ này sẽ cho phép người dùng thao tác trên các điều khiển một cách dễ dàng và thuận tiện.
6. Hộp công cụ chứa điều khiển (Tool Box): chứa các thanh công cụ giúp người dùng có thể chèn các điều khiển vào cửa sổ người dùng (UserForm). 7. Cửa sổ thuộc tính (Properties Window): cửa sổ này liệt kê tất cả các thuộc
tính của đối tượng, qua đó người dùng có thể tham khảo và thay đổi các thuộc tính khi cần như màu chữ, tên đối tượng…
Hình 3-14: Các thành phần cơ bản của VBA IDE
- Hệ thống các đối tượng trong AutoCAD: trong AutoCAD, có rất nhiều loại đối tượng khác nhau, chẳng hạn như:
o Các đối tượng hình học: line, arc, text, dimension… o Thiết lập vềđịnh dạng: linetype, dimension style… o Cấu trúc tổ chức: layer, group, block…
o Đối tượng liên quan đến hiển thị bản vẽ: view, viewport,…
o Và ngay cả bản vẽ và bản thân chương trình AutoCAD cũng được xem là đối tượng.
Để có thể tạo ra các đối tượng trên bản vẽ bộ truyền bánh răng côn cong chúng ta cần nắm được mô hình đối tượng của AutoCAD trong VBA. Mô hình này được thể hiện dưới dạng cấu trúc cây phân cấp, trong đó đối tượng gốc là Application, chính là phiên bản AutoCAD đang chạy. Nhờ mô hình đối tượng mà người lập trình có thể biết được một đối tượng có thể cho phép truy cập đến những đối tượng nào ở cấp tiếp theo.
Hình 3-15: Mô hình đối tượng trong AutoCAD Một sốđối tượng chính trong AutoCAD
o Đối tượng Application: Đối tượng Application là đối tượng thể hiện cho một phiên làm việc của AutoCAD, đối tượng này sẽ được tựđộng tạo ra mỗi khi khởi động chương trình AutoCAD. Tất cả các thành phần và thao tác thực hiện trong cửa sổ chính của chương trình AutoCAD đều được thể hiện thông qua các phương thức và thuộc tính của đối tượng Application. Ví dụ, đối tượng Application có thuộc tính Preferences trả về đối tượng Preferences. Đối tượng này cho phép truy cập đến các cấu hình bên trong của hộp thoại Option. Các thuộc tính khác của đối tượng Application cho phép truy cập đến các dữ liệu riêng của chương trình chẳng hạn như tên và phiên bản chương trình, kích thước, vị trí của cửa
sổ .... Các phương thức của đối tượng Application sẽ thực hiện các thao tác như: tạo mới, mở, đóng bản vẽ hay thoát khỏi AutoCAD.
o Đối tượng Document, thực chất là một bản vẽ AutoCAD đang được mở, thuộc tập đối tượng Documents (tương đương với tất cả các bản vẽđang được mở), cho nên nó chứa tất cả các đối tượng hình học và phi hình học trong một bản vẽ AutoCAD cũng như chứa hầu hết các đối tượng (hay thành phần) khác của bản vẽ như Views hay Viewports. Để truy cập đến các đối tượng của một bản vẽ ta cần phải thông qua đối tượng Document tương ứng với bản vẽ đó. Như trong mô hình đối tượng ở trên, các đối tượng hình học (đường thẳng, hình tròn, cung, …) được truy cập thông qua tập đối tượng ModelSpace và PaperSpace, còn các đối tượng phi hình học (layer, linetype, text style, …) được truy cập thông qua tập đối tượng có tên tương ứng, chẳng hạn như Layers, Linetypes, TextStyles. o AutoCAD tổ chức hầu hết các đối tượng vào trong tập đối tượng, ví dụ
như tất cả các đối tượng hình học, cho dù khác nhau về loại đối tượng, đều được đặt trong tập đối tượng ModelSpace, PaperSpace và Block. Để truy cập vào một đối tượng nào đó ta phải thông qua tập đối tượng chứa nó.
o Các đối tượng phi hình học là những đối tượng không thể nhìn thấy được, chúng được sử dụng trong AutoCAD để thiết lập các thuộc tính cho đối tượng hình học. Những đối tượng phi hình học hay gặp là: Layer, Linetype, DimStyle, ... Các đối tượng phi hình học thường được chứa trong các tập đối tượng có tên tương ứng, ví dụ như Layers, Linetypes, DimStyles, …Cách thức để tạo ra một đối tượng phi hình học là sử dụng phương thức Add của đối tượng tập đối tượng tương ứng
o Đối tượng hình học hay còn gọi là thực thể, là những đối tượng hữu hình cấu thành bản vẽ của AutoCAD, một số đối tượng điển hình loại này là:
đường thẳng (Line), hình tròn (Circle), …. Để tạo những đối tượng này, ta sử dụng phương thức Add<Tên thực thể> của tập đối tượng tương ứng. Để hiệu chỉnh hoặc truy vấn các đối tượng, ta sử dụng các phương thức và thuộc tính của bản thân từng đối tượng. Mỗi đối tượng hình học đều có các thuộc tính cho phép hiệu chỉnh đối tượng như Copy, Erase, Move, Mirror… . Lưu ý rằng, những thuộc tính này sẽ tác động lên đối tượng tương tự như khi ta sử dụng các lệnh tương ứng trong AutoCAD để hiệu chỉnh đối tượng.
3.3.3.2. Lập trình xuất bản vẽ trong môi trường VBA của Excel
Phần trên đây đã trình bày những khái niệm cơ bản về VBA, các đối tượng của AutoCAD để từđó có thể tham chiếu đến các đối tượng này. Để tạo ra bản vẽ chúng ta tiến hành theo trình tự sau:
1. Lấy dữ liệu vẽ từ Excel: sau phần tính toán thiết kế chúng ta đạt được một bộ dữ liệu phục vụ cho việc tạo ra bản vẽ bánh răng. Đoạn mã lệnh dưới đây xác định vùng lấy dữ liệu từ Excel
'Chọn vùng lấy giá trịđiểm từ Excel
Set Vung = Application.Worksheets("Slve").Range("B3:L4")
2. Liên kết môi trường Excel với AutoCAD: Ở đây, chúng ta sẽ phải tham chiếu đến thư viện mở rộng của AutoCAD với tên là “AutoCAD 2004 Type Library”.
Hình 3-16: Chọn thư viện mở rộng liên kết với AutoCAD
3. Khởi động chương trình AutoCAD: khi người dùng viết mã lệnh từ các ứng dụng nền khác, chẳng hạn như viết chương trình bằng VBA trong Excel, thì cần thiết phải viết mã lệnh khởi động chương trình AutoCAD. Thực chất của đoạn mã lệnh này là tạo ra đối tượng Application. Dưới đây là một đoạn mã lệnh dùng để mở mới một tệp AutoCAD.
'Mở một tệp AutoCad
On Error Resume Next
Set AcadApp = GetObject(, "AutoCAD.Application")
' Khi AutoCad vẫn chưa mở thì mở
If Err <> 0 Then Err.Clear
Set AcadApp = CreateObject("AutoCAD.Application") End If
AppActivate AcadApp.Caption, vbMaximizedFocus AcadApp.Visible = True
4. Tạo các lớp với kiểu đường, màu để vẽ, tạo các kiểu chữ kiểu ghi kích thước để thể hiện chú thích trên bản vẽ. Dưới đây là một số đoạn mã lệnh dùng để tạo lớp, tạo kiểu chữ
'Tạo kiểu chữ trong Style "Standard"
Set TxtStyleObj = AcadApp.ActiveDocument.TextStyles.Item("Standard") TxtStyleObj.SetFont ".VnArial", False, False, 0, 34
'Tạo lớp có tên Duongtam để vẽ
If Duongtam Is Nothing Then
Set Duongtam = AcadApp.ActiveDocument.Layers.Add("Duongtam")
End If
Duongtam.Color = acRed
5. Tạo mới đối tượng hình học. Tất các các đối tượng trong AutoCAD (kể cả đối tượng hình học và phi hình học) đều có thể được khai báo trong VBA theo dạng thức Acad<TênĐốiTượng>. Chẳng hạn như đối tượng đường thẳng – Line thì đối tượng tương ứng trong VBA sẽ có kiểu là AcadLine. Phương thức thức AddLine sẽ tạo đối tượng Line, là một đoạn thẳng đi qua hai điểm
Để tạo đối tượng Circle, sử dụng phương thức AddCircle. Phương thức này sẽ tạo một đường tròn dựa trên thông số tâm và bán kính của đường tròn:
Tạo đối tượng văn bản: Từ VBA, để tạo đối tượng văn bản đơn, sử dụng phương thức AddText của tập đối tượng ModelSpace, cú pháp của phương thức này như sau:
- Hiệu chỉnh đối tượng hình học: Hiệu chỉnh đối tượng hình học là một thao tác không thể thiếu trong quá trình tạo bản vẽ với AutoCAD. Thông qua VBA, người dùng có thể thực hiện hầu hết các thao tác hiệu chỉnh đối tượng giống như khi thực hiện trên giao diện của chương trình AutoCAD. Việc hiệu chỉnh đối tượng có thểđược thực hiện thông qua các phương thức hoặc các thuộc tính của đối tượng
Sao chép đối tượng, phương thức copy
Xóa đối tượng
Di chuyển đối tượng
Lấy đối xứng qua hai điểm
Xoay đối đượng quanh một điểm cốđịnh
Thuộc tính Layer – lớp chứa đối tượng. Dùng để quản lý lớp của các đối tượng
Thuộc tính kiểu đường của đối tượng: thay đổi kiểu hiển thị của nét vẽ các đối tượng hình học trên màn hình.
'Vẽđoạn thẳng
Set DoanthangL(1) = AcadApp.ActiveDocument.ModelSpace.AddLine(Diem1P, Diem4P) Set DoanthangL(2) = AcadApp.ActiveDocument.ModelSpace.AddLine(Diem2P, Diem6P) Set DoanthangL(3) = AcadApp.ActiveDocument.ModelSpace.AddLine(Diem3P, Diem8P) Set DoanthangL(4) = AcadApp.ActiveDocument.ModelSpace.AddLine(Diem9P, Diem11P) Set DoanthangL(5) = AcadApp.ActiveDocument.ModelSpace.AddLine(Diem8P, Diem10P)
6. Thu phóng màn hình bản vẽ trong AutoCAD được thực hiện thông qua các phương thức có trong đối tượng Application. Các phương thức này tương ứng với lệnh zoom trong AutoCAD. Nếu có nhiều bản vẽ đang được mở trong AutoCAD thì các phương thức này chỉ có tác dụng đối với bản vẽ hiện hành. Để thể hiện toàn bộ bản vẽ trên khung nhìn ta sử dụng cú pháp ZoomAll
3.3.4 Bảo mật chương trình
Mặc dù phần mềm chưa mang tính thương mại nhưng vấn đề bảo mật cũng rất cần được quan tâm, để tránh người dùng có thể sửa đổi, hoặc sử dụng những dữ liệu quan trọng trong phần mềm.
Vì chương trình cho phép nhiều người sử dụng nên em tập trung vào vấn đề bảo mật dành cho tệp đã được mở. Đây là một trường hợp phổ biến và khá khó khăn trong vấn đề bảo mật. Vì vậy sử dụng đồng thời cả hai cách để tiến hành là: bảo mật bảng tính thông thường và bảo mật VBA.
3.3.4.1 Bảo mật bảng tính thông thường
Sử dụng chức năng Protect Sheet (và Protect Workbook) để bảo vệ bảng tính. Khi chọn cách này thì xuất hiện cửa sổ Protect Sheet với nội dung bảo vệ và password để mở (hình 3-17). Nội dung bảo vệ gồm một số chức năng chính sau:
- Select locked cells: Cho phép (hoặc không cho phép) chọn ô đã bảo vệ. Để xác định những ô cần bảo vệ thì chọn những ô đó, sau đó bấm Ctr + 1 để hiện cửa sổ
Custom List, chọn Protection và đánh dấu vào mục Locked. Nếu không đánh dấu mục Locked thì ô sẽ không được bảo vệ, đó thường là những ô nhập liệu ban đầu.
- Select unlocked cells: Cho phép (hoặc không cho phép) chọn ô không bảo vệ. - Format cells: Cho phép (hoặc không cho phép) thay đổi định dạng của ô.
- Format rows: Cho phép (hoặc không cho phép) thay đổi định dạng của một hàng.
- Format columns: Cho phép (hoặc không cho phép) thay đổi định dạng của một cột.
- Insert rows (columns): Cho phép (hoặc không cho phép) thêm hàng (cột).
- Delete rows (columns): Cho phép (hoặc không cho phép) xoá hàng (cột).
Hình 3-17: Bảo mật bảng tính bình thường 3.3.4.2 Bảo mật VBA
Thông thường để bảo mật VBA Project, trong cửa sổ Microsoft Visual Basic (MVB) ta vào menu Tools, chọn ... Project Properties. Cửa sổ ... Project Properties hiện ra, chọn mục Protection, tích vào Lock project for viewing, sau đó nhập password 2 lần để bảo vệ. Và từđó, bạn phải nhập password mới mở được cửa sổ MVB để xem hay làm việc với VBA.
Hình 3-18: Bảo mật VBA 3.4 Kết luận
Trong chương 3 luận văn đã thực hiện được những nội dung chính sau:
- Xây dựng được cơ sở dữ liệu phục vụ cho tự động hóa tính toán thiết kế bộ truyền bánh răng côn răng cong hypoid hệ Gleason.
- Xây dựng được thuật toán tổng quát cho chương trình tựđộng tính toán thiết kế bộ truyền.
- Trên cơ sở thuật toán và cơ sở dữ liệu đã có tiến hành lập trình xây dựng phần mềm dựa trên công cụ VBA, Excel, AutoCAD.
Kết quả đạt được của chương này là tạo ra được một phần mềm chuyên dùng cho công việc thiết kế bánh răng côn cong hypoid hệ Gleason (CAD), giúp nâng cao độ chính xác tính toán, thiết kế và vẽ bản vẽ, giảm thiểu thời gian thiết kế so với tính toán thiết kế thủ công, giảm giá thành chế tạo bánh răng. Tuy nhiên để có thể ứng dụng vào trong thực tiễn sản xuất chúng ta cần tiến hành kiểm tra tính chính xác của phần mềm.
Chương IV:
CHẠY THỬ PHẦN MỀM VÀ KIỂM TRA KẾT QUẢ
Để đảm bảo chương trình tự động hóa thiết kế bộ truyền bánh răng côn cong hypoid cho kết quả chính xác, từđó có thể sử dụng để chế tạo bộ truyền, chúng ta cần tiến hành chạy thử chương trình và kiểm tra kết quả thu được. Cách thức tiến hành kiểm tra phần mềm có thể thực hiện theo ba phương pháp sau:
- So sánh kết quả từ chương trình với kết quả tính toán đã được kiểm chứng trong thực tế sản xuất.
- So sánh kết quả từ chương trình với kết quả từ một phần mềm thông dụng đã được kiểm chứng (ví dụ như HyGears, Kisssoft …)
- So sánh kết quả từ chương trình với các thông số đo đạc từ một bộ truyền đã được chế tạo và sử dụng.
4.1. Chạy thử chương trình và so sánh với số liệu tính toán đã được kiểm chứng kiểm chứng
Nhập số liệu vào chương trình, sau khi tính toán chúng ta thu được kết quả như