明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 700|回复: 12

[基础] vla-put-TrueColor

[复制链接]
发表于 2024-12-19 17:01:33 | 显示全部楼层 |阅读模式
本帖最后由 自贡黄明儒 于 2024-12-20 11:43 编辑

总觉得vla-put-TrueColor的使用很奇怪,搜了半天,才明白
先给颜色,然后再用于对象,记录一下
  (setq obj (vlax-ename->vla-object(car(entsel))));多行文字
  (setq acmCol (vla-getinterfaceobject(vlax-get-acad-object) (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2))))  
  (vla-setrgb acmCol 200 200 200)
  (vla-put-TrueColor obj acmCol)



acmCol彩笔,vla-setrgb蘸墨,vla-put-TrueColor给对象着色

评分

参与人数 1明经币 +1 收起 理由
yanshengjiang + 1

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
回复

使用道具 举报

发表于 2024-12-19 17:20:04 | 显示全部楼层
不需要创建,直接get-truecolor,然后修改,然后pu-truecolor
回复 支持 反对

使用道具 举报

发表于 2024-12-19 20:22:43 | 显示全部楼层
kozmosovia 发表于 2024-12-19 17:20
不需要创建,直接get-truecolor,然后修改,然后pu-truecolor

确实直接获取truecolor属性比创建TrueColor对象更简单
(setq o(vlax-ename->vla-object(car(entsel)))
(setq Tcolor(vlax-get-property o 'truecolor))
(vlax-invoke-method Tcolor'setrgb 200 200 200)
(vlax-put-property o 'truecolor Tcolor)

评分

参与人数 1明经币 +1 收起 理由
自贡黄明儒 + 1

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2024-12-19 20:27:57 | 显示全部楼层
TrueColor属性的奇怪在于它的属性值并不象其它简单的属性那样直接是数值或数组,而是一个TrueColor对象,具体的属性值还得通过这个对象才能处理,相当于多了一层壳。。。。感觉不是CAD自己的东西,是借用了别人的,必须多绕一个弯才能使用
回复 支持 反对

使用道具 举报

发表于 2024-12-19 21:22:04 | 显示全部楼层
  1. (defun Put-TrueColor (s1 rgb / o tc)
  2.   "Put-TrueColor 实体赋值RGB颜色 (Put-TrueColor s1 rgb)"
  3.   (if s1
  4.     (progn
  5.       (setq o  (vlax-ename->vla-object s1)
  6.             tc (vlax-get-property o 'TrueColor)
  7.       )
  8.       (vla-SetRGB tc (car rgb) (cadr rgb) (caddr rgb))
  9.       (vla-put-trueColor o tc)
  10.       s1
  11.     )
  12.   )
  13. )

评分

参与人数 1明经币 +1 收起 理由
自贡黄明儒 + 1

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2024-12-20 08:09:34 | 显示全部楼层
谢谢分享经验
回复 支持 反对

使用道具 举报

发表于 2024-12-20 08:28:40 | 显示全部楼层
跟随各位大佬脚步学习。Mark!
回复 支持 反对

使用道具 举报

发表于 2024-12-20 18:11:19 | 显示全部楼层
跟随各位大佬脚步学习,谢谢分享。
回复 支持 反对

使用道具 举报

发表于 2024-12-24 15:46:21 | 显示全部楼层
十多年了。。回来瞅瞅,还能看到这些老面孔,你们是多么热爱LISP啊。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-1-22 20:51 , Processed in 0.219757 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表