Đến nội dung


Hình ảnh
- - - - -

Giúp Tôi xử lý lỗi VBA với


  • Please log in to reply
4 replies to this topic

#1 kimvantoan

kimvantoan

    biết vẽ line

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

Đã gửi 26 November 2010 - 08:04 PM

Chào các bạn! Tôi có hai hình chữ nhật trong model, tôi viết một đoạn mã VBA để làm cho hai hình chữ nhật này có chung một đỉnh. Nhưng khi chạy thì không làm được như ý muốn. Ai giúp tôi với! Đoạn mã đây:


Public Sub test()

'chon hai hinh chu nhat
Dim sl As AcadSelectionSet
Dim ft(0) As Integer
Dim fd(0) As Variant
Dim i As Variant

ft(0) = 0
fd(0) = "lwpolyline"

On Error Resume Next
Set sl = ThisDrawing.SelectionSets.Add("selectionset")
If Err <> 0 Then
Err.Clear
Set sl = ThisDrawing.SelectionSets("selectionset")
End If

sl.SelectOnScreen ft, fd

'chon dinh chung cua hai hinh chu nhat, dinh "P"
Dim p As Variant
On Error Resume Next
p = ThisDrawing.Utility.GetPoint(, "")
If Err <> 0 Then
Err.Clear
Exit Sub
End If

'gan dinh "1" cua hai hinh chu nhat là "P"
For Each i In sl
i.Coordinate(1) = p
Next
End Sub
  • 0

#2 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 26 November 2010 - 09:52 PM

Chào các bạn! Tôi có hai hình chữ nhật trong model, tôi viết một đoạn mã VBA để làm cho hai hình chữ nhật này có chung một đỉnh. Nhưng khi chạy thì không làm được như ý muốn. Ai giúp tôi với! Đoạn mã đây:


Bạn dùng đoạn mã sau:

'gan dinh "1" cua hai hinh chu nhat là "P"
Dim pt1(2) as double

For Each i In sl
pt1(0)=i.Coordinates(0)
pt1(1)=i.Coordinates(1)

i.Move(pt1,p)
Next

Tuy nhiên chưa xác định được đỉnh chung có cùng kiểu với nhau hay không (VD: cùng đỉnh trên trái chẳng hạn), vì đầu bài không yêu cầu.
  • 0
Clear sky!

MF Rock collection.

#3 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 26 November 2010 - 10:08 PM

Chung đỉnh là ntn hả ác ơi ?? Sao không fải là move 1 thằng sang thằng kia ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#4 kimvantoan

kimvantoan

    biết vẽ line

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

Đã gửi 26 November 2010 - 10:34 PM

Bạn dùng đoạn mã sau:

'gan dinh "1" cua hai hinh chu nhat là "P"
Dim pt1(2) as double

For Each i In sl
pt1(0)=i.Coordinates(0)
pt1(1)=i.Coordinates(1)

i.Move(pt1,p)
Next

Tuy nhiên chưa xác định được đỉnh chung có cùng kiểu với nhau hay không (VD: cùng đỉnh trên trái chẳng hạn), vì đầu bài không yêu cầu.


Cám ơn bạn anhcos! Mình đã thử cách của bạn rồi. Nhưng khi chạy, sau khi mình pick điểm "P" trên màn hình thì hai hình chữ nhật vẫn như cũ, không có điều gì xẩy ra cả. Mong nhận được sự giúp đỡ thêm của bạn!
  • 0

#5 kimvantoan

kimvantoan

    biết vẽ line

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

Đã gửi 26 November 2010 - 10:39 PM

Chung đỉnh là ntn hả ác ơi ?? Sao không fải là move 1 thằng sang thằng kia ^^


Có nghĩa là: Mình muốn duyệt qua từng hình chữ nhật(hoặc polyline nói chung) và gán một đỉnh của hình chữ nhật (polyline) chùng vào điểm "P"(điểm mà mình pick trên màn hình). Mong được sự giúp đỡ của bạn!
  • 0