SlideShare a Scribd company logo
1 of 14
Download to read offline
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 - pttung@fit.hcmuns.edu.vn
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 FilesAutoCAD 2007SampleVBAdrawline.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
• 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 - pttung@fit.hcmuns.edu.vn
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 VBAA
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 - pttung@fit.hcmuns.edu.vn
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 VBAA 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 FilesAutoCAD 2007SampleVBAibeam3d.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

More Related Content

What's hot

Một số lệnh tắt trong auto cad và những lệnh hay trong autocad
Một số lệnh tắt trong auto cad và những lệnh hay trong autocadMột số lệnh tắt trong auto cad và những lệnh hay trong autocad
Một số lệnh tắt trong auto cad và những lệnh hay trong autocad
Trung Lưu
 
Lap rap inventor
Lap rap inventorLap rap inventor
Lap rap inventor
Trung tâm Advance Cad
 
Thiết kế chuyển động (Inventor)
Thiết kế chuyển động (Inventor)Thiết kế chuyển động (Inventor)
Thiết kế chuyển động (Inventor)
Nguyen Van Phuong
 
Giao trinh autodesk inventor 2014
Giao trinh autodesk inventor 2014Giao trinh autodesk inventor 2014
Giao trinh autodesk inventor 2014
Phi Phi
 

What's hot (20)

Tài liệu autocad - Hướng dẫn sử dụng phần mềm autocad
Tài liệu autocad - Hướng dẫn sử dụng phần mềm autocadTài liệu autocad - Hướng dẫn sử dụng phần mềm autocad
Tài liệu autocad - Hướng dẫn sử dụng phần mềm autocad
 
Bài giảng inventor 2008
Bài giảng inventor 2008Bài giảng inventor 2008
Bài giảng inventor 2008
 
Tổng quan Unigraphics NX
Tổng quan Unigraphics NXTổng quan Unigraphics NX
Tổng quan Unigraphics NX
 
Giáo trình tự học Autodesk Inventor mới nhất
Giáo trình tự học Autodesk Inventor mới nhấtGiáo trình tự học Autodesk Inventor mới nhất
Giáo trình tự học Autodesk Inventor mới nhất
 
Autocad pro design
Autocad pro designAutocad pro design
Autocad pro design
 
Giáo trình giảng dạy Autocad 2016 cơ bản
Giáo trình giảng dạy Autocad 2016 cơ bảnGiáo trình giảng dạy Autocad 2016 cơ bản
Giáo trình giảng dạy Autocad 2016 cơ bản
 
Một số lệnh tắt trong auto cad và những lệnh hay trong autocad
Một số lệnh tắt trong auto cad và những lệnh hay trong autocadMột số lệnh tắt trong auto cad và những lệnh hay trong autocad
Một số lệnh tắt trong auto cad và những lệnh hay trong autocad
 
Tìm hiểu Autocad
Tìm hiểu AutocadTìm hiểu Autocad
Tìm hiểu Autocad
 
Thực hành thiết kế ngược Rapidform cơ bản
Thực hành thiết kế ngược Rapidform cơ bảnThực hành thiết kế ngược Rapidform cơ bản
Thực hành thiết kế ngược Rapidform cơ bản
 
Đề 1: Kiểm tra đầu vào Autocad cho kỹ sư cơ khí
Đề 1: Kiểm tra đầu vào Autocad cho kỹ sư cơ khíĐề 1: Kiểm tra đầu vào Autocad cho kỹ sư cơ khí
Đề 1: Kiểm tra đầu vào Autocad cho kỹ sư cơ khí
 
Solidwork giao trinh xong chentrang
Solidwork giao trinh xong chentrangSolidwork giao trinh xong chentrang
Solidwork giao trinh xong chentrang
 
