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

Đổi Màu Text

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

Chào các bạn trên cadviet! Mình có đoạn lsp dùng để đổi màu text(gõ lệnh sau đó chọn dối tượng cần đổi màu và chọn màu cần đổi). Bây giờ mình muốn mọi người giúp mình sửa lại sau cho: gõ lệnh sau đó chọn đối tượng thì text tự động chuyển sang màu số 2

 

(defun c:Q ()

  (setq a (ssget))

  (setq color (getint "\nChon Mau: "))

  (command "change" a "" "p" "c" color "")

  (princ)

  )

 

Vì tính chất công việc nên mình không dùng lệnh matchprop. Mong mọi người giúp đỡ.

Thanks các bạ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

 

Chào các bạn trên cadviet! Mình có đoạn lsp dùng để đổi màu text(gõ lệnh sau đó chọn dối tượng cần đổi màu và chọn màu cần đổi). Bây giờ mình muốn mọi người giúp mình sửa lại sau cho: gõ lệnh sau đó chọn đối tượng thì text tự động chuyển sang màu số 2
 
(defun c:Q ()
  (setq a (ssget))
  (setq color (getint "\nChon Mau: "))
  (command "change" a "" "p" "c" color "")
  (princ)
  )
 
Vì tính chất công việc nên mình không dùng lệnh matchprop. Mong mọi người giúp đỡ.
Thanks các bạn! 

 

thay dòng  (setq color (getint "\nChon Mau: ")) 

bằng dòng :  (setq color 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

thay dòng  (setq color (getint "\nChon Mau: ")) 

bằng dòng :  (setq color 2)

Thanks bạn gia_bach nhiều nhé!

Bạn giúp mình thêm công dụng này với:

(defun c:Q ()
(command ".ddedit" ent "")
  (setq a (ssget))
  (setq color 2)
  (command "change" a "" "p" "c" color "")
  (princ)
  )
Khi gõ lệnh Q sau đó chọn đối tượng text thì text xanh lên(giống như edit vậy đó), sau đó enter thì text đổi 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

Thanks bạn gia_bach nhiều nhé!

Bạn giúp mình thêm công dụng này với:

(defun c:Q ()
(command ".ddedit" ent "")
  (setq a (ssget))
  (setq color 2)
  (command "change" a "" "p" "c" color "")
  (princ)
  )
Khi gõ lệnh Q sau đó chọn đối tượng text thì text xanh lên(giống như edit vậy đó), sau đó enter thì text đổi màu. 
  • 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

Lỗi này là do:

* 2/3 của Cadviet, vì không hiển thị hết nội dung.

* 1/3 của member: vì viết xong, post, rồi không đọc lại.

Khi tick vào button "Trả lời" thì mọi thứ sẽ rõ ràng hơ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

@ bác HA : Tôi biết chứ,

 

nhưng vấn đề là chủ thớt có đọc lại bài viết của mình không ?

  • Vote tăng 1
  • 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

@ bác HA : Tôi biết chứ,

 

nhưng vấn đề là chủ thớt có đọc lại bài viết của mình không ?

Không biết tại sao nó không hiển thị hết nội dung nữa. Post xong xong rồi nhìn lại cũng không biết làm sao cho nó hiện đủ nội dung nữ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

 

Thanks bạn gia_bach nhiều nhé!

Bạn giúp mình thêm công dụng này với:

(defun c:Q ()
(command ".ddedit" ent "")
  (setq a (ssget))
  (setq color 2)
  (command "change" a "" "p" "c" color "")
  (princ)
  )
Khi gõ lệnh Q sau đó chọn đối tượng text thì text xanh lên(giống như edit vậy đó), sau đó enter thì text đổi màu. 

 

mục đích của việc "Text xanh lên" để làm gì ?

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

mục đích của việc "Text xanh lên" để làm gì ?

Mục đích của mình là: trong bv có nhiều text cần sửa, mình ứng dụng lsp này để biết text nào đã sửa và chưa sửa(khi mình chạm vào nó thì nó đổi màu, nếu ta sửa nội dung text hay không text vẫn đổi màu).

Thanks bạ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

Mục đích của mình là: trong bv có nhiều text cần sửa, mình ứng dụng lsp này để biết text nào đã sửa và chưa sửa(khi mình chạm vào nó thì nó đổi màu, nếu ta sửa nội dung text hay không text vẫn đổi màu).

Thanks bạn! 

  • 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

 

Mục đích của mình là: trong bv có nhiều text cần sửa, mình ứng dụng lsp này để biết text nào đã sửa và chưa sửa(khi mình chạm vào nó thì nó đổi màu, nếu ta sửa nội dung text hay không text vẫn đổi màu).

Thanks bạn! 

 

Thấy bạn hỏi buồn cười thật :) , Thử xem trúng ý theo Code của bạn không nhé :)

