乐筑天下

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

[编程交流] 图层颜色

[复制链接]

9

主题

47

帖子

38

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-6 08:08:11 | 显示全部楼层 |阅读模式
尝试执行一个更改图层颜色的例程。我遇到的问题是,如果输入红色作为“red”的颜色,我会得到这个。
 
错误:错误的DXF组:(62。“红色”)
 
我通过getstring函数运行它。我猜我需要一个1中的整数。让它发挥作用。那么,有没有办法将“红色”转换为正确的颜色代码?
 
我还意识到,如果输入“40”,我需要将字符串转换为整数。
 
感谢代码如下。
 
  1. (defun C:Layer_Color ( / obj col lay layref layname cnt)
  2. (defun *error* ( msg )
  3.        (if (< 0 id) (unload_dialog id))
  4.        (if (not (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*"))
  5.            (progn
  6.            (princ (strcat "\nError: " msg))
  7.            (setq cnt T)
  8.            (setq tmpEnt (tblnext "layer" cnt))
  9.            )
  10.        )
  11.        (princ)
  12.    )
  13. (while (= obj nil)
  14.        (setq obj (entget(car(entsel "\nSelect Object:"))))
  15.        (if (= obj nil)
  16.            (princ "\nNo Object Selected.")))
  17.        (setq lay (cdr(assoc 8 obj)))
  18.    
  19.        (while (or(= col nil)(= col ""))
  20.            (setq col(getstring "\nNew Color:"))
  21.            (if (or(= col nil)(= col ""))
  22.                (princ "No color entered.\n")
  23.                (princ "New color selected.\n")
  24.            )
  25.        )
  26.    (while (/= layname lay)
  27.    (setq layref (tblnext "layer"))
  28.    (setq layname (cdr(assoc 2 layref)))
  29.    )
  30.    
  31.    (entmakex(list(assoc 0 layref)(cons 100 "AcDbSymbolTableRecord")(cons 100 "AcDbLayerTableRecord")(assoc 70 layref)(assoc 2 layref)(cons 62 col)(cons 6 "CONTINUOUS")(cons 290 1)))
  32.                
  33.                
  34.    (setq cnt T)
  35. (setq tmpEnt (tblnext "layer" cnt))
  36. (princ)
  37. )
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 08:22:56 | 显示全部楼层
尝试使用硬编码的关联列表;为了确保用户提供适当的答案,可以查看INITGET函数。
 
关于,
米尔恰
回复

使用道具 举报

9

主题

47

帖子

38

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-6 08:28:16 | 显示全部楼层
是的,我想过。这仅仅是像那样使用的7种主要颜色吗?还是还有更多?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:42:33 | 显示全部楼层
像这样的事情?
 
  1. 2
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 08:46:07 | 显示全部楼层
据我所知,AutoCAD中只命名了前7种颜色。然而,网页设计中使用的命名颜色列表,你可以从那里“借用”名称,只要你的用户被告知这一点。
 
当做
米尔恰
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 08:58:23 | 显示全部楼层
你可能想研究一下(acad\u colordlg),它非常有用-大卫
回复

使用道具 举报

9

主题

47

帖子

38

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-6 09:08:09 | 显示全部楼层
谢谢,很好。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 09:09:15 | 显示全部楼层
 
不客气
 
很高兴听到这个消息。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 08:44 , Processed in 0.340490 second(s), 68 queries .

© 2020-2025 乐筑天下

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