Sử dụng ansys trong môi trường inventor để tính toán thiết kế chi tiết máy
Sử dụng ansys trong môi trường inventor để tính toán thiết kế chi tiết máySử dụng ansys trong môi trường inventor để tính toán thiết kế chi tiết máy
Sử dụng ansys trong môi trường inventor để tính toán thiết kế chi tiết máy
 
"Thu Vien Sach Co Khi" – Inventor và các lệnh cơ bản
"Thu Vien Sach Co Khi" – Inventor và các lệnh cơ bản "Thu Vien Sach Co Khi" – Inventor và các lệnh cơ bản
"Thu Vien Sach Co Khi" – Inventor và các lệnh cơ bản
 
Hướng dẫn sử dụng Autocad Mechanical 2014
Hướng dẫn sử dụng Autocad Mechanical 2014Hướng dẫn sử dụng Autocad Mechanical 2014
Hướng dẫn sử dụng Autocad Mechanical 2014
 
Tu hoc Autocad co ban
Tu hoc Autocad co banTu hoc Autocad co ban
Tu hoc Autocad co ban
 
Lap rap inventor
Lap rap inventorLap rap inventor
Lap rap inventor
 
Thiết kế chuyển động (Inventor)
Thiết kế chuyển động (Inventor)Thiết kế chuyển động (Inventor)
Thiết kế chuyển động (Inventor)
 
Giáo trình cơ bản NX11
Giáo trình cơ bản NX11Giáo trình cơ bản NX11
Giáo trình cơ bản NX11
 
Auto cad nang_cao
Auto cad nang_caoAuto cad nang_cao
Auto cad nang_cao
 
Giao trinh autodesk inventor 2014
Giao trinh autodesk inventor 2014Giao trinh autodesk inventor 2014
Giao trinh autodesk inventor 2014
 

Viewers also liked

Lap trinh vba trong excel 1
Lap trinh vba trong excel 1Lap trinh vba trong excel 1
Lap trinh vba trong excel 1
Betong Cotthep
 
Hình họa vẽ kĩ thuật
Hình họa vẽ kĩ thuậtHình họa vẽ kĩ thuật
Hình họa vẽ kĩ thuật
nguyentuanhcmute
 
Autocad excel vba
Autocad excel vbaAutocad excel vba
Autocad excel vba
rjg_vijay
 
Bai5 hình chiếu trục đo
Bai5 hình chiếu trục đoBai5 hình chiếu trục đo
Bai5 hình chiếu trục đo
Hoàng Linh
 

Viewers also liked (20)

Bai3 access-form
Bai3 access-formBai3 access-form
Bai3 access-form
 
Lap trinh vba trong excel 1
Lap trinh vba trong excel 1Lap trinh vba trong excel 1
Lap trinh vba trong excel 1
 
Giao trinh lap trinh visual basic cho excel
Giao trinh lap trinh visual basic cho excelGiao trinh lap trinh visual basic cho excel
Giao trinh lap trinh visual basic cho excel
 
Cad nang cao rat hay
Cad nang cao rat hayCad nang cao rat hay
Cad nang cao rat hay
 
100 cad exercises
100 cad exercises100 cad exercises
100 cad exercises
 
Bai tap thuc hanh cad(trung tâm đào tạo tin học kế toán tri thức việt)
Bai tap thuc hanh cad(trung tâm đào tạo tin học kế toán tri thức việt)Bai tap thuc hanh cad(trung tâm đào tạo tin học kế toán tri thức việt)
Bai tap thuc hanh cad(trung tâm đào tạo tin học kế toán tri thức việt)
 
Hướng dẫn sử dụng Excel với những tuyệt chiêu
Hướng dẫn sử dụng Excel với những tuyệt chiêuHướng dẫn sử dụng Excel với những tuyệt chiêu
Hướng dẫn sử dụng Excel với những tuyệt chiêu
 
Giáo trình excel nâng cao tud
Giáo trình excel nâng cao   tudGiáo trình excel nâng cao   tud
Giáo trình excel nâng cao tud
 
