Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
hoquangvinh

Nhờ Ghép Lisp Đổi Màu Text Khi Sửa

Các bài được khuyến nghị

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)

)

 
 
  • Vote giảm 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

Đư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

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay
Đăng nhập để thực hiện theo  

×