quangthanhdu 6 Báo cáo bài đăng Đã đăng Tháng 11 24, 2010 Em muốn làm cho các đoạn thẳng dài ra hoặc ngắn lại (như trong bản vẽ, từ hình 1 có thể tạo thành hình 2 hoặc hình 3), có cách nào làm nhanh được việc này không? Chân thành cảm ơn!!! http://up.4share.vn/f/5766646366666763/chieu dai coc.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
w1nDream 73 Báo cáo bài đăng Đã đăng Tháng 11 24, 2010 Em muốn làm cho các đoạn thẳng dài ra hoặc ngắn lại (như trong bản vẽ, từ hình 1 có thể tạo thành hình 2 hoặc hình 3), có cách nào làm nhanh được việc này không?Chân thành cảm ơn!!! http://up.4share.vn/f/5766646366666763/chieu dai coc.dwg Bạn hãy dùng lệnh Len = Lengthen với tham số f. :leluoi: 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
quangthanhdu 6 Báo cáo bài đăng Đã đăng Tháng 11 24, 2010 Có cái lisp nào làm nhanh việc này không hả máy anh? chứ dùng tham số f chọn thì trong trường hợp đoạn cong thì không khả thi. 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 3916 Báo cáo bài đăng Đã đăng Tháng 11 24, 2010 Có cái lisp nào làm nhanh việc này không hả máy anh? chứ dùng tham số f chọn thì trong trường hợp đoạn cong thì không khả thi. Bạn sử dụng cái này thử nhé : (defun c:Clen(/ ss pl cdai ent pcl pch) (vl-load-com) (if (setq ss (ssget '((0 . "LINE") (8 . "2")))) (progn (setq i -1 pl (car(entsel "\n Pick vao tim duong PLINE :")) cdai (getreal "\n Khoang cach can thay doi :") ) (while (setq ent (ssname ss (setq i (1+ i)))) (setq pcl (vlax-curve-getClosestPointTo pl (vlax-curve-getstartpoint ent))) (if ( (distance (vlax-curve-getendpoint ent) pcl) ) (setq pch (vlax-curve-getstartpoint ent)) (setq pch (vlax-curve-getendpoint ent)) ) (vl-cmdf "LENGTHEN" "de" cdai pch "") ) )) (princ) ) 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
conmuaha 19 Báo cáo bài đăng Đã đăng Tháng 11 24, 2010 Bạn sử dụng cái này thử nhé : (defun c:Clen(/ ss pl cdai ent pcl pch) (vl-load-com) (if (setq ss (ssget '((0 . "LINE") (8 . "2")))) (progn (setq i -1 pl (car(entsel "\n Pick vao tim duong PLINE :")) cdai (getreal "\n Khoang cach can thay doi :") ) (while (setq ent (ssname ss (setq i (1+ i)))) (setq pcl (vlax-curve-getClosestPointTo pl (vlax-curve-getstartpoint ent))) (if (< (distance (vlax-curve-getstartpoint ent) pcl) (distance (vlax-curve-getendpoint ent) pcl) ) (setq pch (vlax-curve-getstartpoint ent)) (setq pch (vlax-curve-getendpoint ent)) ) (vl-cmdf "LENGTHEN" "de" cdai pch "") ) )) (princ) ) Hay Quá. Nhưng có một điều mà tớ vẩn không rõ...là vì sao khi mình áp dụng lệnh Clen đó cho các đối tượng khác thì không được, trog khi nếu dùng lệnh Matchprop để sao chép thuộc tính của đối tượng màu vàng trong bản vẽ sang cho đối tuợng mới thì lại thực hiện đuợc?! Có phải trong đoạn Lisp chỉ định nghĩa cho một Layer nhất định?? Có cách nào khác để ứng dụng nó cho mọi đối tuợng không..Tue_NV? Cám ơn nhiề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
Tue_NV 3916 Báo cáo bài đăng Đã đăng Tháng 11 24, 2010 Hay Quá. Nhưng có một điều mà tớ vẩn không rõ...là vì sao khi mình áp dụng lệnh Clen đó cho các đối tượng khác thì không được, trog khi nếu dùng lệnh Matchprop để sao chép thuộc tính của đối tượng màu vàng trong bản vẽ sang cho đối tuợng mới thì lại thực hiện đuợc?! Có phải trong đoạn Lisp chỉ định nghĩa cho một Layer nhất định?? Có cách nào khác để ứng dụng nó cho mọi đối tuợng không..Tue_NV? Cám ơn nhiều nhé! Ừ, đúng rồi Để áp dụng cho các đối tượng LINE, bạn thay dòng : (if (setq ss (ssget '((0 . "LINE") (8 . "2")))) (progn (setq i -1 ....... thành dòng : (if (setq ss (ssget '((0 . "LINE") ))) (progn (setq i -1 ...... 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
conmuaha 19 Báo cáo bài đăng Đã đăng Tháng 11 24, 2010 Ừ, đúng rồiĐể áp dụng cho các đối tượng LINE, bạn thay dòng : (if (setq ss (ssget '((0 . "LINE") (8 . "2")))) (progn (setq i -1 ....... thành dòng : (if (setq ss (ssget '((0 . "LINE") ))) (progn (setq i -1 ...... Cám ơn nhiề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
quangthanhdu 6 Báo cáo bài đăng Đã đăng Tháng 11 25, 2010 Cảm ơn Các Anh Nhiều !!! 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 11 25, 2010 Ừ, đúng rồiĐể áp dụng cho các đối tượng LINE, bạn thay dòng : (if (setq ss (ssget '((0 . "LINE") (8 . "2")))) (progn (setq i -1 ....... thành dòng : (if (setq ss (ssget '((0 . "LINE") ))) (progn (setq i -1 ...... Lisp hay Pác à. Tuy nhiên em thấy có mấy điều mong muốn thế này: 1.Lúc chọn tim đường Pline thì fải là Snap bắt điểm chứ không fải dạng select 2.Pác cho thêm mấy sự lựa chọn giống lựa chọn gốc của lệnh Lengthen 3.Khi đã chọn tim Pline rồi thì nên có lựa chọn thêm hoặc bớt chiều dài theo hướng nào. :leluoi: 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