Tải bản đầy đủ (.pdf) (14 trang)

bài tập và hướng dẫn thực hành autocad vab

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 (799.26 KB, 14 trang )

Bài hướng dẫn thực hành – Visual Basic cho AutoCAD

Lab 1: Làm quen với AutoCAD và VBA

GV HDTH: Phạm Thanh Tùng -


1. Hướng dẫn tổng quan về AutoCAD và VBA
1. VBA Manager & Visual Basic Editor


2. Bố cục của Project


3. Lệnh AutoCAD VBA
VBA IDE

Khởi động VBA IDE. VBA IDE cho phép
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.

VBALOAD

Tải dự án VBA vào phiên làm việc hiện
hành của AutoCAD.


VBARUN

Thực thi Macro VBA từ hộp thoại Macros
hoặc từ dùng lệnh AutoCAD.

VBAUNLOAD

Dỡ bỏ dự án VBA trong phiên làm việc
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).

VBAMAN

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.

VBASTMT

Thực thi dòng lệnh VBA từ dòng lệnh
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






VD:


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:



6. Cách thức nhập liệu từ người sử dụng

Nhập chuỗi




Nhập điểm



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ẽ



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 d
AB
= d
EF
= 3d
EC

• Đường tròn tâm C, bán kính CD
• Đường Spline qua 3 điểm A,E,F
• 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ẽ
Bài hướng dẫn thực hành – Visual Basic cho AutoCAD
Lab 2: Tạo đối tượng AutoCAD 2D
GV HDTH: Phạm Thanh Tùng -

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
• Chapter 8 sách AutoCAD 2006 VBA A Programmer's Reference
• Chương 4 sách VBA for AutoCAD
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
STT

Bộ phận Tương ứng trong hình mẫu
0 Tọa độ tâm của lẫy
1 Đường kính đường tròn nhỏ
Đường tròn ∅28
2 Bán kính đường tròn lớn Đường tròn R30
3 Bán kính cung lẫy nhỏ Cung R40
4 Bán kính cung lẫy lớn Cung R129
5 Khoảng cách răng lẫy tới tâm trục D52
6 Bề rộng răng lẫy D12
7 Bề dài răng lẫy D36


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.
• Lấy các tham số bản vẽ tham khảo chương 7 sách AutoCAD 2006 VBA A
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.
• Đối với các đối tượng mà hàm có sẵn của VBA không hỗ trợ như
Arc(StartPoint, EndPoint, Radius), có thể gọi thông qua hàm
SendCommand. Câu lệnh cụ thể được thiết lập trước từ 1 biến String

Bài hướng dẫn thực hành – Visual Basic cho AutoCAD
Lab 3: Hiệu chỉnh đối tượng AutoCAD 2D

GV HDTH: Phạm Thanh Tùng -

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 Chapter 3 sách AutoCAD 2006 VBA A Programmer's Reference
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



• Cho người dùng nhập các tham số lần lượt
Controls Chú thích
^ V < > Di chuyển chi tiết từng đơn vị chiều dài
theo hướng mũi tên
RL, RR Quay trái, phải quanh tâm theo từng độ (1
degree)
SU, SD Thu nhỏ, phóng to hình theo từng 20%
FU, FD, FL, FR Lật hình (flip) trên, dưới, trái, phải theo tọa
độ cực trị của hình hiện tại
(VD: FL  trục đối xứng là đường thẳng
song song Oy và đi qua điểm có tọa độ x

nhỏ nhất thuộc về chi tiết)
Dup Sao chép ra hình mới, tọa độ hình mới do
người dùng click chuột chọn trên bản vẽ
Thanh trượt ngang, dọc Thu nhỏ chi tiết theo trục Ox, Oy
• 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


×