ùh đúng rối,thank đã quan tâm
Bạn dùng thử, có gì post lại nhé:
(defun c:loctext(/ Isnumber te_min_num te_max_num text_thop index text_thop_loc text_thop_i text_i_value dimzin_old);---------------------------Ham Con(DEFUN Isnumber (str)(if (member (type (read str)) '(REAL INT))Tnil));---------------------------;---------------------------Ham Chinh(setvar "cmdecho" 0)(setq dimzin_old (getvar "dimzin"))(setvar "dimzin" 0)(vl-load-com)(setq te_min_num (getreal "\n------> Gia tri loc Min: "))(while (not te_min_num) (setq te_min_num (getreal "\n------> Gia tri loc Min: "))) (setq te_max_num (getreal "\n------> Gia tri loc Max: ") )(while (>= te_min_num te_max_num) (setq te_max_num (getreal (strcat "\nNhap lai gia tri loc Max [Khong duoc nho hon min =" (rtos te_min_num 2 2) "]: ") ) ) )(princ (strcat "\n------> Chon vung loc Text co gia tri: [" (rtos te_min_num 2 2) " -> " (rtos te_max_num 2 2) "]" ) )(if (setq text_thop (ssget '((0 . "*TEXT,MTEXT"))))(progn (setq index 0 text_thop_loc (ssadd) )(while (> (sslength text_thop) index) (setq text_thop_i (vlax-ename->vla-object (ssname text_thop index)) text_i_value (vlax-get-property text_thop_i 'TextString) ) (if (and (Isnumber text_i_value) (>= (atof text_i_value) te_min_num) (<= (atof text_i_value) te_max_num) ) (setq text_thop_loc (ssadd (ssname text_thop index) text_thop_loc)) ); end if(setq index (+ index 1))); end while (SSSETFIRST text_thop_loc text_thop_loc) (princ "\n -----------> Copyright © by DKKX3A")); end progn(princ "\n -----------> Khong co doi tuong duoc chon....")) (setvar "dimzin" dimzin_old) (princ) )(princ "\n -----------> Lenh chay la Loctext....Copyright © by DKKX3A")(princ)