Thực hành lập trìnhVBA trong AutoCAD LậptrìnhVBA 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ìnhVBA 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): (Defun C:Vhv() (Command "Vbarun" "Vhv") (princ)) - Chọn Menu File, Save As, đặt tên file là 1_Vhv.lsp - 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ậptrì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. Đâ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 . 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. 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. Thực hành lập trình VBA trong AutoCAD 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