Nguyên Khải 0 Báo cáo bài đăng Đã đăng Tháng 12 30, 2019 (Đă chỉnh sửa) Các bác có thể giúp em tạo cái lisp có chức năng giống như "tcount" - thay thế và đánh số thứ tự cho mtext trong multi leader không. Vì bản vẽ có 500-1000 mtext, mà đánh thủ công thì vừa lâu vừa dễ bị nhầm lẫn và trùng lặp. example.dwg Chỉnh sửa Tháng 12 31, 2019 theo Nguyên Khải Bổ sung file minh họ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
Doan Nguyen Van 493 Báo cáo bài đăng Đã đăng Tháng 12 31, 2019 16 giờ trước, Nguyên Khải đã nói: Các bác có thể giúp em tạo cái lisp có chức năng giống như "tcount" - thay thế và đánh số thứ tự cho mtext trong multi leader không. Vì bản vẽ có 500-1000 mtext, mà đánh thủ công thì vừa lâu vừa dễ bị nhầm lẫn và trùng lặp. Bạn gửi bản vẽ vài ví dụ xem có giúp đượ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
Nguyên Khải 0 Báo cáo bài đăng Đã đăng Tháng 12 31, 2019 Bạn xem file minh họa mình vừa đính kèm ở trê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
Doan Nguyen Van 493 Báo cáo bài đăng Đã đăng Tháng 12 31, 2019 4 giờ trước, Nguyên Khải đã nói: Bạn xem file minh họa mình vừa đính kèm ở trên nhé. Cái này viết được thôi nhưng mình không rõ chữ "k" ở bản vẽ này có thay bằng chữ khác ở bản vẽ khá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
Nguyên Khải 0 Báo cáo bài đăng Đã đăng Tháng 1 1, 2020 14 giờ trước, Doan Nguyen Van đã nói: Cái này viết được thôi nhưng mình không rõ chữ "k" ở bản vẽ này có thay bằng chữ khác ở bản vẽ khác không "k" là trường hợp cụ thể ở bản vẽ của mình, để hay hơn bạn viết code cho trường hợp tổng quát cho kí tự bất kì nhập từ bàn phím mà người dùng muốn thay thế (không phân biệt chữ hoa hay thườ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 Nguyen Van 493 Báo cáo bài đăng Đã đăng Tháng 1 2, 2020 Vào lúc 1/1/2020 tại 07:22, Nguyên Khải đã nói: "k" là trường hợp cụ thể ở bản vẽ của mình, để hay hơn bạn viết code cho trường hợp tổng quát cho kí tự bất kì nhập từ bàn phím mà người dùng muốn thay thế (không phân biệt chữ hoa hay thường) (Defun c:te (/ x xt xh ss key ent num k n) (while (or (not x) (= x "")) (setq x (getstring (strcat "\nNhap ky tu the hien so:")))) (setq xt (strcase x T) xh (strcase x nil)) (setq ss (acet-ss-to-list (ssget (list (cons 0 "MULTILEADER") (cons 304 (strcat "*" xt "*,*" xh "*")) )))) (setq key (keyword (list "Select-Order" "Left-right" "Top-bottom") "Select-Order" "Kieu sap xep?")) (if (= key "Left-right")(setq ss (vl-sort ss '(lambda (x y) (< (cadr (assoc 10 (entget x))) (cadr (assoc 10 (entget y)))))))) (if (= key "Top-bottom")(setq ss (vl-sort ss '(lambda (x y) (> (caddr (assoc 10 (entget x))) (caddr (assoc 10 (entget y)))))))) (setq n (getint "\nNhap so bat dau:")) (setq k (getint "\nNhap so ky tu muon hien thi:")) (if (and ss n k) (progn (foreach ent ss (setq num (itoa n)) (if (< (strlen num) k) (setq num (repeat (- k (strlen num)) (setq num (strcat "0" num)))) ) (if (vl-string-search xt (dxf 304 ent)) (vla-put-textstring (vlax-ename->vla-object ent) (vl-string-subst num xt (dxf 304 ent))) (vla-put-textstring (vlax-ename->vla-object ent) (vl-string-subst num xh (dxf 304 ent)))) (setq n (1+ n)) ) ) (alert "Khong du du lieu, ket thuc!")) ) (defun keyword (key default promp / str1 str2 str3 str4) (setq str1 (apply 'strcat (mapcar (function (lambda (x) (strcat x " "))) key))) (setq str2 (apply 'strcat (mapcar (function (lambda (x) (strcat x "/"))) key))) (setq str1 (substr str1 1 (1- (strlen str1)))) (setq str2 (substr str2 1 (1- (strlen str2)))) (initget str1) (setq str3 (strcat "\n" promp " [" str2 "] <" default "> ")) (if (not (setq str4 (getkword str3))) default str4 ) ) (defun Dxf (Id Obj) (cdr (assoc Id (entget Obj))) ) Trường hợp này đánh số theo mình thấy khó khả thi, bởi sau khi đánh 1 lần, nhỡ đâu đánh sai thì lisp không chọn lại được nữa, có lẽ bạn nên thay ký tự số vào đầu hoặc cuối để dễ sửa chữa sau này. 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
Nguyên Khải 0 Báo cáo bài đăng Đã đăng Tháng 1 2, 2020 Thank bác Đoàn rất nhiều nhé, code chạy rất tốt. 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
Hai Nguyen 82 0 Báo cáo bài đăng Đã đăng Tháng 2 13 Chào bạn. Bạn có thể giúp dùm mình cái lisp đếm số thứ tự tăng dần của Mtext nằm trong Multilead được không ạ? Mình có đính kèm file CAD. Thanks.dem so thu tu multileader.rardem so thu tu multileader.rar 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