Lập trình VBA trong AutoCAD được sử dụng rộng rãi từ AutoCAD R14 (năm 1997), lúc đó các Fan hâm mộ AutoCAD ở Việt Nam đang vui mừng được sử dụng AutoCAD trong môi trường Windows (AutoCAD R13 màn hình mặc định màu xám và sử dụng không thân thiện lắm) và AutoLISP đang được ưa chuộng nên ít người tìm hiểu về VBA (Visual Basic for Application) trong môi trường AutoCAD, năm 1998 nhiều đơn vị tư vấn vẫn còn vẽ tay hoặc sử dụng AutoCAD R12 chạy trên môi trường DOS.
Lập trình VBA trong AutoCAD không hề đơn giản, để bắt đầu cũng cần kiến thức cơ bản về VBA, nhưng nếu làm chủ được VBA bạn sẽ tạo ra những tiện ích trợ giúp cho công việc thiết kế cũng như tạo ra những phần mềm ứng dụng thú vị...
Bài 1: Kết hợp AutoLISP và VBA tạo ra ứng dụng đơn giản đầu tiên vẽ hình vuông khi cho biết 1 điểm và chiều dài cạnh.
1. Tạo lệnh tắt:
- Tại màn hình Desktop bấm phải chuột, chọn New, Text Document.
- Nhập tên file bất kỳ, bấm kép mở file.
- Nhập dòng lệnh sau (có thể tải file ở dưới):
- Như vậy bạn đã có Lệnh tắt Vhv, chạy 1 ứng dụng VBA tên là Vhv (vẽ hình vuông).
2. File 1_Vehinhvuong.dvb:
- Đây là file chứa nội dung lập trình VBA.
- Có thể copy ra file khác và viết thêm ứng dụng vào trong file.
Tải thư mục VBA đính kèm gồm 2 file 1_Vhv.lsp và 1_Vehinhvuong.dvb
Tải xong copy thư mục vào ổ C:\
3. Chạy ứng dụng:
- Khởi động AutoCAD.
- Gõ lệnh AP
- Chọn 2 file để load (hoặc bấm kép vào từng file): 1_Vhv.lsp và 1_Vehinhvuong.dvb
- Nhập lệnh: Vhv
- Chọn 1 điểm
- Nhập chiều dài cạnh, ví dụ bằng 50, kết quả như hình dưới.
http://www.mediafire.com/i/?4z
http://www.mediafire.com/i/?4z
Đây là nội dung toàn bộ file VBA:
-Trong AutoCAD nhấn Alt+F11 để xem
Lập trình VBA trong AutoCAD không hề đơn giản, để bắt đầu cũng cần kiến thức cơ bản về VBA, nhưng nếu làm chủ được VBA bạn sẽ tạo ra những tiện ích trợ giúp cho công việc thiết kế cũng như tạo ra những phần mềm ứng dụng thú vị...
Bài 1: Kết hợp AutoLISP và VBA tạo ra ứng dụng đơn giản đầu tiên vẽ hình vuông khi cho biết 1 điểm và chiều dài cạnh.
1. Tạo lệnh tắt:
- Tại màn hình Desktop bấm phải chuột, chọn New, Text Document.
- Nhập tên file bất kỳ, bấm kép mở file.
- Nhập dòng lệnh sau (có thể tải file ở dưới):
- Chọn Menu File, Save As, đặt tên file là 1_Vhv.lsp(Defun C:Vhv() (Command "Vbarun" "Vhv") (princ))
- Như vậy bạn đã có Lệnh tắt Vhv, chạy 1 ứng dụng VBA tên là Vhv (vẽ hình vuông).
2. File 1_Vehinhvuong.dvb:
- Đây là file chứa nội dung lập trình VBA.
- Có thể copy ra file khác và viết thêm ứng dụng vào trong file.
Tải thư mục VBA đính kèm gồm 2 file 1_Vhv.lsp và 1_Vehinhvuong.dvb
Tải xong copy thư mục vào ổ C:\
3. Chạy ứng dụng:
- Khởi động AutoCAD.
- Gõ lệnh AP
- Chọn 2 file để load (hoặc bấm kép vào từng file): 1_Vhv.lsp và 1_Vehinhvuong.dvb
- Nhập lệnh: Vhv
- Chọn 1 điểm
- Nhập chiều dài cạnh, ví dụ bằng 50, kết quả như hình dưới.

http://www.mediafire.com/i/?4z
http://www.mediafire.com/i/?4z
Đây là nội dung toàn bộ file VBA:
-Trong AutoCAD nhấn Alt+F11 để xem
'**************************************
'VE HINH VUONG
'Design by LDT2007 - Tel : 091.304.9779
'**************************************
Public Sub Vhv()
On Error GoTo Err_Vhv
Dim P01 As Variant
Dim D1(0 To 2) As Double
Dim D2(0 To 2) As Double
Dim D3(0 To 2) As Double
Dim D4(0 To 2) As Double
Dim L1 As AcadLine
Dim L2 As AcadLine
Dim L3 As AcadLine
Dim L4 As AcadLine
P01 = ThisDrawing.Utility.GetPoint(, "Chon mot diem: ")
Dim Canh As Double
Canh = ThisDrawing.Utility.GetDistance(, "Nhap chieu dai canh:")
D1(0) = P01(0): D1(1) = P01(1): D1(2) = 0
D2(0) = P01(0) + Canh: D2(1) = P01(1): D2(2) = 0
D3(0) = P01(0) + Canh: D3(1) = P01(1) + Canh: D3(2) = 0
D4(0) = P01(0): D4(1) = P01(1) + Canh: D4(2) = 0
Set L1 = ThisDrawing.ModelSpace.AddLine(D1, D2)
Set L2 = ThisDrawing.ModelSpace.AddLine(D2, D3)
Set L3 = ThisDrawing.ModelSpace.AddLine(D3, D4)
Set L4 = ThisDrawing.ModelSpace.AddLine(D4, D1)
'L1.Layer = "Tuong"
'L2.Layer = "Tuong"
Exit_Vhv:
Exit Sub
Err_Vhv:
MsgBox "Loi, khong thuc hien duoc!", vbCritical, "Thong bao"
Resume Exit_Vhv
End Sub
File đính kèm
Last edited by a moderator: