Đến nội dung


Hình ảnh
- - - - -

Code VBA tính chiều dài các cạnh của LWPolyline


  • Please log in to reply
1 reply to this topic

#1 ptlong04x1

ptlong04x1

    biết vẽ polygon

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

Đã gửi 07 June 2012 - 02:01 PM

Nhờ mọi người gợi ý giúp mình đoạn code VBA sao cho :
Khi click chọn vào 1 đường LWPolyline bất kỳ thì sẽ hiện lên các msgbox thông báo chiều dài của tất cả các cạnh tạo nên đường LWPolyline đó. Cảm ơn mọi người!
  • 0

#2 garupro

garupro

    biết vẽ circle

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

Đã gửi 02 July 2012 - 02:03 PM

Bạn chỉ cần lấy tất cả các điểm rồi tính chiều dài = điểm trước - điểm sau


Sub get_D()
Dim Entry As AcadObject
Dim point As Variant
Dim pline As AcadLWPolyline
Dim cor As Variant
Dim x1 As Double, y1 As Double, x2 As Double, y2 As Double
ThisDrawing.Utility.GetEntity Entry, point, "Chon mot Pline "
If Entry.ObjectName = "AcDbPolyline" Then
Set pline = Entry
cor = pline.Coordinates
For I = 0 To UBound(cor) - 2 Step 2
x1 = cor(I)
y1 = cor(I + 1)
x2 = cor(I + 2)
y2 = cor(I + 3)
MsgBox tinhchieudai(x1, y1, x2, y2)
Next
End If
End Sub
Function tinhchieudai(x1 As Double, y1 As Double, x2 As Double, y2 As Double) As Double
tinhchieudai = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2)
End Function

  • 1