sang98dhxd@gmail.com 1 Báo cáo bài đăng Đã đăng Tháng 5 15 Em chào các anh chị trong nhóm ạ, chuyện là em đang có lớp nhà là polyline kín từ 4 đỉnh trở lên em muốn vẽ đồng loạt đường chéo từ trái sang phải và là từ trên xuống dưới thì có cách nào nhanh chóng không, em mong các anh chị trong nhóm bớt chút thời gian chỉ giúp em với ạ. EM xin chân thành cảm ơn ạ SANG.dwg KQ.pdf 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
cuongtk2 356 Báo cáo bài đăng Đã đăng Tháng 5 15 Bạn dùng vla-getboundingbox để lấy X min, max . Lọc points của pline theo 2 giá trị đó để vẽ. 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
tannguyen291 149 Báo cáo bài đăng Đã đăng Tháng 5 15 @MaiLinh2006 có bài tập đơn giản cho học sinh mới làm nè. :)) 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
sang98dhxd@gmail.com 1 Báo cáo bài đăng Đã đăng Tháng 5 15 bài toán này có thể giải quyết bằng Lisp không anh Cường ơ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
sang98dhxd@gmail.com 1 Báo cáo bài đăng Đã đăng Tháng 5 15 thanks b bớt chút thời gian đọc bài của mình ạ 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
tannguyen291 149 Báo cáo bài đăng Đã đăng Tháng 5 15 Thôi đành giải quyết vấn đề cho khổ chủ :)) lệnh vẽ đường chéo VDC (defun c:VDC (/ ss i lstpt) (setq ss (ssget '((0 . "*POLYLINE") (-4 . "<OR") (70 . 1) (70 . 129) (-4 . "OR>") (-4 . ">") (90 . 3)))) (repeat (setq i (sslength ss)) (setq i (1- i) lstpt (mapcar '(lambda (x) (if (eq 10 (car x)) (cdr x) )) (entget (ssname ss i))) lstpt (vl-sort (vl-remove nil lstpt) '(lambda (a b) (> (cadr a) (cadr b)))) ) (if (< (cos (angle (car lstpt) (last lstpt))) 0) (setq lstpt (vl-sort lstpt '(lambda (a b) (< (car a) (car b))))) ) (entmake (list '(0 . "LINE") (list 10 (caar lstpt) (cadar lstpt) 0) (list 11 (car (last lstpt)) (cadr (last lstpt)) 0))) ) (princ) ) đã sửa điều kiệ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
cuongtk2 356 Báo cáo bài đăng Đã đăng Tháng 5 15 Giải ngắn, nhưng sai. Điểm bên trái + cao nhất nối điểm bên phải + thấp nhất. Kiểu gì cũng phải lọc từ Xmin, Xmax. 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
tannguyen291 149 Báo cáo bài đăng Đã đăng Tháng 5 15 18 phút trước, cuongtk2 đã nói: Giải ngắn, nhưng sai. Điểm bên trái + cao nhất nối điểm bên phải + thấp nhất. Kiểu gì cũng phải lọc từ Xmin, Xmax. à em đánh giá cái trái phải trước. nếu đánh giá trên xuống thì ngược lại là được mà bá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
sang98dhxd@gmail.com 1 Báo cáo bài đăng Đã đăng Tháng 5 15 29 phút trước, tannguyen291 đã nói: Thôi đành giải quyết vấn đề cho khổ chủ :)) lệnh vẽ đường chéo VDC (defun c:VDC (/ ss i lstpt) (setq ss (ssget '((0 . "*POLYLINE") (-4 . "<OR") (70 . 1) (70 . 129) (-4 . "OR>") (-4 . ">") (90 . 3)))) (repeat (setq i (sslength ss)) (setq i (1- i) lstpt (mapcar '(lambda (x) (if (eq 10 (car x)) (cdr x) )) (entget (ssname ss i))) lstpt (vl-sort (vl-remove nil lstpt) '(lambda (a b) (< (car a) (car b)))) ) (if (> (sin (angle (car lstpt) (last lstpt))) 0) (setq lstpt (vl-sort lstpt '(lambda (a b) (> (cadr a) (cadr b))))) ) (entmake (list '(0 . "LINE") (cons 10 (car lstpt)) (Cons 11 (last lstpt)))) ) (princ) ) lisp không chạ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
sang98dhxd@gmail.com 1 Báo cáo bài đăng Đã đăng Tháng 5 15 26 phút trước, cuongtk2 đã nói: Giải ngắn, nhưng sai. Điểm bên trái + cao nhất nối điểm bên phải + thấp nhất. Kiểu gì cũng phải lọc từ Xmin, Xmax. Anh Cường ơi chỉ cần có đường chéo bất kì cũng được ạ, miễn là quét được hết các nhà dạng polyline đó và thêm đường chéo thô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
tannguyen291 149 Báo cáo bài đăng Đã đăng Tháng 5 15 11 phút trước, sang98dhxd@gmail.com đã nói: lisp không chạy được ạ máy mình chạy bình thường. máy bạn k chạy thì chắc là ... do bạn thô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
cuongtk2 356 Báo cáo bài đăng Đã đăng Tháng 5 15 @tannguyen291Máy không chạy có thể là do : 1. Thiếu hàm. 2. Biến toàn cục đổi sang biến cục bộ, nên máy chú nó OK vì biến đó đang trong bộ nhớ. Nhưng sang máy người khác thì nó chưa có giá trị đó. Chú chỉ cần đóng Cad mở lại mà vẫn chạy được là đú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
tannguyen291 149 Báo cáo bài đăng Đã đăng Tháng 5 15 1 phút trước, cuongtk2 đã nói: @tannguyen291Máy không chạy có thể là do : 1. Thiếu hàm. 2. Biến toàn cục đổi sang biến cục bộ, nên máy chú nó OK vì biến đó đang trong bộ nhớ. Nhưng sang máy người khác thì nó chưa có giá trị đó. Chú chỉ cần đóng Cad mở lại mà vẫn chạy được là đúng, 2. thì không thể nào. 1. thì ... cái này do cad chứ lisp của em thuần tuý lisp. còn chưa dùng đến vla , vlax, expresstool, hàm phụ trợ. Lisp này máy mac còn chạy chứ nói gì Cad LT 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
cuongtk2 356 Báo cáo bài đăng Đã đăng Tháng 5 15 Thử test, đã chạy thành cô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
Doan Van Ha 3.202 Báo cáo bài đăng Đã đăng Tháng 5 15 1. Có thể do thiếu (vl-load-com) chăng? 2. @tannguyen291 đã set 3 biến (all: ss i lstpt) là cục bộ rồi thì chấp lisp khác phá hoại @cuongtk2. 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
sang98dhxd@gmail.com 1 Báo cáo bài đăng Đã đăng Tháng 5 15 dạ. em copy về để file định dạng .lsp, sau đó vào cad gõ AP load lisp lên dùng. Thao tác như vậy đúng chư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
cuongtk2 356 Báo cáo bài đăng Đã đăng Tháng 5 15 Muốn dùng luôn thì copy dán trực tiếp vào command line là đượ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
tannguyen291 149 Báo cáo bài đăng Đã đăng Tháng 5 15 @cuongtk2 @Doan Van Ha có khi nào thi thoảng cad bị sao đó không cho entmake line (10 x y) mà phải (10 x y z) không các bá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
Doan Van Ha 3.202 Báo cáo bài đăng Đã đăng Tháng 5 15 7 phút trước, tannguyen291 đã nói: @cuongtk2 @Doan Van Ha có khi nào thi thoảng cad bị sao đó không cho entmake line (10 x y) mà phải (10 x y z) không các bác nhỉ. Viết (10 x y) rất nhiều rồi nhưng chưa bao giờ bị err, vì khi viết thiếu Z thì nó mặc định Z=0 rồ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
cuongtk2 356 Báo cáo bài đăng Đã đăng Tháng 5 15 Tốt nhất là đừng làm chuyện đó Line dùng Point3d, pline dùng Point2d 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
tannguyen291 149 Báo cáo bài đăng Đã đăng Tháng 5 15 3 phút trước, Doan Van Ha đã nói: Viết (10 x y) rất nhiều rồi nhưng chưa bao giờ bị err, vì khi viết thiếu Z thì nó mặc định Z=0 rồi. em cũng chưa bị err phát nào. ông thớt lỗi thì không chụp màn hình ngồi im ỉ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
amateurday 16 Báo cáo bài đăng Đã đăng Tháng 5 15 Thỉnh thoảng em copy về sẽ có lisp bị lỗi ký tự. Cái này hên xui, không biết do máy hay do web 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
sang98dhxd@gmail.com 1 Báo cáo bài đăng Đã đăng Tháng 5 15 ạ 1 giờ} trướ}c, cuongtk2 đã nói: Muốn dùng luôn thì copy dán trực tiếp vào command line là được. cảm ơn anh Cường, em copy trực tiếp được rồ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
sang98dhxd@gmail.com 1 Báo cáo bài đăng Đã đăng Tháng 5 15 Các anh ơi, có cách nào phân loại lớp polyline kín theo nội dung text được không ạ. Ví dụ em vẽ nhiều hình chữ nhật, và mỗi hình bên trong có chứa 1 nội dung đánh dấu như t (nhà tạm) , b (nhà bằng) Bây giờ em muốn lấy những hình chữ nhật hoặc polyline kín nhiều đỉnh có chứ nội dung là t thì có đượ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
sang98dhxd@gmail.com 1 Báo cáo bài đăng Đã đăng Tháng 5 15 2 giờ trước, tannguyen291 đã nói: máy mình chạy bình thường. máy bạn k chạy thì chắc là ... do bạn thôi :)) em cảm ơn bác, em load trực tiếp trên dòng comand được rồ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