doandacnhat 1 Báo cáo bài đăng Đã đăng Tháng 3 31, 2023 Chào ace, E cần tư vấn hỗ trợ nội dung liên quan tới excel và cad. Hiện nay e có 1 file cad TMB (gồm mã căn text) và file excel thống kê các mã căn (nhưng đã được phân loại các nhóm, ví dụ đã bán hàng, chưa bán hàng). Nhờ ace tư vấn xem có cách nào insert hay convert từ file excel đã đc phân loại dữ liệu kia để tô màu hoặc đổi layer các mã căn trên file cad hàng loạt theo file excel được ko? 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 163 Báo cáo bài đăng Đã đăng Tháng 3 31, 2023 Liên hệ mình nhé : SDT hoặc Zalo: 0395.218.999 - Tâ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
CadExTools 110 Báo cáo bài đăng Đã đăng Tháng 3 31, 2023 ko có file Cad đính kèm nên chỉ hóng 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
anhcos 196 Báo cáo bài đăng Đã đăng Tháng 4 1, 2023 Đề này dễ mà, soft đọc excel rồi qua cad duyệt tìm, ai khớp thì tô mà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
doandacnhat 1 Báo cáo bài đăng Đã đăng Tháng 4 3, 2023 Có cách nào duyệt tìm nhanh và tự động ko anh? Chứ mà đi sort từng mã xong tô thì với 12000 mã căn thì chắc phải nguyên 1 ngày để tô mà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
mdchuyen 3 Báo cáo bài đăng Đã đăng Tháng 4 3, 2023 Do bạn không đưa bản vẽ và file excel nên mình chỉ đoán bản vẽ và file excel để làm thử, hướng tiếp cận của mình như sau: B1: Xuất các text mã căn ra .csv có kèm nội dung text và tọa độ B2: Dùng hàm Vlookup xử lý để chuyển các căn từ file excel của bạn đã có về cùng với file .csv mà cad xuất ra B3: Lọc chỉ giữ lại các căn đã bán trên file excel này (mình đang ký hiệu là DB) B4: xuất ngược lại cad (trước khi xuất xóa hết text mã căn đang có trên cad) B5: Đổi tên lớp thành lớp DB như hình mình đính kèm PS: Mình đã gửi tin nhắn để xin bản vẽ và file excel khi test không phải đoán để làm mà bạn không hồi trả lờ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 163 Báo cáo bài đăng Đã đăng Tháng 4 3, 2023 40 phút trước, mdchuyen đã nói: PS: Mình đã gửi tin nhắn để xin bản vẽ và file excel khi test không phải đoán để làm mà bạn không hồi trả lời Bạn này đã liên lạc với mình rồi. Và bạn nghĩ sao về phương thức này :)) (setq ss (ssget "ALL" (list '(0 . "TEXT") (cons 1 txt)))) (vl-cmdf "laycur" ss "") txt là tên mã căn đã bán dạng như thế này "BX-01,BX-02,BX-03........" Không cần thao tác nhiều, không cần xóa đối tượng trong bản vẽ. Trực tiếp đổi layer đối tượng. 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
mdchuyen 3 Báo cáo bài đăng Đã đăng Tháng 4 3, 2023 Mã căn đã bán ký hiệu khác với căn chưa bán ngay trên bản vẽ cad rồi ạ, Nếu thế thì dùng lệnh find của cad lọc xong đổi tên lớp là xong, mình đang hiểu là chỉ mới note trên excel giờ muốn đổi tên lớp trên cad (đổi lớp của khu đất bao quanh chứ không phải lớp của text) 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 163 Báo cáo bài đăng Đã đăng Tháng 4 3, 2023 17 phút trước, mdchuyen đã nói: Mã căn đã bán ký hiệu khác với căn chưa bán ngay trên bản vẽ cad rồi ạ, Nếu thế thì dùng lệnh find của cad lọc xong đổi tên lớp là xong, mình đang hiểu là chỉ mới note trên excel giờ muốn đổi tên lớp trên cad (đổi lớp của khu đất bao quanh chứ không phải lớp của text) Vãi chấy, bạn không hiểu mình viết gì thật à. :) Biến txt kia là đọc từ file exel. sau một hồi xử lý tính toán thì nó thành dạng "BX-01,BX-02,BX-03........" chứ không hề khác nhau gì tại bản cad cả. từ đó chọn được hết các đối tượng text là tên mã căn đã bán. bạn có danh sách đối tượng rồi thì làm gì tiếp theo đều được. Còn đề bài là đổi layer hoặc màu của mã căn đó chứ đổi đường boundary làm gì đâu. bạn đọc lại đi kìa. mục đích đánh dấu lại các căn đã bán. thuận tiện trong việc kinh doanh thôi. 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
cuongtk2 420 Báo cáo bài đăng Đã đăng Tháng 4 3, 2023 Copy căn đã bán trong excel bằng Ctrl+C, ( lấy 1 số ô trong 1 cột) Sang cad chạy lệnh Test Những text CAD trùng với lựa chọn copy ở Excel sẽ đổi layer thành "hang da ban" (defun c:test () ;; lay noi dung tu clipboard ( copy trong 1 colum) (defun GetClipText(/ html result) (setq html (vlax-create-object "htmlfile") result (vlax-invoke (vlax-get (vlax-get html 'ParentWindow) 'ClipBoardData) 'GetData "Text") ) (vlax-release-object html) result ) ;; tach string thanh list by "\r\n" (defun SplitStr ( s d / p ) (if (setq p (vl-string-search d s)) (cons (substr s 1 p) (SplitStr (substr s (+ p 1 (strlen d))) d)) (list s))) ;; doi layer thanh "hang da ban" (defun chuyenlayer (entg) (setq entg (subst (cons 8 "hang da ban") (assoc 8 entg) entg)) (entmod entg) ) (setq ls (getcliptext) ls (SplitStr ls "\r\n") ) (setq ss (ACET-SS-TO-LIST (ssget '((0 . "TEXT"))))) (foreach ent ss (foreach txt ls (progn (setq entg (entget ent) noidung (acet-dxf 1 entg)) (if (= (strcase noidung) (strcase txt)) (chuyenlayer entg) ) ) ) ) ) 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 163 Báo cáo bài đăng Đã đăng Tháng 4 4, 2023 13 giờ trước, cuongtk2 đã nói: Copy căn đã bán trong excel bằng Ctrl+C, ( lấy 1 số ô trong 1 cột) Sang cad chạy lệnh Test Những text CAD trùng với lựa chọn copy ở Excel sẽ đổi layer thành "hang da ban" (defun c:test () ;; lay noi dung tu clipboard ( copy trong 1 colum) (defun GetClipText(/ html result) (setq html (vlax-create-object "htmlfile") result (vlax-invoke (vlax-get (vlax-get html 'ParentWindow) 'ClipBoardData) 'GetData "Text") ) (vlax-release-object html) result ) ;; tach string thanh list by "\r\n" (defun SplitStr ( s d / p ) (if (setq p (vl-string-search d s)) (cons (substr s 1 p) (SplitStr (substr s (+ p 1 (strlen d))) d)) (list s))) ;; doi layer thanh "hang da ban" (defun chuyenlayer (entg) (setq entg (subst (cons 8 "hang da ban") (assoc 8 entg) entg)) (entmod entg) ) (setq ls (getcliptext) ls (SplitStr ls "\r\n") ) (setq ss (ACET-SS-TO-LIST (ssget '((0 . "TEXT"))))) (foreach ent ss (foreach txt ls (progn (setq entg (entget ent) noidung (acet-dxf 1 entg)) (if (= (strcase noidung) (strcase txt)) (chuyenlayer entg) ) ) ) ) ) Cách viết của bác gần giống vs cách viết lúc đầu của em. tuy nhiên mã căn của thớt nhiều chỗ viết tiếng việt. :) nên em phải chuyển qua phương thức khác :) tuy nhiên thớt đổi hết về ký tự không dấu thì vẫn dùng được lisp này bình thường. :) 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
anhcos 196 Báo cáo bài đăng Đã đăng Tháng 4 9, 2023 Vào lúc 3/4/2023 tại 05:07, doandacnhat đã nói: Có cách nào duyệt tìm nhanh và tự động ko anh? Chứ mà đi sort từng mã xong tô thì với 12000 mã căn thì chắc phải nguyên 1 ngày để tô màu Mình ghi là soft mà, đâu fai sort, chỉ cần click vài cái là soft sẽ làm cho mình ngay. b1. chọn file excel, nếu bên bạn dùng database thì mình cũng truy vấn được luôn. b2. mở bản vẽ hiện hành b3. tìm và lọc hoàn toàn tự động, sau đó tô hay làm gì đó theo ý muốn. không cần thao tác gì trên excel hay database cả, unicode/utf cũng không có khó khă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