Scratch cơ bản. Bài 0. Tổng quan Scratch
Scratch cơ bản. Bài 0. Tổng quan ScratchScratch cơ bản. Bài 0. Tổng quan Scratch
Scratch cơ bản. Bài 0. Tổng quan Scratch
 
Làm quen với Scratch
Làm quen với ScratchLàm quen với Scratch
Làm quen với Scratch
 
Giao trinh autocad 2007 full
Giao trinh autocad 2007 fullGiao trinh autocad 2007 full
Giao trinh autocad 2007 full
 
Scratch
Scratch Scratch
Scratch
 
Hình họa vẽ kĩ thuật
Hình họa vẽ kĩ thuậtHình họa vẽ kĩ thuật
Hình họa vẽ kĩ thuật
 
Autocad excel vba
Autocad excel vbaAutocad excel vba
Autocad excel vba
 
Slide bài giảng về lập trình Scratch dành cho GV
Slide bài giảng về lập trình Scratch dành cho GVSlide bài giảng về lập trình Scratch dành cho GV
Slide bài giảng về lập trình Scratch dành cho GV
 
[Kho tài liệu ngành may] giáo trình vẽ mỹ thuật trang phục
[Kho tài liệu ngành may] giáo trình vẽ mỹ thuật trang phục[Kho tài liệu ngành may] giáo trình vẽ mỹ thuật trang phục
[Kho tài liệu ngành may] giáo trình vẽ mỹ thuật trang phục
 
Bai5 hình chiếu trục đo
Bai5 hình chiếu trục đoBai5 hình chiếu trục đo
Bai5 hình chiếu trục đo
 
The Adventures of Mike, How to Use Scratch 2.0 to Program Your Game
The Adventures of Mike, How to Use Scratch 2.0 to Program Your GameThe Adventures of Mike, How to Use Scratch 2.0 to Program Your Game
The Adventures of Mike, How to Use Scratch 2.0 to Program Your Game
 
Hinh hoa bkhn
Hinh hoa bkhnHinh hoa bkhn
Hinh hoa bkhn
 
Scratch Basics
Scratch BasicsScratch Basics
Scratch Basics
 

Similar to Bai tap va_huong_dan_thuc_hanh_autocad_vba

Chương trình học, đào tạo Autocad & Sketchup - Arcnext training center
Chương trình học, đào tạo Autocad & Sketchup - Arcnext training centerChương trình học, đào tạo Autocad & Sketchup - Arcnext training center
Chương trình học, đào tạo Autocad & Sketchup - Arcnext training center
Steve Trình
 
Quản lý hoạt động giảng dạy sử dụng ASP.NET
Quản lý hoạt động giảng dạy sử dụng ASP.NETQuản lý hoạt động giảng dạy sử dụng ASP.NET
Quản lý hoạt động giảng dạy sử dụng ASP.NET
Trung Thành Nguyễn
 

Similar to Bai tap va_huong_dan_thuc_hanh_autocad_vba (20)

giới thiệu phần mềm thiết kế cơ khí miễn phí mã nguồn mở FreeCAD
giới thiệu phần mềm thiết kế cơ khí miễn phí mã nguồn mở FreeCADgiới thiệu phần mềm thiết kế cơ khí miễn phí mã nguồn mở FreeCAD
giới thiệu phần mềm thiết kế cơ khí miễn phí mã nguồn mở FreeCAD
 
LẬP TRÌNH TRONG AUTOCAD
LẬP TRÌNH TRONG AUTOCADLẬP TRÌNH TRONG AUTOCAD
LẬP TRÌNH TRONG AUTOCAD
 
Lap+trinh+vba
Lap+trinh+vbaLap+trinh+vba
Lap+trinh+vba
 
Lap+trinh+vba
Lap+trinh+vbaLap+trinh+vba
Lap+trinh+vba
 
Autocad nâng cao và lập trình Autocad
Autocad nâng cao và lập trình AutocadAutocad nâng cao và lập trình Autocad
Autocad nâng cao và lập trình Autocad
 
