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

Phá block attribute

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

hello mọi người, em làm quy hoạch xây dựng có các block như trong file cad giờ em muốn phá block này là lấy thông tin bên trong là I.GDx

em đã thử dùng lệnh burst nhưng text lại bị phá là thành riêng lẻ là I vs GDx riêng lẻ, có cách nào hoặc lisp nào có thể giúp em lấy đc cả hai thông tin này cùng một text không ạ, ví dụ là I.20, i.03...  em xin cảm ơn

em gửi file: Drawing3_2007.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
45 phút trước, divine kai đã nói:

hello mọi người, em làm quy hoạch xây dựng có các block như trong file cad giờ em muốn phá block này là lấy thông tin bên trong là I.GDx

em đã thử dùng lệnh burst nhưng text lại bị phá là thành riêng lẻ là I vs GDx riêng lẻ, có cách nào hoặc lisp nào có thể giúp em lấy đc cả hai thông tin này cùng một text không ạ, ví dụ là I.20, i.03...  em xin cảm ơn

em gửi file: Drawing3_2007.dwg

Có 1 cách là sau khi burst thì sử dụng lisp nối text, lọc text trong vòng tròn và nối với nhau

  • Like 1

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
9 phút trước, Doan Nguyen Van đã nói:

Có 1 cách là sau khi burst thì sử dụng lisp nối text, lọc text trong vòng tròn và nối với nhau

Em lọc ra được như thế này rồi anh, có cách nào nôi chúng lại với nhau không, kết quả em cần là i.gdx... giữa hai cái này có dấu . ạ

qs122222.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
Vừa xong, divine kai đã nói:

Em lọc ra được như thế này rồi anh, có cách nào nôi chúng lại với nhau không

qs122222.dwg

Nối trong excel được ko bạn hay nhất thiết phải nối trong cad?

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
1 phút trước, congviet đã nói:

Nối trong excel được ko bạn hay nhất thiết phải nối trong cad?

cái mình cần là dữ liệu cad nên nếu bên excel thì không được bạ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
1 phút trước, divine kai đã nói:

cái mình cần là dữ liệu cad nên nếu bên excel thì không được bạn

Thế thì phải nhờ mấy bác chuyên lisp viết lisp cho bạn thôi.

Hoặc có thể thực hiện một cách hơi lòng vòng một chút cũng xử lý được.

1. Chọn các block muốn phá lấy text -> Express Tools -> Export Attributes -> Chọn nơi lưu file text.

2. Mở file txt vừa lưu bằng excel -> nối các text lại với nhau rồi cho một attribute = giá trị vừa nối, attribute còn lại xóa đi.-> Lưu lại

3. Vào Express Tools ->Import Attributes

4. Dùng lệnh burst bình thường.

  • Like 1
  • Vote tăng 1

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
22 phút trước, divine kai đã nói:

cái mình cần là dữ liệu cad nên nếu bên excel thì không được bạn

Block của bạn là block thuôc tính, giờ chỉ cần viết lisp nối 2 thuộc tính I "." GDx với nhau rồi chèn ra các text là được

Mình có lisp tạo danh mục bản vẽ này, trong trường hợp của bạn coi như 2 thuộc tính block bạn cần tạo danh mục

Sau đó dùng tiếp chức năng nối text của lisp

video: 

Link diễn đàn:

https://www.cadviet.com/forum/topic/176725-lisp-tạo-nhanh-danh-mục-bản-vẽ/

 

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
16 phút trước, Biet ve CAD đã nói:

Block của bạn là block thuôc tính, giờ chỉ cần viết lisp nối 2 thuộc tính I "." GDx với nhau rồi chèn ra các text là được

Mình có lisp tạo danh mục bản vẽ này, trong trường hợp của bạn coi như 2 thuộc tính block bạn cần tạo danh mục

Sau đó dùng tiếp chức năng nối text của lisp

video: 

Link diễn đàn:

https://www.cadviet.com/forum/topic/176725-lisp-tạo-nhanh-danh-mục-bản-vẽ/

 

em không hiểu y lắm 

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ệnh là DTN. Việc chọn đúng các block có 2 tag như bản vẽ mẫu là việc của bạn nhé.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(Defun duy:block_d_att>ten (dchon tentang / dchon ndd tdd lst lsts lkq tentang)
(while (/= (cdr (assoc 0 (entget (entnext dchon)))) "SEQEND")
(setq ndd (cdr (assoc 1 (entget (entnext dchon)))))
(setq tdd (cdr (assoc 2 (entget (entnext dchon)))))
(cond
((= tentang tdd) (setq kq ndd) )
)
(setq dchon (entnext dchon))
)
kq)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(Defun c:dtn (/ b i N listkq)
(command "undo" "be")
(princ "Chon cac block !")
(setq b (ssget (list (cons 0 "INSERT"))))
(setq i 0)
(setq N (sslength b))
(while (< i N)
(setq diemchen (cdr (assoc 10 (entget (ssname b i)))))
 (setq ndtr (duy:block_d_att>ten (ssname b i) "II"))
 (setq nds (duy:block_d_att>ten (ssname b i) "1"))
 (setq ndv (strcat ndtr "," nds))
(entmake (list (cons 0 "TEXT")(cons 10 diemchen)(cons 11 diemchen)(cons 40 5)(cons 50 0)(cons 72 0)(cons 1 ndv)(cons 7 (getvar "TEXTSTYLE"))(cons 8 "layermoi")(cons 62 256)))
(setq i (1+ i))
)
(command "undo" "end")
(Princ)) 

 

  • Like 1

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  

×