Mô hình đối tượng trong AutoCAD Một đối tượng là một khối cấu thành chính của giao diện AutoCAD ActiveX.. Ví dụ: • Đối tượng đồ hoạ: line, arc, text và dimension • Cấu hình về kiểu dá
Trang 1Bài hướng dẫn thực hành – Visual Basic cho AutoCAD
Lab 1: Làm quen với AutoCAD và VBA
1 Hướng dẫn tổng quan về AutoCAD và VBA
1 VBA Manager & Visual Basic Editor
Trang 22 Bố cục của Project
3 Lệnh AutoCAD VBA
ta hiệu chỉnh, thực thi và gỡ rối chương trình
Mặc dù VBA IDE chỉ khởi động khi AutoCAD đang được thực thi, nhưng nó có thể được thu nhỏ, mở và đóng độc lập so với cửa sổ chương trình AutoCAD
hành của AutoCAD
hoặc từ dùng lệnh AutoCAD
hiện hành của AutoCAD
Nếu dự án VBA đã được chỉnh sửa và chưa lưu, hộp thoại Save
Project hiện lên nhắc người dùng lưu dự án (hoặc hiển thị trên dòng
lệnh)
Trang 3VBAMAN Hiển thị VBA Manager cho phép người
dùng xem, tạo, tải, đóng, nhúng hoặc trích xuất các dự án
AutoCAD
4 Mô hình đối tượng trong AutoCAD
Một đối tượng là một khối cấu thành chính của giao diện AutoCAD
ActiveX Mỗi một đối tượng thể hiện đúng một phần của AutoCAD Có rất
nhiều loại đối tượng khác nhau trong giao diện AutoCAD ActiveX Ví dụ:
• Đối tượng đồ hoạ: line, arc, text và dimension
• Cấu hình về kiểu dáng (style settings): linetype và dimension style
• Cấu trúc tổ chức: layer, group, block
• Thể hiện bản vẽ: view, viewport
• Và ngay cả bản thân bản vẽ trong chương trình AutoCAD cũng được xem là một đối tượng
VBA có thể liên kết đến bản vẽ hiện hành trong phiên làm việc hiện tại
của AutoCAD nhờ đối tượng ThisDrawing
Trang 4VD:
Trang 5• Vẽ đoạn thẳng
• Duyệt qua tập đối tượng Layers
• Tìm Layer có tên “ABC”
5 Kiểu dữ liệu Variant
Variant là một kiểu dữ liệu đặc biệt có thể lưu bất kỳ loại dữ liệu nào, trừ
dữ liệu kiểu chuỗi có độ dài cố định và các kiểu dữ liệu do người dùng định nghĩa Biến Variant còn có thể chứa các giá trị đặc biệt Empty, Error, Nothing
và NULL Có thể xác định cách thức xử lý biến kiểu variant sử dụng các hàm của Visual Basic: VarType hoặc TypeName
VD sử dụng Variant:
Trang 66 Cách thức nhập liệu từ người sử dụng
• Nhập chuỗi
• Nhập điểm
Trang 7• Tính khoảng cách giữa hai điểm
• Tính diện tích từ các điểm do người dùng nhập vào
7 Một số ví dụ sử dụng VBA
• Phóng đại bản vẽ
Trang 8• Gửi một lệnh đến dòng lệnh AutoCAD
2 Bài tập
1 Dựa vào Project mẫu
a C:\Program Files\AutoCAD 2007\Sample\VBA\drawline.dvb
2 Xây dựng Module nhập tọa độ 2 điểm A, B trong không gian 2D, vẽ đoạn thẳng AB
3 Sau khi vẽ đoạn thẳng AB , cho người dùng nhập tọa độ điểm C, tìm tọa
độ hình chiếu của điểm C là điểm D lên đoạn thẳng AB, xuất thông báo MsgBox về tọa độ điểm D tìm được nếu tồn tại
4 Trong trường hợp tồn tại điểm D, vẽ
• Đoạn thẳng CD
• Đoạn thẳng EF song song với AB và đi qua C, sao cho
o dAB = dEF = 3dEC
• Đường tròn tâm C, bán kính CD
• Đường Spline qua 3 điểm A,E,F
Trang 9• Phóng màn hình sao cho toàn bộ các hình đã vẽ chiếm vừa trọn bản vẽ
Trang 10Bài hướng dẫn thực hành – Visual Basic cho AutoCAD
Lab 2: Tạo đối tượng AutoCAD 2D
1 Hướng dẫn
1 Một vài lưu ý khi sử dụng VBA
• VBA không đóng vai trò như 1 ngôn ngữ lập trình hoàn chỉnh mà là 1 ngôn ngữ macro nhằm giúp người dùng thực hiện những thao tác khó hoặc lặp đi lặp lại nhiều lần khi làm việc với bản vẽ AutoCAD
• Khi lập trình không cần quá chú trọng phải xử lý toàn bộ bằng VBA Những thao tác nếu xử lý bằng môi trường vẽ AutoCAD gốc dễ và thuận tiện hơn thì nên xuất thông báo để người dùng thao tác bằng bản vẽ, sau đó mới thực hiện macro
2 Các thao tác vẽ đối tượng thường gặp trong VBA
Tài liệu tham khảo
2 Bài tập
Dựa trên bài tập Lab1 viết tiếp chương trình vẽ chi tiết cái lẫy như sau:
• Cho người dùng nhập các tham số lần lượt
Trang 116 Bề rộng răng lẫy D12
3 Gợi ý
Các bước vẽ:
• Xây dựng hàm tính toán tọa độ các điểm điều khiển của từng đối tượng cơ bản dựa trên số liệu nhập từ người dùng
Programmer's Reference
• Vẽ các chi tiết đơn giản như đường tròn, đường thẳng sử dụng hàm có sẵn của VBA
Arc(StartPoint, EndPoint, Radius), có thể gọi thông qua hàm
Trang 12SendCommand Câu lệnh cụ thể được thiết lập trước từ 1 biến String
Trang 13Bài hướng dẫn thực hành – Visual Basic cho AutoCAD
Lab 3: Hiệu chỉnh đối tượng AutoCAD 2D
1 Hướng dẫn
1 Các thao tác hiệu chỉnh đối tượng thường gặp trong VBA
Tài liệu tham khảo
• Chapter 10 sách AutoCAD 2006 VBA A Programmer's Reference
• Chương 4.2 sách VBA for AutoCAD
• Lập trình giao diện Winform trong VBA
o Lưu ý: bạn nào chưa học lập trình giao diện trên Window (C4W) nêu thắc mắc trên Moodle
o Tham khảo các sự kiện trong project Sample
C:\Program Files\AutoCAD 2007\Sample\VBA\ibeam3d.dvb
2 Bài tập
Dựa trên bài tập Lab2 viết tiếp chương trình cho phép thay đổi chi tiết cái lẫy dựa trên giao diện Form như sau
Trang 14• Cho người dùng nhập các tham số lần lượt
theo hướng mũi tên
degree)
độ cực trị của hình hiện tại
song song Oy và đi qua điểm có tọa độ x nhỏ nhất thuộc về chi tiết)
người dùng click chuột chọn trên bản vẽ
• Giá trị mặc định: 50 kích thước gốc
• Giá trị nhỏ nhất: 1 kích thước
bị tiêu giảm xuống còn 1 đơn vị dài
• Giá trị mặc định: 100 kích thước tăng lên gấp đôi