
Vẽ đường thẳng trong Autocad bằng VBA
Bắt đầu tiếp cận với các lệnh vẽ trong VBA thì đây là bài tập đầu tiên người học VBA cần quan tâm. Đơn giản và là tiền đề cho mọi vấn đề của VBA. Vẽ một đường thằng trong Autocad bằng cách sử dụng lệnh trong VBA.
Việc đầu tiên bạn tạo một form chức năng như sau:

Chứ năng và tên của từng đối tượng như sau:
|
Object |
Name |
Caption |
|
Button |
btnDraw |
Draw |
|
Check Box |
ChkLine |
Add Line |
|
Check Box |
chkCircle |
Add Circle |
Tiếp đến tạo MODULE cho chức năng này. Ở menu bên trái, chọn Module và đặt tên Module đó tùy với sở thích của bạn.
Ở đây tôi đặt là DrawUtil

Trong Module : DrawUtil ta tạo 2 hàm vẽ như sau:
Sub DrawLine()
Dim lineObj As AcadLine ‘ Đối tượng Line của CAD
Dim startPoint(0 To 2) As Double ‘ Điểm đầu của đường thẳng
Dim endPoint(0 To 2) As Double ‘ Điểm Cuối của đường thằng
‘Chú ý: diểm đầu và điểm cuối bắt buộc kiểu ma trận 3 phần tử, để tượng trưng cho tọa độ: X, Y, Z.
startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0 ‘ Gán tạo độ điểm cho đường thằng
endPoint(0) = 30: endPoint(1) = 30: endPoint(2) = 0
‘ Vẽ đối tuợng cho không gian giấy vẽ là CAD
Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint) ' Đây là đối tượng vẽ lệnh line cơ bản.
lineObj.Update
' Để tìm hiểu thêm cách lệnh vẽ khác thì ModelSpace là thư viện bạn cần phải tiếp cận. ThisDrawing là đối tượng gốc của các lệnh vẽ.
End Sub
Sub DrawCircle()
Dim crlObj As AcadCircle
Dim centerPoint(0 To 2) As Double
centerPoint(0) = 0: centerPoint(1) = 0: centerPoint(2) = 0
Set crlObj = ThisDrawing.ModelSpace.AddCircle(centerPoint, 30)
crlObj.Update
End Sub
Trong Form: Bạn nháy 2 phát vào nut Draw ở trên màn hình để viết mã lệnh sẽ hiện ra. Bạn nhập như sau.
Private Sub btnDraw_Click()
If chkLine.Value = True Then ‘ Kiểm tra xem ChkLine được Check không?
MsgBox "Line"
DrawUtil.DrawLine ‘ Gọi hàm vẽ Line từ Module DrawUtil sang
Else
If chkCircle.Value = True Then ‘‘ Kiểm tra xem ChkCircle được Check không?
MsgBox "Circle"
DrawUtil.DrawCircle ‘ Gọi hàm vẽ Circle từ Module DrawUtil sang
End If
End If
End Sub
Vậy khi chạy ta đã có vẽ được đường thẳng và đường tròn trên màn hình.Dim lineObj As AcadLin. Để thực hiện được các chức năng Menu bạn nên xem lại bài trước.
Chú ý: Để tìm kiếm một hàm Vẽ trong Object Browser bạn bật Object Browser lên:

Một cửa sổ chứa các đối tượng cho bạn lựa chọn.

Chức năng tìm kiếm hàm Vẽ hoặc Hiển thị các lệnh Vẽ của các đối tượng trong CAD: AcadLine, AcadArc,… Cột bên trái cho phép nhìn các Lớp của các đối tượng Vẽ, bên phải thuộc tính của các lớp đó. Như ví dụ trên khi bạn khai báo:
Dim lineObj As AcadLine
Thì đây chính là một đối tượng vẽ của lớp AcadLine
Để tìm thông tin vào các lệnh vẽ đó, cần điển tên vào TEXTBOX ở trên để tìm kiếm, sau đó để muốn biết chi tiết ta chi cần Phải chuột vào lệnh đó xem HELP

Góc Phải của Help có một Ví dụ (Example) cho phép xem chi tiết về lệnh đó, để miìn có thể ứng dụng





Comments
Post new comment