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

Sắp xếp polyline theo tổng chiều dài giảm dần

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

Chào ace,

Em có 1 vấn đề nhờ ace giúp với. Trên file cad e có nhiều các hình polyline khép kín. Nhờ ace giúp sắp xếp lại tập hợp Entity names theo thứ tự tổng chiều dài giảm dần.

Dưới đây là đoạn trích code.E muốn list ssl sau khi sort có thứ tự giảm dần chiều dài. Cảm ơn ace nhiều.
 

(defun c:Sort (/ ssl txt p1 p2 pt x y z x1 x2 y1 y2 z1 z2 bk )
(vl-load-com)
(setq ssl (acet-ss-to-list (ssget '((-4 . "<OR") (0 . "LWPOLYLINE") (-4 . "OR>")))))


)

 

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
26 phút trước, tuhai610 đã nói:

Chào ace,

Em có 1 vấn đề nhờ ace giúp với. Trên file cad e có nhiều các hình polyline khép kín. Nhờ ace giúp sắp xếp lại tập hợp Entity names theo thứ tự tổng chiều dài giảm dần.

Dưới đây là đoạn trích code.E muốn list ssl sau khi sort có thứ tự giảm dần chiều dài. Cảm ơn ace nhiều.


(defun c:Sort (/ ssl txt p1 p2 pt x y z x1 x2 y1 y2 z1 z2 bk )
(vl-load-com)
(setq ssl (acet-ss-to-list (ssget '((-4 . "<OR") (0 . "LWPOLYLINE") (-4 . "OR>")))))


)

Thêm hàm này vào cuối:

(setq ssl (vl-sort ssl '(lambda(e1 e2) (>= (vlax-curve-getDistAtParam e1 (vlax-curve-getEndParam e1)) (vlax-curve-getDistAtParam e2 (vlax-curve-getEndParam e2))))))

  • 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
15 phút trước, Doan Van Ha đã nói:

Thêm hàm này vào cuối:

(setq ssl (vl-sort ssl '(lambda(e1 e2) (>= (vlax-curve-getDistAtParam e1 (vlax-curve-getEndParam e1)) (vlax-curve-getDistAtParam e2 (vlax-curve-getEndParam e2))))))

Great! Cảm ơn Bác @Doan Van Ha .

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  

×