oizdoi_oi 451 Báo cáo bài đăng Đã đăng Tháng 12 31, 2008 Liệu có cách nào break được nhiều đối tượng một phát không các bạn nhỉ? 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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 12 31, 2008 Liệu có cách nào break được nhiều đối tượng một phát không các bạn nhỉ? Bạn dùng lệnh BF trong bộ ACV 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
oizdoi_oi 451 Báo cáo bài đăng Đã đăng Tháng 2 16, 2009 Bạn dùng lệnh BF trong bộ ACV cái này ko br từ điểm này đến điểm kia được à bác(chỉ thấy tách 1 line thành 2 đối tượng tại một điểm) THANK! 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
nataca 555 Báo cáo bài đăng Đã đăng Tháng 2 16, 2009 cái này ko br từ điểm này đến điểm kia được à bác(chỉ thấy tách 1 line thành 2 đối tượng tại một điểm)THANK! Tại bạn không hỏi rõ ràng đấy chứ. Nếu cẩn thận hơn thì up file hoặc hình minh hoạ lên. Nếu bạn muốn br từ điểm này đến điểm kia thì đơn giản thôi là dùng lệnh br vì dùng lisp mà vẫn click điểm nhiều thế thì không hiệu quả hơn mấy.Đấy là ý kiến của mình 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
oizdoi_oi 451 Báo cáo bài đăng Đã đăng Tháng 4 14, 2009 Tại bạn không hỏi rõ ràng đấy chứ. Nếu cẩn thận hơn thì up file hoặc hình minh hoạ lên. Nếu bạn muốn br từ điểm này đến điểm kia thì đơn giản thôi là dùng lệnh br vì dùng lisp mà vẫn click điểm nhiều thế thì không hiệu quả hơn mấy.Đấy là ý kiến của mình i' minh ko phải là hỏi br bình thường mà là br từ điểm này đến điểm kia mà nhiều đối tượng một lúc cơ giống như trim F i' mà \thank 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
Tue_NV 3915 Báo cáo bài đăng Đã đăng Tháng 4 14, 2009 i' minh ko phải là hỏi br bình thườngmà là br từ điểm này đến điểm kia mà nhiều đối tượng một lúc cơ giống như trim F i' mà \thank Tại 'oizdoi_oi' không nói rõ đấy thôi. bạn muốn mọi người giúp mình thì hãy nói rõ ràng ra, cần thiết kèm theo file .dwg minh hoạ nếu có thể. Đây là Lisp break 1 phát như bạn yêu càu. Cách hoạt động như lệnh Trim, nhưng khác với lệnh trim là Break tại 1 điểm giao đối tượng Line với tường rào, thực hiện cho nhiều đối tượng cùng 1 lúc. Lisp chỉ thực hiện với đối tượng là Line. Với các đối tượng khác thì mình chưa có cách,. Các bác trên diễn đàn có cách gì thì xin chỉ giúp để Tue_NV hoàn thiện Code. Xin chân thành cảm ơn. (Defun c:brt() (Setq L (car(entsel "\n Chon Line hang rao :"))) (while (or (= L nil) (/= (cdr(assoc 0 (entget L))) "LINE")) (Setq L (car(entsel "\n Chon lai Line hang rao :"))) ) (setq entL (entget L)) (Setq aL (cdr(assoc 10 entL)) bL (cdr(assoc 11 entL))) (Prompt "\n Chon doi tuong Line can break tai 1 diem :") (Setq ss (ssget '((0 . "LINE")))) (Setq n (sslength ss) i 0) (while (< i n) (setq sL (ssname ss i)) (setq cL (cdr(assoc 10 (entget sL)))) (setq dL (cdr(assoc 11 (entget sL)))) (setq eL (inters aL bL cL dL T)) (if (= eL nil) (setq i (1+ i))) (if (/= eL nil) (progn (Command "_Break" sL eL "@") (setq i (1+ i)) ) ) ) (SSSETFIRST SS SS) (Princ) ) Chúc thành công :cheers: 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
oizdoi_oi 451 Báo cáo bài đăng Đã đăng Tháng 4 15, 2009 cái này của bạn giống như lệnh BF trong bộ ACV tách 1 line thành 2 line tại một điểm mình muốn br từ điểm VD từ đ1 đến đ2 cho tat ca cac line ne` d1, d2 nam bat ki` tren duong line hoac pline... 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
Tue_NV 3915 Báo cáo bài đăng Đã đăng Tháng 4 15, 2009 cái này của bạn giống như lệnh BF trong bộ ACVtách 1 line thành 2 line tại một điểm mình muốn br từ điểm VD từ đ1 đến đ2 cho tat ca cac line ne` d1, d2 nam bat ki` tren duong line hoac pline... Bạn sử dụng Code sau : Lisp yêu cầu : 1. Chọn hàng rào là 1 đoạn thẳng bằng cách Pick điểm thứ nhất và điểm thứ hai 2. Chọn đối tượng cần break Sau khi chạy Lisp xong sẽ break đối tượng được chọn tại điểm giao của hàng rào với đối tượng Đối tượng được chọn là Line và Polyline thẳng (Defun c:brt() (vl-load-com) (prompt "\n Chon duong cat bang cach chon diem thu nhat va diem thu hai :") (setq aL (getpoint "\n Chon diem thu nhat :")) (setq bL (getpoint aL "\n Chon diem thu hai :")) (Prompt "\n Chon doi tuong Line can break tai 1 diem :") (Setq ss (ssget '((0 . "LINE,LWPOLYLINE")))) (Setq n (sslength ss) i 0) (while ((setq sL (ssname ss i)) (setq cL (vlax-curve-getStartPoint sL)) (setq dL (vlax-curve-getEndPoint sL)) (setq eL (inters aL bL cL dL T)) (if (= eL nil) (setq i (1+ i))) (if (/= eL nil) (progn (Command "_Break" sL eL "@") (setq i (1+ i)) ) ) ) (sssetfirst ss ss) (Princ) ) Có gì vướng mắc bạn cứ post lên đây, Tue_NV sẽ sửa 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
oizdoi_oi 451 Báo cáo bài đăng Đã đăng Tháng 4 15, 2009 ko như thế này 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
Tue_NV 3915 Báo cáo bài đăng Đã đăng Tháng 4 15, 2009 Lỗi tại bạn không nói rõ. Khi chạy Lisp hỏi sẽ chọn pick điểm 1 và điểm 2. Điểm 1 và điểm 2 tạo thành 1 cửa sổ (W). Cửa sổ (W) là một hình chữ nhật tạo bởi 2 điểm 1 và điểm 2. Đoạn thẳng nối điểm 1 và điểm 2 chính là đường chéo của hình chữ nhật (W) Chọn đối tượng là Line, Polyline thẳng. Lisp sẽ break đối tượng. Các đối tượng nằm trong vùng cửa sổ (W) bị break. còn đối tượng nằm ngoài cửa sổ được giữ nguyên Nếu điểm 1 và điểm 2 cùng nằm trên 1 đường thẳng thì Lisp sẽ Break tại 1 điểm. Bạn chạy thử xem nhé. (Defun c:brt(/ aL bL cL dL eL fL gL sL hL ss n) (vl-load-com) (prompt "\n Chon duong cat bang cach chon diem thu nhat va diem thu hai :") (setq aL (getpoint "\n Chon diem thu nhat :")) (setq bL (getcorner aL "\n Chon diem thu hai :")) (setq fL (list (car aL) (cadr bL) 0)) (setq gL (list (car bL) (cadr aL) 0)) (grdraw aL gL 1 1) (grdraw gL bL 1 1) (grdraw bL fL 1 1) (grdraw fL aL 1 1) (Prompt "\n Chon doi tuong Line can break tai 1 diem :") (Setq ss (ssget '((0 . "LINE,LWPOLYLINE")))) (Setq n (sslength ss) i 0) (while (< i n) (setq sL (ssname ss i)) (setq cL (vlax-curve-getStartPoint sL)) (setq dL (vlax-curve-getEndPoint sL)) (setq eL (inters aL fL cL dL T)) (setq hL (inters bL gL cL dL T)) (if (= eL nil) (setq i (1+ i))) (if (/= eL nil) (progn (Command "_Break" sL eL hL) (setq i (1+ i)) ) ) ) (Princ) ) Hy vọng bạn hài lòng. Chúc thành công :cheers: 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
oizdoi_oi 451 Báo cáo bài đăng Đã đăng Tháng 4 16, 2009 Lỗi tại bạn không nói rõ. Khi chạy Lisp hỏi sẽ chọn pick điểm 1 và điểm 2. Điểm 1 và điểm 2 tạo thành 1 cửa sổ (W). Cửa sổ (W) là một hình chữ nhật tạo bởi 2 điểm 1 và điểm 2. Đoạn thẳng nối điểm 1 và điểm 2 chính là đường chéo của hình chữ nhật (W) Chọn đối tượng là Line, Polyline thẳng. Lisp sẽ break đối tượng. Các đối tượng nằm trong vùng cửa sổ (W) bị break. còn đối tượng nằm ngoài cửa sổ được giữ nguyên Nếu điểm 1 và điểm 2 cùng nằm trên 1 đường thẳng thì Lisp sẽ Break tại 1 điểm. Bạn chạy thử xem nhé. (Defun c:brt(/ aL bL cL dL eL fL gL sL hL ss n) (vl-load-com) (prompt "\n Chon duong cat bang cach chon diem thu nhat va diem thu hai :") (setq aL (getpoint "\n Chon diem thu nhat :")) (setq bL (getcorner aL "\n Chon diem thu hai :")) (setq fL (list (car aL) (cadr bL) 0)) (setq gL (list (car bL) (cadr aL) 0)) (grdraw aL gL 1 1) (grdraw gL bL 1 1) (grdraw bL fL 1 1) (grdraw fL aL 1 1) (Prompt "\n Chon doi tuong Line can break tai 1 diem :") (Setq ss (ssget '((0 . "LINE,LWPOLYLINE")))) (Setq n (sslength ss) i 0) (while (< i n) (setq sL (ssname ss i)) (setq cL (vlax-curve-getStartPoint sL)) (setq dL (vlax-curve-getEndPoint sL)) (setq eL (inters aL fL cL dL T)) (setq hL (inters bL gL cL dL T)) (if (= eL nil) (setq i (1+ i))) (if (/= eL nil) (progn (Command "_Break" sL eL hL) (setq i (1+ i)) ) ) ) (Princ) ) Hy vọng bạn hài lòng. Chúc thành công :cheers: OK OK OK đúng i' rui đấy thank nhìu nhé 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
levanduy 74 Báo cáo bài đăng Đã đăng Tháng 4 16, 2009 konhư thế này cơ Nếu chỉ đơn giản như hình vẽ trên em dùng ba lệnh rec >extrim > erase là xong đỡ phải lisp làm gì cho rườm rà. Các bác góp ý vớ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
oizdoi_oi 451 Báo cáo bài đăng Đã đăng Tháng 4 17, 2009 Nếu chỉ đơn giản như hình vẽ trên em dùng ba lệnh rec >extrim > erase là xong đỡ phải lisp làm gì cho rườm rà.Các bác góp ý với. bạn còn non nắm đây là mình vẽ đối tượng độc lập và đơn giản để vd trên diễn đàn nếu như bạn thi minh dùng lệnh chim còn nhanh hơn exchim còn lệnh BR thì vứt đi để thử nghiệm thì trước khi bạn cắt bất kì đối tượng nào trong bv thì bạn hãy suy nghĩ xem nên dung lệnh nào thì nhanh hơn nhé trim, break, extrim, và bạn sẽ hỉu lúc nào thì dùng các lệnh đó OK 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
levanduy 74 Báo cáo bài đăng Đã đăng Tháng 4 17, 2009 bạn còn non nắmđây là mình vẽ đối tượng độc lập và đơn giản để vd trên diễn đàn nếu như bạn thi minh dùng lệnh chim còn nhanh hơn exchim còn lệnh BR thì vứt đi để thử nghiệm thì trước khi bạn cắt bất kì đối tượng nào trong bv thì bạn hãy suy nghĩ xem nên dung lệnh nào thì nhanh hơn nhé trim, break, extrim, và bạn sẽ hỉu lúc nào thì dùng các lệnh đó OK Vì còn non cho nên nhìn thấy lisp là em dị ứng,tìm cách nào thay thế lisp. Tuổi trẻ bồng bột ,cảm ơn bác đã nhắc nhở. 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
duongsatdn 763 Báo cáo bài đăng Đã đăng Tháng 4 17, 2009 Vì còn non cho nên nhìn thấy lisp là em dị ứng,tìm cách nào thay thế lisp.Tuổi trẻ bồng bột ,cảm ơn bác đã nhắc nhở. Ơ dưng mà "còn non" thì thấy LISP là phải máu chứ nhỉ(?) sao lại dị ứng! 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
levanduy 74 Báo cáo bài đăng Đã đăng Tháng 4 17, 2009 Ơ dưng mà "còn non" thì thấy LISP là phải máu chứ nhỉ(?) sao lại dị ứng! Dĩ nhiên dùng lisp của người khác thì máu rồi nhưng phải tự mình viết lisp thì gian truân lắm bác ah. Em đang tìm hiểu về lisp có khó khăn gì lại nhờ vả các bác trên diễn đàn. 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
bktec84 2 Báo cáo bài đăng Đã đăng Tháng 9 17, 2009 Tuệ ơi minh nho cậu sửa giúp cái lips của cậu để break nhiều đối tượng tại 1 điểm, nhưng đối tượng chọn là pline. sau khi break thì đối tượng vẫn là pline. Cảm ơn trước nhé! 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
w1nDream 73 Báo cáo bài đăng Đã đăng Tháng 9 17, 2009 Lỗi tại bạn không nói rõ. Khi chạy Lisp hỏi sẽ chọn pick điểm 1 và điểm 2. Điểm 1 và điểm 2 tạo thành 1 cửa sổ (W). Cửa sổ (W) là một hình chữ nhật tạo bởi 2 điểm 1 và điểm 2. Đoạn thẳng nối điểm 1 và điểm 2 chính là đường chéo của hình chữ nhật (W) Chọn đối tượng là Line, Polyline thẳng. Lisp sẽ break đối tượng. Các đối tượng nằm trong vùng cửa sổ (W) bị break. còn đối tượng nằm ngoài cửa sổ được giữ nguyên Nếu điểm 1 và điểm 2 cùng nằm trên 1 đường thẳng thì Lisp sẽ Break tại 1 điểm. Bạn chạy thử xem nhé. (Defun c:brt(/ aL bL cL dL eL fL gL sL hL ss n) (vl-load-com) (prompt "\n Chon duong cat bang cach chon diem thu nhat va diem thu hai :") (setq aL (getpoint "\n Chon diem thu nhat :")) (setq bL (getcorner aL "\n Chon diem thu hai :")) (setq fL (list (car aL) (cadr bL) 0)) (setq gL (list (car bL) (cadr aL) 0)) (grdraw aL gL 1 1) (grdraw gL bL 1 1) (grdraw bL fL 1 1) (grdraw fL aL 1 1) (Prompt "\n Chon doi tuong Line can break tai 1 diem :") (Setq ss (ssget '((0 . "LINE,LWPOLYLINE")))) (Setq n (sslength ss) i 0) (while (< i n) (setq sL (ssname ss i)) (setq cL (vlax-curve-getStartPoint sL)) (setq dL (vlax-curve-getEndPoint sL)) (setq eL (inters aL fL cL dL T)) (setq hL (inters bL gL cL dL T)) (if (= eL nil) (setq i (1+ i))) (if (/= eL nil) (progn (Command "_Break" sL eL hL) (setq i (1+ i)) ) ) ) (Princ) ) Hy vọng bạn hài lòng. Chúc thành công :s_big: Pác Tuệ ơi!Júp em với.Em đã down lisp này về dùng nhưng : 1.Nó chỉ break line. 2.Nó chỉ break các line nằm ngang, em thử với line thẳng đứng(or các line không nằm ngang)thì không được. Pác có thể hoàn thiện nó để break theo 1 đường path được không. 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