Giáo trình mô phỏng phân tích lực trên Autodesk Inventor
Giáo trình mô phỏng phân tích lực trên Autodesk InventorGiáo trình mô phỏng phân tích lực trên Autodesk Inventor
Giáo trình mô phỏng phân tích lực trên Autodesk Inventor
 
Chương trình học, đào tạo Autocad & Sketchup - Arcnext training center
Chương trình học, đào tạo Autocad & Sketchup - Arcnext training centerChương trình học, đào tạo Autocad & Sketchup - Arcnext training center
Chương trình học, đào tạo Autocad & Sketchup - Arcnext training center
 
Quản lý hoạt động giảng dạy sử dụng ASP.NET
Quản lý hoạt động giảng dạy sử dụng ASP.NETQuản lý hoạt động giảng dạy sử dụng ASP.NET
Quản lý hoạt động giảng dạy sử dụng ASP.NET
 
Bai giang ve cad
Bai giang ve cadBai giang ve cad
Bai giang ve cad
 
Autocad nâng cao và lập trình trong Autocad
Autocad nâng cao và lập trình trong AutocadAutocad nâng cao và lập trình trong Autocad
Autocad nâng cao và lập trình trong Autocad
 
AutoCad nâng cao & Lập trình trong AutoCad
AutoCad nâng cao & Lập trình trong AutoCadAutoCad nâng cao & Lập trình trong AutoCad
AutoCad nâng cao & Lập trình trong AutoCad
 
Giáo trình đào tạo Thiết kế cơ khí Solidworks 2016
Giáo trình đào tạo Thiết kế cơ khí Solidworks 2016Giáo trình đào tạo Thiết kế cơ khí Solidworks 2016
Giáo trình đào tạo Thiết kế cơ khí Solidworks 2016
 
Các phím tắt trong AutoCAD
Các phím tắt trong AutoCADCác phím tắt trong AutoCAD
Các phím tắt trong AutoCAD
 
Baigiangvecad
BaigiangvecadBaigiangvecad
Baigiangvecad
 
Chuong 1
Chuong 1Chuong 1
Chuong 1
 
Auto cad 2010
Auto cad 2010Auto cad 2010
Auto cad 2010
 
Auto cad 2010
Auto cad 2010Auto cad 2010
Auto cad 2010
 
Giao trinh autocad 2010
Giao trinh autocad 2010Giao trinh autocad 2010
Giao trinh autocad 2010
 
Giao trinh auto cad 2010
Giao trinh auto cad 2010Giao trinh auto cad 2010
Giao trinh auto cad 2010
 
Revit API & WPF Training - 15 Lessons | Alpha BIM 2023
Revit API & WPF Training - 15 Lessons | Alpha BIM 2023Revit API & WPF Training - 15 Lessons | Alpha BIM 2023
Revit API & WPF Training - 15 Lessons | Alpha BIM 2023
 

Bai tap va_huong_dan_thuc_hanh_autocad_vba

  • 1. 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 - pttung@fit.hcmuns.edu.vn 1. Hướng dẫn tổng quan về AutoCAD và VBA 1. VBA Manager & Visual Basic Editor
  • 2. 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).
  • 3. 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
  • 4. VD:
  • 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:
  • 6. 6. Cách thức nhập liệu từ người sử dụng • Nhập chuỗi • Nhập điểm
  • 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ẽ
  • 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 FilesAutoCAD 2007SampleVBAdrawline.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
  • 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ẽ
  • 10. 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 - pttung@fit.hcmuns.edu.vn 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
  • 11. 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 VBAA 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
  • 12. SendCommand. Câu lệnh cụ thể được thiết lập trước từ 1 biến String
  • 13. 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 - pttung@fit.hcmuns.edu.vn 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 VBAA 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 FilesAutoCAD 2007SampleVBAibeam3d.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
  • 14. • 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