« Home « Kết quả tìm kiếm

Tự động hóa trong thiết kế cầu đường part 7


Tóm tắt Xem thử

- Mỗi hộp thoại có một hằng số được định nghĩa trước giúp người dùng có thể xác định được hộp thoại cần hiển thị một cách dễ dàng.
- Người lập trình còn có thể viết mã lệnh để kiểm tra cách thức đóng hộp thoại.
- Thông thường, có thể tạo hộp thoại tuỳ biến theo các bước sau:.
- Tạo mới một UserForm vào trong dự án VBA của Workbook..
- Để tạo mới UserForm, khởi động VBAIDE (nhấn phím ALT+F11), chọn dự án ứng với workbook cần thêm Userform, sau đó chọn trình đơn InsertÖUserForm.
- Phương thức này thích hợp khi trong dự án có nhiều UserForm và người có thể chỉ định sự xuất hiện của một UserForm bất kỳ.
- Hoặc có thể sử dụng đoạn mã sau để đóng cửa sổ UserForm1:.
- Người lập trình có thể dùng rất nhiều loại điều khiển khác nhau lên UserForm.
- Sau đó, có thể chuyển chuỗi đó thành đối tượng kiểu Range sử dụng đoạn mã tương tự như sau:.
- Người lập trình có thể dễ dàng thêm và hiệu chỉnh hệ thống trình đơn trong Excel thông qua các đoạn mã lệnh bằng VBA theo các bước sau:.
- Để tham chiếu đến Menu Bar, có thể sử dụng đoạn mã sau:.
- Enabled Nếu bằng TRUE, người dùng có thể kích chuột lên đối tượng.
- Để thực hiện điều này, có thể sử dụng phương thức Delete có trong đối tượng kiểu CommandBarControl hoặc CommandBarPopup hoặc CommandBarButton..
- Chương trình VBA có thể được lưu trữ độc lập hay nhúng vào bản vẽ.
- Qua kinh nghiệm triển khai các dự án phần mềm trên AutoCAD, có thể thấy rằng hầu hết các nhu cầu tính toán và tự động tạo bản vẽ thông thường đều có thể thực hiện một cách dễ dàng và nhanh chóng bằng VBA và AutoLISP, vì vậy, trong khuôn khổ của giáo trình này, nội dung lập trình mở rộng AutoCAD bằng VBA được đặt là trọng tâm bởi tính hiệu quả của nó.
- Bên cạnh đó, để khai thác tốt nhất AutoCAD, thì việc kết hợp VBA với AutoLISP để thực hiện một dự án phần mềm là một lựa chọn hay, do đó, trong giáo trình này cũng đề cập đến một phần sự kết hợp này.
- Quản lý dự án VBA trong AutoCAD.
- Dự án VBA trong AutoCAD.
- Không giống như trong Excel, chỉ có một loại dự án VBA nhúng ngay trong tệp bảng tính XLS, các dự án VBA trong AutoCAD được phân thành 2 loại sau:.
- Ø Ø Dự án nhúng (Embedded Project): là dự án VBA được lưu trữ trong tệp DWG cùng với các thông tin khác của bản vẽ trong AutoCAD.
- Dự án nhúng có một số đặc điểm sau:.
- Không thể đóng hoặc mở các bản vẽ AutoCAD bởi dự án loại này được thiết lập là chỉ làm việc bên trong bản vẽ chứa nó..
- Khi sử dụng dự án nhúng, người dùng không cần phải nhớ nơi lưu trữ dự án, không cần phải thực hiện tải dự án vào AutoCAD mỗi khi cần sử dụng các chức năng có trong dự án bởi tất cả các thao tác đó đều được thực hiện tự động khi mở bản vẽ có chứa dự án nhúng..
- Các chức năng được lập trình trong dự án VBA nhúng chỉ có hiệu lực đối với bản vẽ chứa nó, và như vậy, khi muốn sử dụng các chức năng này cho những bản vẽ khác, người sử dụng buộc phải sao chép dự án VBA đó sang các tệp bản vẽ này..
- Ø Ø Dự án độc lập (Global Project): là dự án được lưu tách biệt trong một tệp có phần mở rộng là *.DVB và không phụ thuộc vào một bản vẽ nào cả.
- Dự án VBA đọc lập có một số đặc điêm sau:.
- Để sử dụng một tính năng nào đó trong dự án VBA độc lập, người sử dụng phải tải dự án đó vào AutoCAD..
- Dự án VBA độc lập có khả năng làm việc linh hoạt hơn, có khả năng đóng hoặc mở bản vẽ bất kỳ hay có thể tác động lên tất cả các bản vẽ đang mở trong phiên làm việc của AutoCAD.
- Với dự án độc lập, việc phân phối và chia sẻ mã lệnh được thực hiện dễ dàng hơn so với loại dự án nhúng.
- Dự án độc lập cũng rất thích hợp để lưu trữ, tập hợp thành bộ thư viện để sử dụng trong tất cả các bản vẽ..
- Lợi điểm lớn nhất của dự án nhúng là khả năng tự động tải dự án mỗi khi mở bản vẽ.
- Tuy nhiên, việc sử dụng dự án nhúng cũng ẩn chứa nhiều điểm bất lợi, chẳng hạn như kích thước của tệp bản vẽ có chứa dự án nhúng sẽ tăng lên do phải chứa thêm cả phần dự án VBA.
- hoặc khi muốn hiệu chỉnh dự án VBA, người lập trình phải tìm lại tất cả các tệp bản vẽ có chứa dự án nhúng để thay đổi cho từng tệp một, một công việc nhàm chán!.
- Tuy không có được khả năng tự động tải vào như dự án nhúng, nhưng loại dự án độc lập thường được sử dụng nhiều hơn bởi các thao tác tải một dự án VBA vào trong AutoCAD thường rất đơn giản và nhanh chóng.
- Chỉ có một điểm lưu ý là khi làm việc với bản vẽ ở nhiều máy tính khác nhau thì cần phải mang theo cả tệp bản vẽ lẫn tệp dự án VBA độc lập, còn với dự án VBA nhúng thì ta chỉ cần mang theo tệp bản vẽ là đủ..
- Cấu trúc của một dự án VBA trong AutoCAD cũng tương tự như trong Excel.
- Ngoài các thành phần như UserForm, mô-đun chuẩn, mô-đun lớp, dự án VBA trong AutoCAD còn có một thành phần khác là: AutoCAD Objects – Các đối tượng của AutoCAD.
- Như vậy trong một dự án VBA của AutoCAD có 4 thành phần có thể chứa mã lệnh là: Userform, mô-đun chuẩn, mô-đun ThisDrawing và mô-đun lớp..
- Hình V-1: Thành phần AutoCAD Objects và mô-đun ThisDrawing của dự án VBA trong AutoCAD.
- Trình quản lý dự án VBA.
- Với AutoCAD, quá trình quản lý các dự án VBA được thực hiện rất dễ dàng thông qua trình quản lý dự án VBA – VBA Manager.
- Hình V-2: Trình quản lý dự án VBA – VBA Manager..
- Danh sách các dự án VBA hiện đang được tải trong VBAIDE.
- Các dự án VBA, khi đã được tải vào VBAIDE (các dự án có trong danh sách) thì người dùng có thể sử dụng các tính năng có trong dự án, hiệu chỉnh dự án và tạo thêm các tính năng mới khi cần..
- Tạo một dự án VBA mới, mặc định, dự án VBA mới được tạo là dự án độc lập.
- Lưu dự án VBA với tên khác (chỉ có hiệu lực với các dự án độc lập).
- Dự án được lưu với tên khác này là dự án được chọn trong danh sách.
- Tải một dự án độc lập vào VBAIDE.
- Người dùng sẽ được yêu cầu chọn một tệp dự án VBA (*.DVB) để tải vào VBAIDE..
- Đóng dự án độc lập khỏi VBAIDE.
- Người dùng không thể truy cập đến các thành phần trong dự án nữa (tuy nhiên tệp chứa dự án đó vẫn còn tồn tại trong máy tính)..
- Nhúng một dự án VBA vào một bản vẽ định trước.
- Tách dự án nhúng ra khỏi bản vẽ được lựa chọn trong danh sách (chỉ có hiệu lực khi bản vẽ có chứa dự án nhúng).
- Khi chọn nút này, người dùng sẽ được yêu cầu lưu dự án được tách ra thành một dự án độc lập.
- Nếu không lưu, dự án sẽ được xoá khỏi tệp bản vẽ..
- Tạo mới, Mở và Lưu dự án VBA.
- Để tạo mới dự án VBA 1.
- Mặc định, dự án mới được tạo sẽ là một dự án độc lập, có tên là ACADProject..
- Sau khi tạo mới dự án, ta có thể nhúng dự án vào một bản vẽ nào đó hoặc có thể lưu ra một tệp riêng thành dự án độc lập tuỳ thuộc vào mục đích sử dụng..
- Ngoài ra người dùng có thể sử dụng lệnh VBANEW từ dòng lệnh của AutoCAD để tạo mới dự án VBA..
- Để mở/tải dự án VBA 1.
- Chọn nút lệnh Load Ö Hiển thị hộp thoại mở dự án VBA.
- Hình V-3: Hộp thoại mở dự án VBA..
- Chọn dự án cần mở và chọn Open..
- Ngoài ra người dùng có thể sử dụng lệnh VBALOAD từ dòng lệnh của AutoCAD để tải dự án VBA..
- Để lưu dự án VBA .
- Chọn dự án cần lưu trong cửa sổ Project..
- Nhúng và tách dự án VBA.
- Để nhúng dự án độc lập vào một bản vẽ 1.
- Trong mục Drawing, chọn bản vẽ cần nhúng dự án vào..
- Trong mục Projects, chọn dự án cần nhúng vào bản vẽ..
- Sau khi người dùng nhúng dự án vào bản vẽ, VBAIDE sẽ sao chép toàn bộ dự án độc lập và nhúng vào bản vẽ AutoCAD, nghĩa là tại thời điểm có hai dự án VBA giống nhau cùng tồn tại, một là dự án độc lập và một là dự án nhúng trong bản vẽ..
- Để tách dự án nhúng khỏi một bản vẽ 1.
- Trong mục Drawing, chọn bản vẽ có chứa dự án cần tách..
- Quản lý dự án VBA từ dòng lệnh.
- AutoCAD có cung cấp một số câu lệnh liên quan đến việc quản lý dự án VBA và để thực thi Macro trong VBA.
- Nếu chưa có dự án nào được mở, AutoCAD sẽ tự tạo một dự án lập mới, sau đó mới hiển thị VBAIDE..
- VBAMAN Hiển thị trình quản lý dự án VBA – VBA Manager, qua đó người dùng có thể thực hiện các thao tác trên dự án VBA..
- VBANEW Tạo mới dự án độc lập..
- VBALOAD Tải tệp dự án VBA (tệp *.dvb) vào trong VBAIDE.
- Hộp thoại mở dự án VBA sẽ được hiển thị để người dùng lựa chọn tệp dự án cần mở..
- -VBALOAD Tải tệp dự án VBA vào trong VBAIDE như lệnh VBALOAD, nhưng không hiển thị hộp thoại, người dùng phải nhập tên tệp từ dòng lệnh của AutoCAD.
- VBAUNLOAD Đóng dự án VBA đang được mở trong VBAIDE.
- Trên dòng lệnh AutoCAD xuất hiện dấu nhắc, nhắc người dùng nhập tên tệp chứa dự án cần đóng..
- Khi kết hợp cách quản lý dự án VBA bằng dòng lệnh của AutoCAD với ngôn ngữ lập trình AutoLISP thì ta có thể gọi một dự án VBA hay sử dụng một chức năng của dự án VBA bằng một chương trình AutoLISP..
- Còn trong AutoCAD, với đặc tính sử dụng chủ yếu là các thao tác trên bản vẽ nên các tính năng của ứng dụng mở rộng được thể hiện chủ yếu thông qua Macro, hàm chỉ được sử dụng nội bộ bên trong các mô-đun của dự án VBA..
- Tuy nhiên, người lập trình còn có thể thực hiện tạo một Macro mới thông qua giao diện hộp thoại Macros..
- GỢI Ý Trong AutoCAD, để hiển thị hộp thoại Macros, người lập trình có thể sử dụng phím tắt là ALT+F8.
- Tất nhiên người dùng có thể hiệu chỉnh bất cứ Macro nào mà không cần sử dụng hộp thoại Macros.
- Với VBA, người dùng có thể tạo Macro để thực hiện một thao tác nào đó.
- Còn với AutoLISP, người dùng có thể định nghĩa một lệnh mới để thực thi Macro đã được tạo trong dự án VBA..
- Hay nói cách khác, AutoLISP là chiếc cầu nối nhằm tạo sự liên kết giữa dòng lệnh AutoCAD và Macro trong dự án VBA..
- Tuy nhiên, nếu chỉ được lưu trong những tệp dự án VBA và tệp AutoLISP thông thường thì những lệnh đó chỉ có hiệu lực khi người dùng tải đồng thời dự án VBA và tệp AutoLISP vào trong AutoCAD.
- Vì vậy, khi muốn các lệnh mới này có hiệu lực ngay khi sử dụng AutoCAD (nghĩa là người sử dụng không cần phải làm thêm bất cứ một thao tác nào khác, chỉ cần khởi động AutoCAD là có thể dùng được ngay các lệnh này) thì người lập trình sẽ phải lưu dự án VBA thành tệp có tên là ACAD.DVB và tệp AutoLISP sẽ được lưu với tên là ACAD.LSP, và cả hai tệp này phải được lưu vào thư mục cài đặt của AutoCAD (ví dụ đối với AutoCAD 2002, nếu cài đặt thông thường, thì thư mục cài đặt của AutoCAD trong Windows sẽ là: C:\Program Files\AutoCAD 2002).
- Tạo dự án mới.
- Các bước sau sẽ tạo một dự án mới và lưu trong thư mục cài đặt của AutoCAD với tên là ACAD.DVB..
- Chọn dự án VBA vừa được tạo trong danh sách các dự án, sau đó chọn Save As….
- Chọn Save để lưu dự án và quay về cửa sổ VBA Manager..
- Chọn dự án ACAD.DVB trong mục Macros in:.
- Trong màn hình của VBAIDE, chọn trình đơn File Ö Save để lưu tệp dự án ACAD.DVB.

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt