Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
4 replies to this topic

#1 phantuhuong

phantuhuong

    biết dimstyle

  • Moderator
  • PipPipPipPipPip
  • 383 Bài viết
Điểm đánh giá: 200 (khá)

Đã gửi 09 November 2008 - 07:57 PM

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.

Hình đã gửi

Mời các bạn tải file kèm theo:
http://www.cadviet.c...les/FormVBA.zip
  • 0
Bồi dưỡng Excel & VBA cho các đơn vị ở Hà Nội và khu vực lân cận

Từng bước loại đồ Tàu ra khỏi cuộc sống!


#2 phantuhuong

phantuhuong

    biết dimstyle

  • Moderator
  • PipPipPipPipPip
  • 383 Bài viết
Điểm đánh giá: 200 (khá)

Đã gửi 12 April 2009 - 10:34 PM

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

  • 0
Bồi dưỡng Excel & VBA cho các đơn vị ở Hà Nội và khu vực lân cận

Từng bước loại đồ Tàu ra khỏi cuộc sống!


#3 phantuhuong

phantuhuong

    biết dimstyle

  • Moderator
  • PipPipPipPipPip
  • 383 Bài viết
Điểm đánh giá: 200 (khá)

Đã gửi 13 April 2009 - 11:30 AM

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.

Hình đã gửi

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.c...VB6_in_Acad.rar

Project kèm theo:
http://www.cadviet.c...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
  • 4
Bồi dưỡng Excel & VBA cho các đơn vị ở Hà Nội và khu vực lân cận

Từng bước loại đồ Tàu ra khỏi cuộc sống!


#4 gohan2

gohan2

    Chưa sử dụng CAD

  • Members
  • Pip
  • 1 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 18 April 2009 - 09:02 PM

bạn ơi pass của project là gì thế
  • 0

#5 kobgye

kobgye

    Chưa sử dụng CAD

  • Members
  • Pip
  • 2 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 10 August 2009 - 04:21 PM

Cám ơn bác về bài viết.. Nó khá hữu ích cho người mới như em..
  • 0