乐筑天下

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

[编程交流] 如何更改sym的层

[复制链接]

40

主题

177

帖子

100

银币

后起之秀

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

铜币
248
发表于 2022-7-5 23:01:49 | 显示全部楼层 |阅读模式
我修改了这个lisp,引线可以更改为“dim”层,但公差符号不能更改为“dim”层,为什么?
我有两个问题。
1、如何将公差符号也更改为“dim”层,
2、引线颜色为ByLayer,公差符号颜色为索引颜色4)
  1. (defun c:QS (/ *error* DICEN)
  2. (defun *error* (msg)
  3.    (redraw)
  4.    (if cl
  5.      (setvar 'clayer cl)
  6.    )
  7.    (if (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
  8.      (princ msg)
  9.      (princ (strcat "\n** Error: " msg " **"))
  10.    )
  11. )
  12. (setq cl (getvar 'clayer))
  13. (if (not (tblsearch "LAYER" "dim"))
  14.    (entmake '((0 . "LAYER")
  15.               (100 . "AcDbSymbolTableRecord")
  16.               (100 . "AcDbLayerTableRecord")
  17.               (370 . 18)
  18.               (2 . "dim")
  19.               (70 . 0)
  20.               (62 . 3)
  21.               (6 . "Continuous")
  22.              )
  23.    )
  24. )
  25. (setvar 'clayer "dim")
  26. (setq DICEN (namedobjdict))
  27. (if (dictsearch DICEN "AcadDim")
  28.    (dictremove DICEN "AcadDim")
  29. )
  30. (dictadd DICEN
  31.           "AcadDim"
  32.            (entmakex '((0 . "XRECORD")
  33.                        (100 . "AcDbXrecord")
  34.                        (280 . 1)
  35.                        (90 . 990106)
  36.                        (3 . "")
  37.                        (60 . 2)
  38.                        (61 . 0)
  39.                        (62 . 1)
  40.                        (63 . 1)
  41.                        (64 . 0)
  42.                        (65 . 0)
  43.                        (66 . 0)
  44.                        (67 . 3)
  45.                        (68 . 1)
  46.                        (69 . 0)
  47.                        (70 . 0)
  48.                        (71 . 0)
  49.                        (72 . 0)
  50.                        (40 . 0.0)
  51.                        (170 . 2)
  52.                      )
  53.              )
  54.    )
  55. (command "Qleader")
  56. (setvar 'clayer cl)
  57. (princ)
  58. )
回复

使用道具 举报

26

主题

210

帖子

184

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
130
发表于 2022-7-5 23:30:45 | 显示全部楼层
尝试此操作以更改公差层。
  1. (defun c:QS (/ *error* DICEN)
  2. (defun *error* (msg)
  3.    (redraw)
  4.    (if cl
  5.      (setvar 'clayer cl)
  6.    )
  7.    (if (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
  8.      (princ msg)
  9.      (princ (strcat "\n** Error: " msg " **"))
  10.    )
  11. )
  12. (setq cl (getvar 'clayer))
  13. (if (not (tblsearch "LAYER" "dim"))
  14.    (entmake '((0 . "LAYER")
  15.               (100 . "AcDbSymbolTableRecord")
  16.               (100 . "AcDbLayerTableRecord")
  17.               (370 . 18)
  18.               (2 . "dim")
  19.               (70 . 0)
  20.               (62 . 3)
  21.               (6 . "Continuous")
  22.              )
  23.    )
  24. )
  25. (setq DICEN (namedobjdict))
  26. (if (dictsearch DICEN "AcadDim")
  27.    (dictremove DICEN "AcadDim")
  28. )
  29. [color=red](setvar 'clayer "dim") [/color]
  30. (dictadd DICEN
  31.           "AcadDim"
  32.            (entmakex '((0 . "XRECORD")
  33.                        (100 . "AcDbXrecord")
  34.                        (280 . 1)
  35.                        (90 . 990106)
  36.                        (3 . "")
  37.                        (60 . 2)
  38.                        (61 . 0)
  39.                        (62 . 1)
  40.                        (63 . 1)
  41.                        (64 . 0)
  42.                        (65 . 0)
  43.                        (66 . 0)
  44.                        (67 . 3)
  45.                        (68 . 1)
  46.                        (69 . 0)
  47.                        (70 . 0)
  48.                        (71 . 0)
  49.                        (72 . 0)
  50.                        (40 . 0.0)
  51.                        (170 . 2)
  52.                      )
  53.              )
  54.    )
  55. (command "Qleader")
  56. (princ)
  57. )
回复

使用道具 举报

40

主题

177

帖子

100

银币

后起之秀

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

铜币
248
发表于 2022-7-5 23:58:32 | 显示全部楼层
 
我看到你删除了这个
  1.   (setvar 'clayer cl)

暗显完成后,如何恢复到上一层?
回复

使用道具 举报

40

主题

177

帖子

100

银币

后起之秀

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

铜币
248
发表于 2022-7-6 00:16:00 | 显示全部楼层
(setvar’clayer cl);;删除此选项可以将符号更改为暗层。
暗显完成后,如何恢复到上一层?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 03:13 , Processed in 0.541091 second(s), 60 queries .

© 2020-2025 乐筑天下

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