Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
phantuhuong

Tương tác giữa Form trong VBA và VB6 với AutoCad

Các bài được khuyến nghị

1. Tương tác giữa Form trong VBA với AutoCad:

 

Ví dụ dưới đây giúp bạn điều khiển AutoCad từ Form VBA. Để dễ hiểu tôi tạo Form vẽ 1 đoạn thẳng, số liệu toạ độ điểm có thể nhập trực tiếp trong TextBox hoặc Pick điểm.

 

FormVBA.jpg

 

Mời các bạn tải file kèm theo:

http://www.cadviet.com/upfiles/FormVBA.zip

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Toàn bộ code trong Form đây:

 

Private Sub cmdClose_Click()
Unload Me
End Sub

Private Sub cmdFirstP_Click()
Dim FirstP As Variant

Me.Hide
FirstP = ThisDrawing.Utility.GetPoint(, "Chon diem dau tien: ")
'Gan toa do vao text
With Me
	.txtFirstX = Round(FirstP(0), 2)
	.txtFirstY = Round(FirstP(1), 2)
End With
Me.Show
Set FirstP = Nothing
End Sub

Private Sub cmdOK_Click()
Dim LineL As AcadLine 'Khai bao doan thang noi
Dim LineP1(0 To 2) As Double 'Khai bao diem dau
Dim LineP2(0 To 2) As Double 'Khai bao diem cuoi

'Gan toa do diem dau, diem cuoi
With Me
	LineP1(0) = Val(.txtFirstX)
	LineP1(1) = Val(.txtFirstY)

	LineP2(0) = Val(.txtSecondX)
	LineP2(1) = Val(.txtSecondY)
End With

'Ve doan thang noi 2 diem
Set LineL = ThisDrawing.ModelSpace.AddLine(LineP1, LineP2)
	LineL.color = acRed
Set LineL = Nothing
Unload Me
End Sub

Private Sub cmdSecondP_Click()
Dim SecondP As Variant

Me.Hide
SecondP = ThisDrawing.Utility.GetPoint(, "Chon diem thu hai: ")
'Gan toa do vao text
With Me
	.txtSecondX = Round(SecondP(0), 2)
	.txtSecondY = Round(SecondP(1), 2)
End With
Me.Show
Set SecondP = Nothing

End Sub

Private Sub UserForm_Deactivate()
'Xoa toan bo toa do X,Y
With Me
	.txtFirstX = vbNullString
	.txtFirstY = vbNullString
	.txtSecondX = vbNullString
	.txtSecondY = vbNullString
End With
End Sub

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

2. Tương tác giữa Form trong VB6 với AutoCad:

 

Ví dụ dưới đây giúp bạn điều khiển AutoCad từ Form VB6 thông qua file chạy kèm theo. Để dễ hiểu tôi tạo Form vẽ 1 đoạn thẳng, số liệu toạ độ điểm có thể nhập trực tiếp trong TextBox hoặc Pick điểm giống thủ tục như trên để dễ so sánh.

 

FormVB6inAutoCad.jpg

 

Những khác biệt so với ở mục VBA:

 

- Thêm đối tượn AcadApp trước mỗi thủ tục trong AutoCad để tham chiếu đến đối tượng.

- Thay đối tượng ThisDrawing bằng ActiveDocument (vì VB6 can thiệp từ ngoài vào).

 

 

File chạy:

http://www.cadviet.com/upfiles/Form_VB6_in_Acad.rar

 

Project kèm theo:

http://www.cadviet.com/upfiles/Form_to_Cad.rar

 

Mục tiếp theo sẽ hướng dẫn sử dụng Form VB6 qua thư viện liên kết động DLL....... lằng nhằng hơn nhiều so với EXE

  • Vote tăng 4

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×