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

[Yêu cầu] Lisp chọn polyline có elevation chẵn - lẻ

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

Trước tiên xin cảm ơn các bác vì đã quan tâm đến "yêu cầu" của em.

 

Chả là em có mấy bản vẽ cần xóa hết các polyline có elevation lẻ. Làm thủ công thì lâu quá nên lên đây nhờ các bác viết giùm em cái lisp chọn polyline có elevation lẻ để xóa (hoặc ẩn) chúng đi. Có lựa chọn chẵn - lẻ thì càng tốt ạ. :d

 

Xin cảm ơn lần nữa!

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ì cũng đưa bản vẽ lên để thấy "chẳn, lẻ" và test chứ!

Polyline có elevation chẵn lẻ mà cũng phải up bản vẽ hay sao bác?

Thì cứ giả sử bản vẽ của em có 10 polyline nhé. 10 thằng này có elevation từ 1.00 đến 10.00, bây giờ em cần 1 cái lisp chọn được các polyline có elevation 1, 3, 5, 7, 9 ạ.

P/S: Chắc bác nghĩ chẵn lẻ là 10.00 với 10.01?  :)

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

Polyline có elevation chẵn lẻ mà cũng phải up bản vẽ hay sao bác?

Thì cứ giả sử bản vẽ của em có 10 polyline nhé. 10 thằng này có elevation từ 1.00 đến 10.00, bây giờ em cần 1 cái lisp chọn được các polyline có elevation 1, 3, 5, 7, 9 ạ.

P/S: Chắc bác nghĩ chẵn lẻ là 10.00 với 10.01?  :)

Cái này thì dễ thôi. Vài dòng code là được. Tuy nhiên, chỉ với khái niệm chẵn/lẻ mà đã rắc rối rồi. Chẵn - theo cách hiểu thông thường là 10, 12, 14, chứ không phải 10.00, 12.00, 14.00. Còn hiểu rộng ra thì chẵn là làm tròn đến 1 con số nào đó, nên có thể 10.02 là chẵn mà 10.03 là lẻ (xét đến 2 chữ số thập phân).v.v...

Không có bản vẽ thì không test được. Đây là lý do quan trọng nhất!

  • 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

Cái này thì dễ thôi. Vài dòng code là được. Tuy nhiên, chỉ với khái niệm chẵn/lẻ mà đã rắc rối rồi. Chẵn - theo cách hiểu thông thường là 10, 12, 14, chứ không phải 10.00, 12.00, 14.00. Còn hiểu rộng ra thì chẵn là làm tròn đến 1 con số nào đó, nên có thể 10.02 là chẵn mà 10.03 là lẻ (xét đến 2 chữ số thập phân).v.v...

Không có bản vẽ thì không test được. Đây là lý do quan trọng nhất!

Gửi bác: https://www.mediafire.com/?n74iv5pylqolhsz

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

Đây bạn!


; Xoa cac Lwpolyline co cao do chan (VD: 2.0 4.0) hoac le (VD: 1.0 3.0).
(defun C:HA( / cl ss hei ent)
 (initget "C L")
 (setq cl (getkword "\nXoa cac Pline co cao do [Chan/Le] <L>: "))
 (princ "\nChon cac Pline...")
 (if (setq ss (ssget '((0 . "Lwpolyline"))))
  (repeat (setq i (sslength ss))
   (setq hei (cdr (assoc 38 (entget (setq ent (ssname ss (setq i (1- i))))))))
   (cond
    ((and (= cl "C") (= (fix (/ hei 2)) (/ hei 2))) (entdel ent))
    ((and (or (not cl) (= cl "L")) (/= (fix (/ hei 2)) (/ hei 2))) (entdel ent))))))
 

  • 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

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  

×