hoquangvinh 7 Báo cáo bài đăng Đã đăng Tháng 10 31, 2015 Hiện nay mình đang dùng 1 lisp đo diện tích rồi và điền giá trị vào text có sẵn bây giờ mình muốn đổi màu các text vừa đổi giá trị mới đó để biết cái nào làm rồi Mình có 2 đoạn lisp đó rồi nhưng ko biết nối vào thế nào cả, tìm trên diễn đàn cũng chỉ thấy lisp đổi màu riêng rẽ chứ chưa có cái nào ghép lisp với nhau. Mong các cao thủ giúp đỡ với. 1. Lisp đo diện tích: của một bác trên diễn đàn mà mình ko nhớ tên có chỉnh sửa 1 tí để dùng cho tiện hơn (defun c:N() ; (setvar "MODEMACRO" "------ Edit by HoQuangVinh_TVNA ------")(setvar "cmdecho" 0)(setvar "DIMZIN" 0)(if (= Ty_le nil)(progn(setq Ty_le (getreal "\nNhap Ti Le <1000>:"))(if (= Ty_le nil)(setq Ty_le 1000.00)))(progn(setq khaibaoTy_le (getstring (strcat "\nTi Le = " (rtos Ty_le 2 0) " Co Muon Thay doi Khong ,C:")))(if (= (strlen khaibaoTy_le) 0) (setq khaibaoTy_le "K"))(if (or (= khaibaoTy_le "k") (= khaibaoTy_le "K"))(progn(princ (strcat "\nTi Le = " (rtos Ty_le 2 0))))(if (or (= khaibaoTy_le "c") (= khaibaoTy_le "C"))(progn(setq Ty_le (getreal "\nNhap Ti Le <1000>:"))(if (= Ty_le nil)(setq Ty_le 1000.00))))))) ;;;(if (= So_Le nil) ;;;(progn ;;;(setq So_Le (getint "\\nNhap So Le Dien Tich <2>:")) ;;;(if (= So_Le nil)(setq So_Le 2)) ;; ;) ;;;(progn ;;;(setq khaibaoSo_Le (getstring (strcat "\\nSo Le Dien Tich = " (rtos So_Le 2 0) " Co Muon Thay doi Khong ,C:"))) ;;;(if (= (strlen khaibaoSo_Le) 0) (setq khaibaoSo_Le "K")) ;;;(if (or (= khaibaoSo_Le "k") (= khaibaoSo_Le "K")) ;;;(progn ;;;(princ (strcat "\\nSo Le Dien Tich = " (rtos So_Le 2 0))) ;; ;) ;;;(if (or (= khaibaoSo_Le "c") (= khaibaoSo_Le "C")) ;;;(progn ;;;(setq So_Le (getint "\\nNhËap So Le Dien Tich <2>:")) ;;;(if (= So_Le nil)(setq So_Le 2)) ;; ;) ;; ;) ;; ;) ;; ;) ;; ;)(setq He_so (/ 1000 Ty_le))(setq He_so2 (* He_so He_so))(setq dtl 0)(setq ss (ssadd))(setq oslast (getvar "OSMODE"))(command "osnap" "")(print)(print)(setq pt1 (getpoint "\nChon Vung Kin Tinh Dien Tich : "))(while (/= pt1 nil)(command "-boundary" pt1 "")(setq et (entlast))(ssadd et ss)(command "area" "e" "last")(setq vsize ( /(getvar "VIEWSIZE") 50 ))(command "hatch" "ANSI31" vsize "0" "last" "")(setq et (entlast))(ssadd et ss)(setq dtcon (getvar "AREA"))(setq dtl (+ dtcon dtl))(print)(print)(setq pt1 (getpoint "\nChon Vung Kin Tinh Dien Tich : ")))(command "setvar" "OSMODE" oslast)(command "erase" ss "")(setq ss nil)(command "redraw")(setq dtl (/ (/ dtl He_so2) 1)) (print dtl)(setq en (car (entsel "Thay cho so : ")))(while (= en nil)(setq en (car (entsel "Thay cho so : "))))(setq elst (entget en))(setq elstold (assoc 1 elst)) ;(setq elstnew (cons 1 (rtos dtl 2 So_Le))) (setq elstnew (cons 1 (rtos dtl 2 2)))(setq elst (subst elstnew elstold elst))(entmod elst)(setq elst nil)(setq dtl nil);(command "_change" en "" "p" "c" "1" "")(print " Edit by Hoquangvinh-TVNA" )) 2. Lisp đổi màu text của bác Nguyen Hoanh (defun c:CTE() (setq ent (car (entsel "\nVao doi tuong text can sua: "))) (command ".ddedit" ent "") (command ".chprop" ent "" "c" "1" "") (princ) ) 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
hiepttr 538 Báo cáo bài đăng Đã đăng Tháng 10 31, 2015 Đưa : (command "_change" en "" "p" "c" "1" "") lên 8 dòng liền sau (while...) 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
hoquangvinh 7 Báo cáo bài đăng Đã đăng Tháng 10 31, 2015 Đưa : (command "_change" en "" "p" "c" "1" "") lên 8 dòng liền sau (while...) Mình làm được rồi thanks bạn PS: Sao mình lại bị trừ điểm 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