乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 95|回复: 9

[编程交流] entmode:定义的更改

[复制链接]

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 23:28:50 | 显示全部楼层 |阅读模式
你好
 
尝试使用entmode,
这个代码设置为改变圆圈的颜色,我看到数据库条目已经改变,但颜色没有改变,
 
以及如何将颜色更改为具有ByLayer颜色的实体?
 
 
  1. (defun C:002(/ entname entdef color)
  2.         (setq sset (ssget))
  3.         (setq entname (ssname sset i)) ;_get a selection set
  4.        (setq entdef (entget entname)) ;_get the i member defenition
  5.        (setq color (subst (cons 62 5) (assoc 62 entdef) entdef ))
  6.           
  7.    )

 
谢谢
谢伊
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 23:38:33 | 显示全部楼层
如果要更改为ByLayer,只需将例程中的数字5替换为256即可。
 
  1. (defun c:Test (/ sset i sn c e)
  2. (if (setq sset (ssget "_:L" '((0 . "~VIEWPORT"))))
  3.    (progn (setq i -1)
  4.           (while (setq sn (ssname sset (setq i (1+ i))))
  5.             (if (setq c (assoc 62 (setq e (entget sn))))
  6.               (entmod (subst '(62 . 5) c e))
  7.               (entmod (append e '((62 . 5))))
  8.             )
  9.           )
  10.    )
  11. )
  12. (princ)
  13. )
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 23:47:13 | 显示全部楼层
 
谢谢
 
为什么我不能改变颜色?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 23:53:20 | 显示全部楼层
 
你在说我的密码还是你的?
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-6 00:01:04 | 显示全部楼层
 
我的,你可以在def列表中看到,它被设置为62.5,但图形屏幕显示的颜色没有不同
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 00:06:08 | 显示全部楼层
如果任何对象的颜色设置为“byLayer”,则该对象将没有DXF 62,因此如果没有,则需要将DXF 62添加到该对象中,并将要添加此新颜色的对象作为
虽然您的代码缺少entmod函数,但您可以看到我的代码。
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-6 00:09:33 | 显示全部楼层
我懂了。。。我是一个多么愚蠢的程序员啊
谢谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 00:18:34 | 显示全部楼层
 
不,我们以前都遇到过这种情况。
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-6 00:28:21 | 显示全部楼层
你真好
 
我管理代码
 
  1. (defun C:003(/ entname entdef )
  2.         (setq sset (ssget))
  3.         (setq entname (ssname sset 0)) ;_get a selection set
  4.        (setq entdef (entget entname)) ;_get the i member defenition
  5.        (if  (assoc 62 entdef) ;_ if a color is set
  6.                (entmod (subst (cons 62 5) (assoc 62 entdef) entdef )) ;_changh it
  7.                (entmod(append entdef '((62 . 5))))
  8.                
  9.   )
  10.      
  11.    )

 
实体中缺少的DXF是否更多?
 
 
谢谢
谢伊
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 00:33:52 | 显示全部楼层
1-一个参数未本地化。
2-如果用户没有选择任何对象,则会抛出错误。
3-您的代码仅适用于一个对象。
4-在例程末尾添加princ函数,以避免返回例程的最后一个操作。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 00:28 , Processed in 1.527852 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表