Bài h ng d n th c hành Visual Basic cho AutoCAD Lab...

14
Bài hướng dn thc hành – Visual Basic cho AutoCAD Lab 1: Làm quen vi AutoCAD và VBA GV HDTH: Phm Thanh Tùng - [email protected] 1. Hướng dn tng quan vAutoCAD và VBA 1. VBA Manager & Visual Basic Editor

Transcript of Bài h ng d n th c hành Visual Basic cho AutoCAD Lab...

Page 1: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

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 - [email protected]

1. Hướng dẫn tổng quan về AutoCAD và VBA

1. VBA Manager & Visual Basic Editor

Page 2: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

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).

Page 3: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

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

Page 4: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

VD:

Page 5: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

• 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:

Page 6: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

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

• Nhập chuỗi

• Nhập điểm

Page 7: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

• 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ẽ

Page 8: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

• 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

Page 9: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

• 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ẽ

Page 10: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

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 - [email protected]

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

Page 11: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

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

Page 12: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

SendCommand. Câu lệnh cụ thể được thiết lập trước từ 1 biến String

Page 13: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

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 - [email protected]

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

Page 14: Bài h ng d n th c hành Visual Basic cho AutoCAD Lab …dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/do-hoa-ung-dung/... · 2. B c c c a Project 3. L nh AutoCAD VBA VBA IDE

• 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