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

Truy xuất dữ liệu với Group

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

Mình đang viết một VBA với một Group trong ACAD . Cho mình hỏi chút :

1, Làm thế nào biết được đối tượng mình chọn đang lằm trong Group nào

2, Trong Group vừa tìm được đấy có đối tượng là Block và chứa thông tin ví dụ như a150 hay %%c8 làm thế nào để đọc được dự liệu ấy là %%8 hay là các giá trị khác.

Thanks

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

Có vẻ như vấn đề này không dễ dàng chút nào !

Tui đã mất rất nhiều thời gian để mày mò mà chẳng có kết quả nào ! Hôm trước có bác khuyên lên dùng Handle để truy xuất dữ liệu .

Hích nhưng mình lại chưa dùng nó bao giờ ! Các cao thủ cho ý kiến chỉ dẫn nhé.

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
Mình đang viết một VBA với một Group trong ACAD . Cho mình hỏi chút :

1, Làm thế nào biết được đối tượng mình chọn đang lằm trong Group nào

2, Trong Group vừa tìm được đấy có đối tượng là Block và chứa thông tin ví dụ như a150 hay %%c8 làm thế nào để đọc được dự liệu ấy là %%8 hay là các giá trị khác.

Thanks

Bạn nên post file cad có VBA (nên save as version 2004 về trước) và chú thích rõ ràng các yêu cầu thì mọi mới biết và góp ý được

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

Mình có một Group như trong bản vẽ và mình chọn POLYLINE trong group đó (màu đỏ) làm thế nào biết nó nằm trong gruop nào và lấy thông tin từ block trong cùng một group trên đó

 

 

Public Sub NhanThanh()

 

Dim xdataOut As Variant

Dim xtypeOut As Variant

Dim Sel As AcadSelectionSet

Dim i As Integer

Dim Dthang As AcadLWPolyline

 

'===================================================================

For i = 0 To ThisDrawing.SelectionSets.Count - 1

ThisDrawing.SelectionSets(i).Delete

Next i

Set Sel = ThisDrawing.SelectionSets.Add("Thanh")

FilterType(0) = 0: FilterData(0) = "LWPOLYLINE"

Sel.SelectOnScreen FilterType, FilterData

 

For i = 0 To Sel.Count - 1

 

................................................................................

 

........

 

Next i

End Sub

 

http://www.cadviet.com/upfiles/new_block_8.dwg

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

Đây là VD về lấy Attributes của block có trong bản vẽ. Cách lấy đối tượng khác như LWPOLYLINE cũng tương tự

  
 .....
 Dim BlockObj As AcadBlockReference
 Dim attributeObj
 Dim blName$, attName(2) As String
 .....
 Sel.SelectOnScreen
 Set BlockObj = Sel.Item(0)
 blName = BlockObj.Name
 ' = BAR_L
 attributeObj = BlockObj.GetAttributes
 For i = 0 To 2
attName(i) = attributeObj(i).TextString
' = %%c8 , = a150
 Next i
 .....

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

Đó là cách lấy thuộc tính từ Block của đối tượng cái mình cần là biết đối tượng đấy lằm trong nhóm nào và block trong nhóm đối tượng được chọn !

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  

×