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

Đếm Block Visibility

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

Ai giúp em, em đếm cái block Visibility nó ra như bản vẽ.

nó đếm ra 2.....*U59

                   1.....*U61

Em ko muốn ra ra như thế mất kiểm soát.

làm sao để nó xuất hiện đếm 1.....CT1

                                                     2.....CT2

Ai giúp em với. Thanks.

 

Dien 1.dwg

Dem block (lenh BC).LSP

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

Thử xem được chưa

;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;chuong trinh thong ke block - Pham Tien Chien - XMT
;phien ban V1.0
;================
(defun c:bc( / ss bn sl lst txt n)
  (defun LM:effectivename ( obj )
    (vlax-get-property obj
        (if (vlax-property-available-p obj 'effectivename)
            'effectivename
            'name
        )
    )
)
(setq ss (ssget '((0 . "insert"))))
(if (null ss) (exit))
  (setq
    n 0
;;;    ent (entget (ssname ss 0))
;;;    bn (cdr (assoc 2 ent))
;;;    lst (list (cons bn 1))
    )
 
  (repeat (sslength ss)
    (setq
      bn (LM:effectivename (vlax-ename->vla-object (ssname ss n)))
;;;      ent (entget (ssname ss n))
;;;      bn (cdr (assoc 2 ent))
      )
    (if (not (assoc bn lst))
      (setq lst (cons (cons bn 1) lst))
      (setq
	sl (cdr (assoc bn lst))
	sl (1+ sl)
	lst (subst (cons bn sl) (assoc bn lst) lst)
	)
      )
    (setq n (1+ n))
    )
(setq txt "")
(setq n 0)
(repeat (length lst)
  (setq a (nth n lst))
  (setq txt (strcat txt "\n" (itoa (cdr a)) "....." (car a) ))
  (setq n (1+ n))
  )
(command "_Mtext" pause pause txt "")
(princ)
);the end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

  • 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
Vào lúc 31/3/2018 tại 17:33, tien2005 đã nói:

Thử xem được chưa


;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;chuong trinh thong ke block - Pham Tien Chien - XMT
;phien ban V1.0
;================
(defun c:bc( / ss bn sl lst txt n)
  (defun LM:effectivename ( obj )
    (vlax-get-property obj
        (if (vlax-property-available-p obj 'effectivename)
            'effectivename
            'name
        )
    )
)
(setq ss (ssget '((0 . "insert"))))
(if (null ss) (exit))
  (setq
    n 0
;;;    ent (entget (ssname ss 0))
;;    bn (cdr (assoc 2 ent))
;;    lst (list (cons bn 1))
    )
 
  (repeat (sslength ss)
    (setq
      bn (LM:effectivename (vlax-ename->vla-object (ssname ss n)))
;;;      ent (entget (ssname ss n))
;;      bn (cdr (assoc 2 ent))
      )
    (if (not (assoc bn lst))
      (setq lst (cons (cons bn 1) lst))
      (setq
	sl (cdr (assoc bn lst))
	sl (1+ sl)
	lst (subst (cons bn sl) (assoc bn lst) lst)
	)
      )
    (setq n (1+ n))
    )
(setq txt "")
(setq n 0)
(repeat (length lst)
  (setq a (nth n lst))
  (setq txt (strcat txt "\n" (itoa (cdr a)) "....." (car a) ))
  (setq n (1+ n))
  )
(command "_Mtext" pause pause txt "")
(princ)
);the end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

Bác ơi cho e hỏi có chỉnh lại được xuất ra bảng ko ạ, e tìm mãi mới đc lisp của bác mà xuấ ra mtext

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ào lúc 31/3/2018 tại 17:33, tien2005 đã nói:

Thử xem được chưa


;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;chuong trinh thong ke block - Pham Tien Chien - XMT
;phien ban V1.0
;================
(defun c:bc( / ss bn sl lst txt n)
  (defun LM:effectivename ( obj )
    (vlax-get-property obj
        (if (vlax-property-available-p obj 'effectivename)
            'effectivename
            'name
        )
    )
)
(setq ss (ssget '((0 . "insert"))))
(if (null ss) (exit))
  (setq
    n 0
;;;    ent (entget (ssname ss 0))
;;    bn (cdr (assoc 2 ent))
;;    lst (list (cons bn 1))
    )
 
  (repeat (sslength ss)
    (setq
      bn (LM:effectivename (vlax-ename->vla-object (ssname ss n)))
;;;      ent (entget (ssname ss n))
;;      bn (cdr (assoc 2 ent))
      )
    (if (not (assoc bn lst))
      (setq lst (cons (cons bn 1) lst))
      (setq
	sl (cdr (assoc bn lst))
	sl (1+ sl)
	lst (subst (cons bn sl) (assoc bn lst) lst)
	)
      )
    (setq n (1+ n))
    )
(setq txt "")
(setq n 0)
(repeat (length lst)
  (setq a (nth n lst))
  (setq txt (strcat txt "\n" (itoa (cdr a)) "....." (car a) ))
  (setq n (1+ n))
  )
(command "_Mtext" pause pause txt "")
(princ)
);the end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

Lisp của bác chỉ ra kết quả tên block gốc, mình có block att thì muốn hiển thị kết quả ra nội dung của block att đó đc không bác, dùng để đếm block cửa... trong bản vẽ. thank bác

  • Vote giảm 2

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  

×