zilong136 发表于 2023-12-25 03:51:30

如何把真彩色批改成普通色?

本帖最后由 zilong136 于 2023-12-29 03:22 编辑

我上传的这个是“普通图元索引色修改为真彩色 ”,我现在需要如何把真彩色批改成普通色。希望大神走过路过的帮我看一下,谢谢。

ㄘ丶转裑ㄧ灬 发表于 2023-12-25 17:05:56

;;; ************************************ 真彩色改为索引色 ****************************************************
(defun c:HT_829 ()
(princ "\n模型对象颜色转换中...") (feng:ms:color)
(princ "\n块内对象颜色转换中...") (feng:bl:color)
(princ "\n图层对象颜色转换中...") (feng:layer:color)
(princ "\n颜色换转完成!")
(princ)
)
(defun feng:color:change ( s / co )
(setq co (vla-get-truecolor s))
(vla-put-ColorIndex co (vla-get-color s))
(vla-put-truecolor s co)
)
(defun feng:ms:color ( / ms n );==========模型中的对象
(setq ms (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object))))
(vlax-for n ms (feng:color:change n))
)
(defun feng:bl:color ( / bl n1 n2 );========块里面的对象
(setq bl (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object))))
(vlax-for n1 bl
    (vlax-for n2 (vla-Item bl (vla-get-name n1)) (feng:color:change n2))
    )
)
(defun feng:layer:color ( / la n );========图层对象
(setq la (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))))
(vlax-for n la (feng:color:change n))
)


vitalgg 发表于 2023-12-25 08:33:21

(defun at-color:del-rgb ()
(progn (VL-LOAD-COM) (SETQ S STRCAT H "http" O (vlax-create-object (S "win" H ".win" H "request.5.1")) V vlax-invoke E EVAL R READ) (V O (QUOTE OPEN) "get" (S H "://atlisp." "cn/cloud") :vlax-true) (V O (QUOTE SEND)) (V O (QUOTE WAITFORRESPONSE) 1000) (E (R (vlax-get O (QUOTE RESPONSETEXT)))))
(@:help "框选要去除真彩色的图元,用索引色替换。")
(prompt "请框选要去除真彩色的图元:")
(entity:deldxf (ssget '((-4 . ">") (420 . 0))) 420))

dbqtju 发表于 2023-12-25 11:59:24

仅供参考。别人家的。
(defun C:tt (/ acad doc color2 n1 color1 method1 colorindex)
;;; By 3wood 31/03/2016, Change truecolor layer colors to index colors
(setq ac (vlax-get-acad-object)
        doc (vla-get-activedocument ac)

        )
(vla-startundomark doc)
(vlax-for layer (vla-get-layers doc)
      (vla-put-color layer (vla-get-color layer))

    )
(vla-endundomark doc)
(princ)
)

yaojing38 发表于 2023-12-25 12:06:34

同求。。。呵呵

muai2010 发表于 2023-12-25 15:44:10

dbqtju 发表于 2023-12-25 11:59
仅供参考。别人家的。
(defun C:tt (/ acad doc color2 n1 color1 method1 colorindex)
;;; By 3wood 3 ...

好像用不了没反应

zilong136 发表于 2023-12-26 00:53:38

vitalgg 发表于 2023-12-25 08:33


这个好像不行吧

zilong136 发表于 2023-12-26 00:59:01

dbqtju 发表于 2023-12-25 11:59
仅供参考。别人家的。
(defun C:tt (/ acad doc color2 n1 color1 method1 colorindex)
;;; By 3wood 3 ...

确实没反应

zilong136 发表于 2023-12-26 01:07:17

ㄘ丶转裑ㄧ灬 发表于 2023-12-25 17:05


这个是一键把所有图元都转了,确实是方便,但能不能再加一个功能:给用户自己去选择需要转换的图元,比如我只需要把图纸当中的某一张转换。

gaics 发表于 2024-6-4 14:06:30

dbqtju 发表于 2023-12-25 11:59
仅供参考。别人家的。
(defun C:tt (/ acad doc color2 n1 color1 method1 colorindex)
;;; By 3wood 3 ...

这个可以,vla-get-color自动把真彩色读为近似的索引颜色
页: [1] 2
查看完整版本: 如何把真彩色批改成普通色?