Lệnh SWC
Chọn Polyline kín.
Lisp tự động chọn các đối tượng nằm HOÀN TOÀN bên trong Polyline được chọn.
Lisp tự động chọn các đối tượng nằm HOÀN TOÀN bên trong Polyline được chọn.
1 Thêm class SWC_.lsp
Lưu mã sau dưới dạng tệp tin SWC_.lsp
Code:
(defun c:SWC (/ _pac add ss i temp i2) ;; Select Within Curve ;; Alan J. Thompson, 03.31.11 (vl-load-com) (defun _pac (e / l v d lst) (setq d (- (setq v (/ (setq l (vlax-curve-getDistAtParam e (vlax-curve-getEndParam e))) 100.)))) (while (< (setq d (+ d v)) l) (setq lst (cons (vlax-curve-getPointAtDist e d) lst)) ) ) (princ "\nSelect closed curves to select object(s) within: ") (if (setq add (ssadd) ss (ssget '((-4 . "<OR") (0 . "CIRCLE,ELLIPSE") (-4 . "<AND") (0 . "*POLYLINE") (-4 . "&=") (70 . 1) (-4 . "AND>") (-4 . "OR>") ) ) ) (progn (repeat (setq i (sslength ss)) (if (setq temp (ssget "_WP" (_pac (ssname ss (setq i (1- i)))))) (repeat (setq i2 (sslength temp)) (ssadd (ssname temp (setq i2 (1- i2))) add)) ) ) (sssetfirst nil add) (ssget "_I") ) ) (princ "\nBy alanjt") (princ "\nFrom https://www.cadtutor.net/forum/topic/29523-how-to-select-all-objects-enclosed-in-a-poly-line/") (princ "\nReshare on https://www.lisp.vn/2025/06/lisp-mien-phi-chon-doi-tuong-trong-vung.html") (princ) )
Nguồn: Tác giả alanjt
2 Thêm class SCC_.lsp
Lưu mã sau dưới dạng tệp tin SCC_.lsp
Code:
(defun c:SWC (/ _pac add ss i temp i2) ;; Select Within Curve ;; Alan J. Thompson, 03.31.11 (vl-load-com) (defun _pac (e / l v d lst) (setq d (- (setq v (/ (setq l (vlax-curve-getDistAtParam e (vlax-curve-getEndParam e))) 100.)))) (while (< (setq d (+ d v)) l) (setq lst (cons (vlax-curve-getPointAtDist e d) lst)) ) ) (princ "\nSelect closed curves to select object(s) within: ") (if (setq add (ssadd) ss (ssget '((-4 . "<OR") (0 . "CIRCLE,ELLIPSE") (-4 . "<AND") (0 . "*POLYLINE") (-4 . "&=") (70 . 1) (-4 . "AND>") (-4 . "OR>") ) ) ) (progn (repeat (setq i (sslength ss)) (if (setq temp (ssget "_CP" (_pac (ssname ss (setq i (1- i)))))) (repeat (setq i2 (sslength temp)) (ssadd (ssname temp (setq i2 (1- i2))) add)) ) ) (sssetfirst nil add) (ssget "_I") ) ) (princ "\nBy alanjt") (princ "\nFrom https://www.cadtutor.net/forum/topic/29523-how-to-select-all-objects-enclosed-in-a-poly-line/") (princ "\nReshare on https://www.lisp.vn/2025/06/lisp-mien-phi-chon-doi-tuong-trong-vung.html") (princ) )
Link tải (MediaFire)
---------------------------------------------------------------------------------------------
Mọi thông tin xin liên hệ Fanpage AutoLISP Thật là đơn giản!
Cảm ơn bạn đã theo dõi!
Không có nhận xét nào:
Đăng nhận xét