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  
eng-hiep

Đếm block thuộc tính

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

eng-hiep    47

Chào các bác ,

 

Em muốn thống kê số lượng block có cùng thuộc tính thì có cách nào không ạ ? Ví dụ như trong file cad em đính kèm muốn đếm có bao nhiêu block Đ2 , Đ3 , S1 , S2...đấy ạ .

 

Thx

 

http://www.mediafire.com/?zvumnil3q5n

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
eng-hiep    47
Bạn thích thế này không

http://www.cadviet.com/upfiles/2/att.rar

Dạ chưa được như ý muốn bác à . Em muốn thống kê ra số lượng Đ1 ,Đ2,S1...luôn đấy ạ . Chứ ko phải là D và S thôi , mà ko biết 3424 là gì ấy nhỉ ^^

Mong các cao thủ giúp đỡ . Thx

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
phamthanhbinh    3.123
Dạ chưa được như ý muốn bác à . Em muốn thống kê ra số lượng Đ1 ,Đ2,S1...luôn đấy ạ . Chứ ko phải là D và S thôi , mà ko biết 3424 là gì ấy nhỉ ^^

Mong các cao thủ giúp đỡ . Thx

Hề hề,

Chào bạn eng_hiep,

Cao thủ thì hơi hiếm, song thấp thủ thì có đây. Bạn xài thử cái củ lisp này xem có bị giắt răng tí nào không nhé.

(defun c:cbl (/ a d ss i n c)
(setq a (getstring "\n Nhap ky tu dau cua block: ")
     d (getstring "\n Nhap ky tu duoi cua block: ")
     ss (ssget "X" (list (cons 0 "INSERT") (cons 2 a) (cons 66 1)))
     i 0 
     n (sslength ss)
     c 0 )
(while (< i n)
(setq ent (ssname ss i)
     elst (entget (entnext ent)))
(if (= (cdr (assoc 1 elst)) d)
(setq c (1+ i))
)
(setq i (1+ i))
)
(alert (strcat " Có " (itoa c) " block " a d " tren ban ve."))
(princ "\n He he đúng chua???")
(princ)
)

Nếu thấy giắt răng chỗ nào, bạn cứ post lên sẽ có nha sĩ gỡ giùm bạn. Hề hề hề. Chúc bạn ngon miệng.

 

Code lisp đã được chỉnh sửa bởi PhamThanhBinh để khắc phục lỗi do upload ngày 18-12-2009

  • 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
eng-hiep    47
Hề hề,

Chào bạn eng_hiep,

Cao thủ thì hơi hiếm, song thấp thủ thì có đây. Bạn xài thử cái củ lisp này xem có bị giắt răng tí nào không nhé.

(defun c:cbl (/ a b ss i n c)
(setq a (getstring "\n Nhap ky tu dau cua block: ")
     b (getstring "\n Nhap ky tu duoi cua block: ")
     ss (ssget "X" (list (cons 0 "INSERT") (cons 2 a) (cons 66 1)))
     i 0 
     n (sslength ss)
     c 0 )
(while (< i n)
(setq ent (ssname ss i)
     elst (entget (entnext ent)))
(if (= (cdr (assoc 1 elst)) b )
(setq c (1+ i))
)
(setq i (1+ i))
)
(alert (strcat " Có " (itoa c) " block " a b " tren ban ve."))
(princ "\n He he đúng chua???")
(princ)
)

Nếu thấy giắt răng chỗ nào, bạn cứ post lên sẽ có nha sĩ gỡ giùm bạn. Hề hề hề. Chúc bạn ngon miệng.

Cao thủ cứ chơi em út hoài ^^ Giắt quá trời lun bác ui :rolleyes: Đếm số lượng bị sai (cái nào cũng đếm ra kết quả là 1 cả :() , Dùng lsp của bác xong em phải dùng thèn Task manager để tắt acad :rolleyes: Ah mà lsp của bác thiếu dấu ngoặc ở cuối đấy :rolleyes:

 

Code lisp đã được chỉnh sửa lại bởi PhamThanhBinh để khắc phục lỗi do upload ngày 18-12-2009

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
phamthanhbinh    3.123
Cao thủ cứ chơi em út hoài ^^ Giắt quá trời lun bác ui :rolleyes: Đếm số lượng bị sai (cái nào cũng đếm ra kết quả là 1 cả :() , Dùng lsp của bác xong em phải dùng thèn Task manager để tắt acad :rolleyes: Ah mà lsp của bác thiếu dấu ngoặc ở cuối đấy :rolleyes:

Hề hề,

Cái vụ này là do lỗi upload của diễn đàn rồi. Chả hiểu sao trong lisp có ký tự b khi upload là nó tòi ra một đống loằng ngoằng chi chi đó. Vì thế nó chả thể nào tìm được cái giá trị đuôi của tên block cả bạn ạ. Mình đã sửa lại thay chỗ có ký tự b bằng ký tự d bạn ạ. Kiểm lại thì không thấy sai gì cả.

Bạn có thể load lại cái lisp này hoặc copy nó sang notepad và save lại với đuôi .lsp để dùng.

 

Cái vụ phải dùng thằng Task Manager để tắt Cad chắc cũng do thằng của nợ trên mà ra, còn lisp này hổng có thiếu ngoặc đâu nha. Nó chạy trên bản vẽ bạn gửi mình phe phé và chỉ dừng lại khi bạn tuýt còi thôi. Hề hề.

Cũng vì mình thấp thủ nên chưa biết cách sửa cái lỗi này bạn ạ.

  • 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
donimic    31

Phải chuột chọn Quick Select, trong Type chọn Block Re.... (quên cái chữ này rùi), trong Name nhập tên Block muốn tìm (Ví du Đ1), OK. Chúng ta sẽ chọn dc tất cả block có tên là Đ1 trong bv, trên dòng Command sẽ thông kê ra số lượng đối tượng dc chọn.

Phải thế này hok??

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  

×