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

Nhờ Viết Lisp Chọn Tất Cả Các Nhóm Text Trùng Nhau

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

Mình muốn nhờ mọi người giúp mình viết Lisp như sau:

Vấn đề cần giải quyết: lọc xem có tên nào giống với tên trước đó trong danh sách không, để mình kiểm tra lại bản vẽ của 2 bản giống nhau đó

Mình có 1 bảng thống kê danh sách các tên tủ: AA, A1, A2, A3, B1, B2, A1,  B3, B1,A6, A8, AA, A1

Bước 1 mình quét tất cả bảng thống kê danh sách, trả kết quả là tất cả các nhóm có nội dung giống nhau được chọn (bôi đen) là AA, A1, B1 (vì chúng bị lặp từ 2 lần trở lên)

 

Mình đã tìm trên diễn đàn nhiều lisp chọn đối tượng text giống nhau nhưng vẫn chưa đúng yêu cầu mình cần, mong mọi người giúp!

Mình cảm ơn mọi người trướ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

Đổi sang màu đỏ các text trùng nhau.

(defun c:test ( / ss i n )

(setq ss (ssget '((0 . "text"))))

(defun ss->ob (ss / ls) 

  (foreach n (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))) (setq ls (cons (vlax-ename->vla-object n) ls))))

(setq ss (ss->ob ss))

(setq ss (vl-sort ss '(lambda (e1 e2) (< (vla-get-TextString e1) (vla-get-TextString e2)))))

(setq i 1 n (length ss))

(while (< i n)

  (if (eq (vla-get-textstring (nth i ss))

 (vla-get-textstring (nth (1- i) ss)))

    (progn (vla-put-color (nth i ss) 1)

           (vla-put-color (nth (1- i) ss) 1)

      ))

    (setq i (1+ 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

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  

×