明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 薄荷微光

[提问] 求高手帮忙看下改颜色的问题

[复制链接]
发表于 2024-11-29 17:59:56 | 显示全部楼层
本帖最后由 e2002 于 2024-11-29 18:16 编辑

首先要理清程序的流程。一般的,象这种直接操作对象,选择对象的进行修改某一个特性的,先是输入特性的新的值,然后while选择对象(entsel或者 ssget),这里需要判断对象的类型是否符合要求,还要判断是否选择对象是否在 LockedLayer上(如果是ssget就加上""参数)。

while循环中,主要就是对象访问与修改特性的那些语句,这个想必你已经理解了。修改后一般不需要regen,修改厚的效果就能直接看到的。

另外: 颜色现在是TrueColor,应使用 AcCmColor对象,下面是 sample code:

  1. (setq amColor (vla-GetInterfaceObject acApp (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2))))
  2.       (vla-put-ColorIndex amColor acCyan)
  3.       (vla-put-TrueColor att amColor)
  4.       (vlax-release-object amColor)



评分

参与人数 1明经币 +1 收起 理由
薄荷微光 + 1 很给力!

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-29 18:45:02 | 显示全部楼层
e2002 发表于 2024-11-29 17:59
首先要理清程序的流程。一般的,象这种直接操作对象,选择对象的进行修改某一个特性的,先是输入特性的新的 ...

谢谢指导,水平好高,我先理解下,好多语句看不懂
回复 支持 反对

使用道具 举报

发表于 2024-11-29 19:40:24 来自手机 | 显示全部楼层
学习一下。感谢分享。
回复 支持 反对

使用道具 举报

发表于 2024-12-1 20:12:38 | 显示全部楼层
本帖最后由 chslwj521 于 2024-12-1 20:14 编辑

(defun c:gs1 (/ en i obj ss)
  (vl-load-com)
  (while
  (setq en (car(entsel)))
      (setq obj (vlax-ename->vla-object en));???VLA??
      (vla-put-color obj 1);???
      )
    )
回复 支持 反对

使用道具 举报

发表于 2024-12-1 20:14:33 | 显示全部楼层
(defun c:gs1 (/ en i obj ss)
  (vl-load-com)
  (while
  (setq en (car(entsel)))
      (setq obj (vlax-ename->vla-object en));???VLA??
      (vla-put-color obj 1);???
      )
    )
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-2 21:35:37 | 显示全部楼层
e2002 发表于 2024-11-29 17:59
首先要理清程序的流程。一般的,象这种直接操作对象,选择对象的进行修改某一个特性的,先是输入特性的新的 ...

你好,请问下有没VLA帮助电子文件发个学习下,好多函数不明白
回复 支持 反对

使用道具 举报

发表于 2024-12-2 22:07:42 | 显示全部楼层
薄荷微光 发表于 2024-12-2 21:35
你好,请问下有没VLA帮助电子文件发个学习下,好多函数不明白

看CAD帮助的对象模型就行了。https://help.autodesk.com/view/O ... 2-B674-1FE200B9FE30
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-3 00:04:34 | 显示全部楼层

你好,上面的程序如果把颜色改为随层要怎么写呢,我把红色1换为Bylayer好像不行。我刚查到可以用CAD的CHPROP命令修改(command "chprop" ss "" "c" "Bylayer" ""),不知道按上面的要怎么实现。
回复 支持 反对

使用道具 举报

发表于 2024-12-3 03:43:34 来自手机 | 显示全部楼层
薄荷微光 发表于 2024-12-3 00:04
你好,上面的程序如果把颜色改为随层要怎么写呢,我把红色1换为Bylayer好像不行。我刚查到可以用CAD的CHP ...

1改为256就可以了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-23 03:03 , Processed in 0.187998 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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