Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đă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ị

thangcoi    0

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
thangcoi    0

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
ndtnv    397
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
thangcoi    0

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
ndtnv    397

Đâ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
thangcoi    0

Đó 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  

×