(defun c:Q (/ ent color)
(while (setq ent (car (entsel "\nChon Text de Edit :")))
(command "change" ent "" "p" "c" 3 "") 
(command ".ddedit" ent "")
(setq color 2) 
(command "change" ent "" "p" "c" color "") ) 
(princ))

  • Vote tăng 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

 

ok. Đúng ý mình rồi. Thanks bạn!

Bạn tích hợp dùm mình đối với trường hợp dim luôn được không bạn. Không biết nên nhờ các bạn cũng thấy ngại lắm! 

 

 
(defun c:Q (/ ent color)
(while (setq ent (car (entsel "\nChon Text de Edit:")))
(command "change" ent "" "p" "c" 3 "") 
(command ".ddedit" ent "")
(setq color 2) 
(command "change" ent "" "p" "c" color "") ) 
(princ))
 
(setq ssd (acet-ss-to-list (ssget (list (cons 0 "dimension")))))
(foreach dm ssd
     (if (/= (cdr (assoc 1 (entget dm))) "")
            (command "._DIMOVERRIDE" "DIMCLRT" "2" "DIMCLRD" "8" "DIMCLRE" "8" "" dm "")
     )
     (entmod els)
)
(command "undo" "e")
(princ)
)

 

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

 

 

ok. Đúng ý mình rồi. Thanks bạn!

Bạn tích hợp dùm mình đối với trường hợp dim luôn được không bạn. Không biết nên nhờ các bạn cũng thấy ngại lắm! 

 

 

 

 

Có nguyên 1 topic Lisp đổi màu text sau khi sửa : (đối với cả 2 Trường hợp dim, text nằm ở trong bài viết số 29 ở Link dưới đây)

http://www.cadviet.com/forum/topic/14254-lisp-doi-mau-text-sau-khi-sua/page-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

Có nguyên 1 topic Lisp đổi màu text sau khi sửa : (đối với cả 2 Trường hợp dim, text nằm ở trong bài viết số 29 ở Link dưới đây)

http://www.cadviet.com/forum/topic/14254-lisp-doi-mau-text-sau-khi-sua/page-2

Thanks bạn Tue_NV, mình cũng có tham khảo qua, nhưng lsp đó chỉ đổi màu khi ta đã sửa chúng. Ở đây mình muốn là khi chạm vào thì text hay dim đều đổi màu(cho dù mình có sửa chúng hay không sửa chúng vẫn đổi 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

Thanks bạn Tue_NV, mình cũng có tham khảo qua, nhưng lsp đó chỉ đổi màu khi ta đã sửa chúng. Ở đây mình muốn là khi chạm vào thì text hay dim đều đổi màu(cho dù mình có sửa chúng hay không sửa chúng vẫn đổi màu)

Thôi thì thử cái này xem :) :

(defun c:q (/ ent subent tn) (vl-load-com)
(while (setq ent (entsel "\nPick chon Text : ")) 
(setq subent (car (nentselp (cadr ent))))
(vla-put-Color (vlax-ename->vla-object subent) 2)
(setq tn (lisped (cdr (assoc 1 (entget subent)))))
(entmod (subst (cons 1 tn) (assoc 1 (entget subent)) (entget subent)))
(entupd (car ent)) )
(princ))

  • Vote tăng 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

Có lẻ theo cách củ chuối này trúng ý bạn hơn :D :

(defun c:q (/ ent obj tn) (vl-load-com)
(while (setq ent (car (entsel "\nPick chon Text : ")))
(setq obj (vlax-ename->vla-object ent))
(if (wcmatch (cdr (assoc 0 (entget ent))) "DIMENSION")
(progn (vla-put-TextColor obj 3) (vl-cmdf ".ddedit" ent "") (vla-put-TextColor obj 2))
(progn (vla-put-Color obj 3) (vl-cmdf ".ddedit" ent "") (vla-put-Color obj 2)) )) 
(princ)) 

  • Vote tăng 3

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

 

Có lẻ theo cách củ chuối này trúng ý bạn hơn :D :

(defun c:q (/ ent obj tn) (vl-load-com)
(while (setq ent (car (entsel "\nPick chon Text : ")))
(setq obj (vlax-ename->vla-object ent))
(if (wcmatch (cdr (assoc 0 (entget ent))) "DIMENSION")
(progn (vla-put-TextColor obj 3) (vl-cmdf ".ddedit" ent "") (vla-put-TextColor obj 2))
(progn (vla-put-Color obj 3) (vl-cmdf ".ddedit" ent "") (vla-put-Color obj 2)) )) 
(princ)) 

Thanks bạn pphung183! Trong trường hợp này thì cách củ chuối này hợp vối mình hơ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

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  

×