Đến nội dung


Hình ảnh
- - - - -

AutoCad: nhờ hd lấy thuộc tính của Layer trong chương trình VBA


  • Please log in to reply
5 replies to this topic

#1 letracdiak40

letracdiak40

    Chưa sử dụng CAD

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

Đã gửi 26 June 2008 - 07:33 AM

Tôi đang tự học chương trình VBA ứng dụng trong Autocad từ quyển sách của Joe Sutphin, quyển A ProgGrammer's Reference. Tôi đang tập viết lấy thuộc tính Text hoặc MText trong một Layer nhưng tài liệu trong sách không đề cập. Tôi đã tìm cách lấy nhưng đều không biết thực hiện. Rất mong Bạn nào biết về VBA chỉ giúp. Xin chân thành cảm ơn!
Chúc diễn đàn ngày càng phát triển và là nơi học tập trao đổi cho tất cả mọi người!
  • 0

#2 vanduong

vanduong

    biết lệnh adcenter

  • Validating
  • PipPipPipPipPipPipPip
  • 1383 Bài viết
Điểm đánh giá: 536 (tốt)

Đã gửi 26 June 2008 - 09:21 AM

Tôi đang tự học chương trình VBA ứng dụng trong Autocad từ quyển sách của Joe Sutphin, quyển A ProgGrammer's Reference. Tôi đang tập viết lấy thuộc tính Text hoặc MText trong một Layer nhưng tài liệu trong sách không đề cập. Tôi đã tìm cách lấy nhưng đều không biết thực hiện. Rất mong Bạn nào biết về VBA chỉ giúp. Xin chân thành cảm ơn!
Chúc diễn đàn ngày càng phát triển và là nơi học tập trao đổi cho tất cả mọi người!

----------------
bạn hãy liên hệ với bác vndesperados http://www.cadviet.c...?showtopic=4222


Bác ấy là cao thủ VBA trên CADVIET đó
  • 0

#3 vndesperados

vndesperados

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 547 Bài viết
Điểm đánh giá: 253 (khá)

Đã gửi 26 June 2008 - 09:58 AM

----------------
bạn hãy liên hệ với bác vndesperados <a href="http://www.cadviet.com/forum/index.php?showtopic=4222" target="_blank">http://www.cadviet.com/forum/index.php?showtopic=4222</a>


Bác ấy là cao thủ VBA trên CADVIET đó


Mình đã đọc những gì mà letracdiak40 viết rùi. Nhưng nói thật không hiểu là bác này muốn cái gì luôn.
Còn cao thủ thì không dám đâu. Lâu rùi không sờ đến nó nữa
  • 0

#4 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 26 June 2008 - 01:04 PM

Tôi đang tự học chương trình VBA ứng dụng trong Autocad từ quyển sách của Joe Sutphin, quyển A ProgGrammer's Reference. Tôi đang tập viết lấy thuộc tính Text hoặc MText trong một Layer nhưng tài liệu trong sách không đề cập. Tôi đã tìm cách lấy nhưng đều không biết thực hiện. Rất mong Bạn nào biết về VBA chỉ giúp. Xin chân thành cảm ơn!
Chúc diễn đàn ngày càng phát triển và là nơi học tập trao đổi cho tất cả mọi người!

Bạn có thể nói rõ hơn được không?

Đoạn tôi tô đậm phần trích dẫn của bạn không có ý nghĩa gì cả.
Trong một layer không hề có thuộc tính text hay Mtext.
  • 0

#5 Jin Yong

Jin Yong

    biết lệnh group

  • Vip
  • PipPipPipPipPipPip
  • 498 Bài viết
Điểm đánh giá: 334 (khá)

Đã gửi 14 July 2008 - 08:25 AM

Bạn có thể nói rõ hơn được không?

Đoạn tôi tô đậm phần trích dẫn của bạn không có ý nghĩa gì cả.
Trong một layer không hề có thuộc tính text hay Mtext.


Jin nghĩ đồng chí này muốn chọn các đối tượng Text và MText có trong một lớp Layer nào đó, sau đó lấy thuộc tính của các đối tượng này!
  • 0

Phát triển phần mềm thiết kế Kết cấu Việt Nam - http://www.ketcausoft.com


#6 phantuhuong

phantuhuong

    biết dimstyle

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

Đã gửi 17 July 2008 - 11:41 PM

Bạn thử nghiên cứu code này xem sao:

Sub DoituongtrongLop()
Dim Doituong As AcadEntity
Dim Lop As AcadLayer
Dim asset As AcadSelectionSet
Dim i As Integer
Dim Tenlop As String

'Bo qua loi neu asset khong ton tai
On Error Resume Next
ActiveDocument.SelectionSets.Item("asset").Delete
'Tao asset
Set asset = ActiveDocument.SelectionSets.Add("asset")
'Chon toan bo doi tuong trong ban ve vao asset
asset.Select acSelectionSetAll

Tenlop = "CUA" 'Tim doi tuong trong lop CUA
i = 0
'Duyet qua tung doi tuong trong toan bo ban ve
For Each Doituong In asset
If Doituong.Layer = Tenlop Then
Doituong.Highlight True 'Chon doi tuong
i = i + 1
MsgBox Doituong.ObjectName 'Hien ten doi tuong
Doituong.Highlight False 'Khong chon doi tuong
End If
Next

MsgBox "Lop " & Tenlop & " co " & i & " doi tuong."

Set asset = Nothing
Set Lop = Nothing
Set Doituong = Nothing

End Sub

Thủ tục này liệt kê toàn bộ đối tượng trong 1 lớp bất kỳ trong bản vẽ (thay ở biến Tenlop). Nếu chỉ muốn chọn đối tượng Text hay Mtext thì dùng thêm thuộc tính ObjectName. Sau đó bạn tự phát triển nhé!
  • 1
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!