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

[Yêu cầu] Lisp đổi màu nền của cad

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

Tôi làm công việc thường xuyên phải chuyển từ màu nền màn hình đen sang trắng và ngược lại từ trắng sang đen.

Hy vọng a e giúp đỡ 1 lệnh tắt để chuyển qua lại 2 màu này cho nhanh.

Xin cảm ơn.

 

Thông thường muốn chuyển thì chọn Options | Tab Display | Colors | chọn màu | OK

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ám ơn Ketxu đã chỉ cái auto switch.

Nhưng công việc của mình đơn giản là muốn chuyển theo kiểu

gõ số 8 | enter 1 cái thì nó tự động biết chuyển tử trằng sang đen hoặc ngược lại

nếu trong 1 lệnh mà làm ngược lại phức tạp quá thì mình có thể làm thêm

gõ số 9 | enter cái thì đen chuyển sang trắng

Cám ơn Ketxu!

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ám ơn Ketxu đã chỉ cái auto switch.

Nhưng công việc của mình đơn giản là muốn chuyển theo kiểu

gõ số 8 | enter 1 cái thì nó tự động biết chuyển tử trằng sang đen hoặc ngược lại

nếu trong 1 lệnh mà làm ngược lại phức tạp quá thì mình có thể làm thêm

gõ số 9 | enter cái thì đen chuyển sang trắng

Cám ơn Ketxu!

 

Đây bạn! Lisp này tôi mót được của By Jimmy Bergmark (thank you). Lệnh BGT. Gõ BGT: chuyển đen qua trắng, gõ tiếp BGT: chuyển trắng qua đen. Cứ thế tiếp tục...

;----- Set the background in model and paper space to white
(defun c:BGWhite ()
(vl-load-com)
(setq disp (vla-get-display (vla-get-preferences (vlax-get-acad-object))))
(setq drafting (vla-get-drafting (vla-get-preferences (vlax-get-acad-object))))
(vla-put-GraphicsWinModelBackgrndColor disp 16777215)
(vla-put-GraphicsWinLayoutBackgrndColor disp 16777215)
(vla-put-LayoutCrosshairColor disp 0)
(vla-put-ModelCrosshairColor disp 0)
(vla-put-AutoTrackingVecColor disp 0)
(vla-put-AutoSnapMarkerColor drafting 6)
(princ))
;----- Set the background in model and paper space to black
(defun c:BGBlack ()
(vl-load-com)
(setq disp (vla-get-display (vla-get-preferences (vlax-get-acad-object))))
(setq drafting (vla-get-drafting (vla-get-preferences (vlax-get-acad-object))))
(vla-put-GraphicsWinModelBackgrndColor disp 0)
(vla-put-GraphicsWinLayoutBackgrndColor disp 0)
(vla-put-LayoutCrosshairColor disp 16777215)
(vla-put-ModelCrosshairColor disp 16777215)
(vla-put-AutoTrackingVecColor disp 16777215)
(vla-put-AutoSnapMarkerColor drafting 2)
(princ))
;----- Background toggle between black and white
(defun c:bgt ()
(vl-load-com)
(setq disp (vla-get-display (vla-get-preferences (vlax-get-acad-object))))
(setq drafting (vla-get-drafting (vla-get-preferences (vlax-get-acad-object))))
(if (= (vlax-variant-value (vlax-variant-change-type (vla-get-graphicswinmodelbackgrndcolor disp) vlax-vblong)) 0)
 (c:bgwhite)
 (c:bgblack))
(princ))
(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
Vào lúc 23/9/2024 tại 12:43, tungnguyendmt đã nói:

nếu mình có nhu cầu đổi sang màu khác thì tham số màu mình lấy ở đâu ạ? e cảm ơn

tham khảo:

em nhầm: https://www.checkyourmath.com/convert/color/decimal_rgb.php

Tham khảo RGB to OLE nhé

https://lee-mac.com/colourconversion.html

(LM:RGB->OLE 255 255 255)

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
Vào lúc 8/12/2011 tại 10:17, Doan Van Ha đã nói:

 

Đây bạn! Lisp này tôi mót được của By Jimmy Bergmark (thank you). Lệnh BGT. Gõ BGT: chuyển đen qua trắng, gõ tiếp BGT: chuyển trắng qua đen. Cứ thế tiếp tục...

 


;----- Set the background in model and paper space to white
(defun c:BGWhite ()
(vl-load-com)
(setq disp (vla-get-display (vla-get-preferences (vlax-get-acad-object))))
(setq drafting (vla-get-drafting (vla-get-preferences (vlax-get-acad-object))))
(vla-put-GraphicsWinModelBackgrndColor disp 16777215)
(vla-put-GraphicsWinLayoutBackgrndColor disp 16777215)
(vla-put-LayoutCrosshairColor disp 0)
(vla-put-ModelCrosshairColor disp 0)
(vla-put-AutoTrackingVecColor disp 0)
(vla-put-AutoSnapMarkerColor drafting 6)
(princ))
;----- Set the background in model and paper space to black
(defun c:BGBlack ()
(vl-load-com)
(setq disp (vla-get-display (vla-get-preferences (vlax-get-acad-object))))
(setq drafting (vla-get-drafting (vla-get-preferences (vlax-get-acad-object))))
(vla-put-GraphicsWinModelBackgrndColor disp 0)
(vla-put-GraphicsWinLayoutBackgrndColor disp 0)
(vla-put-LayoutCrosshairColor disp 16777215)
(vla-put-ModelCrosshairColor disp 16777215)
(vla-put-AutoTrackingVecColor disp 16777215)
(vla-put-AutoSnapMarkerColor drafting 2)
(princ))
;----- Background toggle between black and white
(defun c:bgt ()
(vl-load-com)
(setq disp (vla-get-display (vla-get-preferences (vlax-get-acad-object))))
(setq drafting (vla-get-drafting (vla-get-preferences (vlax-get-acad-object))))
(if (= (vlax-variant-value (vlax-variant-change-type (vla-get-graphicswinmodelbackgrndcolor disp) vlax-vblong)) 0)
 (c:bgwhite)
 (c:bgblack))
(princ))
(princ)
 

 

cho mình hỏi khi mình đổi 2 dòng 
(vla-put-GraphicsWinModelBackgrndColor disp 3156001)

(vla-put-GraphicsWinLayoutBackgrndColor disp 3156001)

thì không dùng được lệnh bgt nữa mà chỉ dùng được bgw hoặc bgb

đổi màu về 0 thì lại dùng lệnh bgt bình 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
1 giờ} trướ}c, lionking_114 đã nói:

cho mình hỏi khi mình đổi 2 dòng 
(vla-put-GraphicsWinModelBackgrndColor disp 3156001)

(vla-put-GraphicsWinLayoutBackgrndColor disp 3156001)

thì không dùng được lệnh bgt nữa mà chỉ dùng được bgw hoặc bgb

đổi màu về 0 thì lại dùng lệnh bgt bình thường

Sai ở đâu thì dừng lại ở đó. 

Thay số 3156001 bằng 2172976 là được.

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

Tiện đây cho em hỏi nếu muốn chuyển màu của môi trường Block Editor có được không? Tuy ít phải sửa nhưng mỗi lần vào cũng lười. 

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  

×