lucas3 发表于 2022-7-5 23:47:33

弹出彩色对话框,谁能做

这个lisp可以改变实体颜色,一个或多个,我想弹出颜色对话框,并选择一种颜色,你能帮我吗?非常感谢。
更改实体颜色。lsp

MSasu 发表于 2022-7-6 00:02:09

请检查ACAD\U COLORDLG功能。

Tharwat 发表于 2022-7-6 00:07:44

试试这个。。。
 

(defun c:ChgClr (/ c s i e)
;;    Tharwat 17.12.2013    ;;
(if (and (setq c (acad_colordlg 1))
          (progn (print (strcat "Select objects to change to color < " (itoa c) " > :"))
               (setq s (ssget "_:L" ))
          )
   )
   (repeat (setq i (sslength s))
   (setq e (entget (ssname s (setq i (1- i)))))
   (if (cdr (assoc 62 e))
       (entmod (subst (cons 62 c) (assoc 62 e) e))
       (entmod (append e (list (cons 62 c))))
   )
   )
)
(princ)
)

lucas3 发表于 2022-7-6 00:13:32

 
对好吧我觉得有些复杂,这就是我想要的!非常感谢你!塔瓦特

Tharwat 发表于 2022-7-6 00:25:09

 
不客气。

lucas3 发表于 2022-7-6 00:38:55

你能用这个功能吗
 
(defun getrgb(e / tcolor)
(setq tcolor(vla-get-TrueColor(vlax-ename->vla-object e))
tcolor(list(vlax-get-property tcolor"red")
           (vlax-get-property tcolor"Green")
           (vlax-get-property tcolor"Blue")))
)
(defun putrbg(e r g b / acmCol)
(setq acmCol (vla-getinterfaceobject(vlax-get-acad-object)
       (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2))))
(vla-setrgb acmCol r g b)(vla-put-TrueColor(vlax-ename->vla-object e)acmCol))

SLW210 发表于 2022-7-6 00:47:35

请阅读代码发布指南并编辑您的帖子,将代码包含在代码标签中。

lucas3 发表于 2022-7-6 00:54:08

 
很抱歉我忘了,现在,好了!
页: [1]
查看完整版本: 弹出彩色对话框,谁能做