lethanh2004 2 Báo cáo bài đăng Đã đăng Tháng 6 7, 2019 Bản vẽ đây ạ . các bác giúp em vs test1.dwg 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
conghoa 141 Báo cáo bài đăng Đã đăng Tháng 6 7, 2019 9 phút trước, lethanh2004 đã nói: Bản vẽ đây ạ . các bác giúp em vs test1.dwg Bạn cứ làm lần lượt từng đường 1, lưu ý khi vẽ thêm đường mới giao với đường cũ thì nên vẽ thành 1 polyline kính đến ko phải bo 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
lethanh2004 2 Báo cáo bài đăng Đã đăng Tháng 6 7, 2019 4 phút trước, conghoa đã nói: Bạn cứ làm lần lượt từng đường 1, lưu ý khi vẽ thêm đường mới giao với đường cũ thì nên vẽ thành 1 polyline kính đến ko phải bo nữa. Vâng cảm ơn bác Conghoa chia sẻ . ý của bác em làm được với bản vẽ vài chục ha . nhưng với bản vài ngàn ha thì cần nghiên cứu thêm ạ 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 3918 Báo cáo bài đăng Đã đăng Tháng 6 7, 2019 Đường đỏ dưới hình cần cắt. Thì làm sao hiểu ý của USER là cắt trong vùng 1, hay 2, hay 3, hay 4?? Nên nhớ rằng đường cắt của bạn chạy không có quy luật nào cả? Thì làm sao nhận biết được?? => Nếu bạn không đưa ra được "Luật chơi" thì bài toán sẽ không có lời giải . Việc chọn nhiều đường PLINE cùng lần để công vciệc nhanh hơn sẽ bất khả thi -> phá sả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
lethanh2004 2 Báo cáo bài đăng Đã đăng Tháng 6 7, 2019 1 giờ} trướ}c, Tue_NV đã nói: Đường đỏ dưới hình cần cắt. Thì làm sao hiểu ý của USER là cắt trong vùng 1, hay 2, hay 3, hay 4?? Nên nhớ rằng đường cắt của bạn chạy không có quy luật nào cả? Thì làm sao nhận biết được?? => Nếu bạn không đưa ra được "Luật chơi" thì bài toán sẽ không có lời giải . Việc chọn nhiều đường PLINE cùng lần để công vciệc nhanh hơn sẽ bất khả thi -> phá sản Vâng bác tuệ . đối với em em nghĩ lisp của bác quá tuyệt vs em rồi . em chỉ nhờ bác chỉnh sửa thế nào để xóa được đối tượng là đường đồng mức đó thôi . em nghĩ bác thêm cho em đối tượng bị cắt có thể là l, pl , spl , arc ....em cảm ơ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
thanhduan2407 280 Báo cáo bài đăng Đã đăng Tháng 6 8, 2019 22 giờ trước, conghoa đã nói: Nó thuộc phạm trù về kỹ năng vẽ của bạn, cái này không cần lisp cũng làm nhanh được. Chỉ cần hiện riêng layer 0, Bo lại phần đường, dùng lệnh extrim là được. Theo kinh nghiệm của mình thì đường mòn trên núi không nên cắt TRIM như vậy, vừa xấu lại khó cho bên thiết kế tính toán. Thay vì điều đó, hãy Wipeout nó lại. Chỉ là che phủ phần đường, vừa nhẹ nhàng lại đẹp. Có phải bạn bổ sung con đường dựa trên bình đồ 1/10000 và 1/25000 không? Thuốc cho bạn đây! Lệnh WPL áp dụng cho Polyline Lệnh WPT áp dụng cho Text Link: https://www.mediafire.com/file/cp882xr222mg8mv/Wipeout_Polyline_(WPL)_and_Text_(WPT).VLX/file 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
lethanh2004 2 Báo cáo bài đăng Đã đăng Tháng 6 9, 2019 Vào lúc 8/6/2019 tại 08:04, thanhduan2407 đã nói: Nó sử dụng thế nào vậy anh Duân Theo kinh nghiệm của mình thì đường mòn trên núi không nên cắt TRIM như vậy, vừa xấu lại khó cho bên thiết kế tính toán. Thay vì điều đó, hãy Wipeout nó lại. Chỉ là che phủ phần đường, vừa nhẹ nhàng lại đẹp. Có phải bạn bổ sung con đường dựa trên bình đồ 1/10000 và 1/25000 không? Thuốc cho bạn đây! Lệnh WPL áp dụng cho Polyline Lệnh WPT áp dụng cho Text Link: https://www.mediafire.com/file/cp882xr222mg8mv/Wipeout_Polyline_(WPL)_and_Text_(WPT).VLX/file 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
lethanh2004 2 Báo cáo bài đăng Đã đăng Tháng 6 9, 2019 30 phút trước, lethanh2004 đã nói: Thế này chắc vẫn phải bo từng đoạn như ý bác Conghoa phải không Bác Duâ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
thanhduan2407 280 Báo cáo bài đăng Đã đăng Tháng 6 11, 2019 Bạn dùng lisp này đóng 2 đầu đoạn đường cho nhanh (defun C:00 (/ ELAST LTS1 LTS2 OBJ1 OBJ2 OLMODE PNTC1 PNTC2 PNTD1 PNTD2) (defun *error* (msg) (if Olmode (setvar 'osmode Olmode) ) (if (not (member msg '("*BREAK,*CANCEL*,*EXIT*"))) (princ (strcat "\nError: " msg)) ) (princ) ) (setq Olmode (getvar "OSMODE")) (setvar "OSMODE" 0) (setq Obj1 (car (LM:SelectIf "\nCh\U+1ECDn \U+0111\U+01B0\U+1EDDng th\U+1EE9 nh\U+1EA5t: " (lambda (x) (member (cdr (assoc 0 (entget (car x)))) (list "LINE" "POLYLINE" "LWPOLYLINE" "ARC" "ELLIPSE" "SPLINE") ) ) entsel nil ) ) ) (setq Obj2 (car (LM:SelectIf "\nCh\U+1ECDn \U+0111\U+01B0\U+1EDDng th\U+1EE9 hai: " (lambda (x) (member (cdr (assoc 0 (entget (car x)))) (list "LINE" "POLYLINE" "LWPOLYLINE" "ARC" "ELLIPSE" "SPLINE") ) ) entsel nil ) ) ) (setq kch (LM:GetXWithDefault getdist "\nNh\U+1EADp kho\U+1EA3ng c\U+00E1ch l\U+1EDBn h\U+01A1n s\U+1EBD kh\U+00F4ng n\U+1ED1i" '*kch* 5.0 ) ) (setq Elast (entlast)) (if (and Obj1 Obj2 (/= Obj1 Obj2)) (progn (setq PntD1 (vlax-curve-getStartPoint Obj1)) (setq PntC1 (vlax-curve-getEndPoint Obj1)) (setq PntD2 (vlax-curve-getStartPoint Obj2)) (setq PntC2 (vlax-curve-getEndPoint Obj2)) (if (< (distance PntD1 PntD2) (distance PntD1 PntC2)) (progn (if (< (distance PntD1 PntD2) kch) (MakeLWPolyline (list PntD1 PntD2) nil nil nil nil nil nil) ) (if (< (distance PntC1 PntC2) kch) (MakeLWPolyline (list PntD1 PntD2) nil nil nil nil nil nil) ) ) (progn (if (< (distance PntD1 PntC2) kch) (MakeLWPolyline (list PntD1 PntC2) nil nil nil nil nil nil) ) (if (< (distance PntC1 PntD2) kch) (MakeLWPolyline (list PntC1 PntD2) nil nil nil nil nil nil) ) ) ) ) ) (setq Lts1 (GetNewEnts Elast)) (setq Lts2 (append Lts1 (list Obj1 Obj2))) (if (member "LINE" (list (cdr (assoc 0 (entget Obj1))) (cdr (assoc 0 (entget Obj2)))) ) (command "_.pedit" "_m" (CV:List-to-ss Lts2) "" "Y" "_j" "" "") (command "_.pedit" "_m" (CV:List-to-ss Lts2) "" "_j" "" "") ) (setvar "OSMODE" Olmode) (princ) ) (defun GetNewEnts (ename / new) (while (setq ename (entnext ename)) (if (entget ename) (setq new (cons ename new)) ) ) new ) (defun MakeLWPolyline (listpoint closed Linetype LTScale Layer Color xdata / Lst) (setq Lst (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 8 (if Layer Layer (getvar "Clayer") ) ) (cons 6 (if Linetype Linetype "bylayer" ) ) (cons 48 (if LTScale LTScale 1 ) ) (cons 62 (if Color Color 256 ) ) (cons 100 "AcDbPolyline") (cons 90 (length listpoint)) (cons 70 (if closed 1 0 ) ) ) ) (foreach PP listpoint (setq Lst (append Lst (list (cons 10 PP))))) (if xdata (setq Lst (append lst (list (cons -3 (list xdata))))) ) (entmakex Lst) ) (defun CV:List-to-ss (lst / ss) (setq ss (ssadd)) (foreach item lst (or (= (type item) 'Ename) (setq item (vlax-vla-object->ename item)) ) (setq ss (ssadd item ss)) ) ss ) (defun LM:SelectIf (msg pred func keyw / sel) (setq pred (eval pred)) (while (progn (setvar 'ERRNO 0) (if keyw (apply 'initget keyw) ) (setq sel (func msg)) (cond ((= 7 (getvar 'ERRNO)) (princ "\nB\U+1EA1n ch\U+1ECDn sai r\U+1ED3i! H\U+00E3y ch\U+1ECDn l\U+1EA1i." ) ) ((eq 'STR (type sel)) nil ) ((vl-consp sel) (if (and pred (not (pred sel))) (princ "") ) ) ) ) ) sel ) (defun LM:GetXWithDefault (_function _prompt _symbol _default / _toString) ;; © Lee Mac 2010 (setq _toString (lambda (x) (cond ((eq getangle _function) (angtos x)) ((eq 'REAL (type x)) (rtos x)) ((eq 'INT (type x)) (itoa x)) (x) ) ) ) (set _symbol ( (lambda (input) (if (or (not input) (eq "" input)) (eval _symbol) input ) ) (_function (strcat _prompt "<" (_toString (set _symbol (cond ((eval _symbol)) (_default) ) ) ) "> : " ) ) ) ) ) ;|«Visual LISP© Format Options» (200 2 60 2 nil "end of " 80 9 0 0 0 T T T T) ;*** DO NOT add text below the comment! ***|; 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