乐筑天下

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

[编程交流] lisp更改图层属性

[复制链接]

1

主题

1

帖子

0

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 06:07:32 | 显示全部楼层 |阅读模式
我试图找到一个lisp来更改图层线型和颜色,如果它们在图层名称中包含某些文本。e、 g如果我有一个名为“contour 1234”的图层,lisp可以从contour开始更改图层的颜色和线型吗?有谁知道我在哪里可以找到这个lisp吗?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 06:46:43 | 显示全部楼层
欢迎先来论坛
 
如果代码找到一个以轮廓开始的图层名,你能写下要更改的颜色和线型吗?
 
塔瓦特
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 07:24:25 | 显示全部楼层
更改代码中的线型和颜色以满足您的需要。
 
  1. (defun c:Test (/ lt cl l e)
  2. ;; Tharwat 19.Sep.2013    ;;
  3. (setq lt "DASHED" ;; LineType     ;;
  4.        cl 3        ;; Color number     ;;
  5. )
  6. (if (not (tblsearch "LTYPE" lt))
  7.    (vla-load
  8.      (vla-get-Linetypes
  9.        (vla-get-ActiveDocument
  10.          (vlax-get-acad-object)
  11.        )
  12.      )
  13.      lt
  14.      "acadiso.lin"
  15.    )
  16. )
  17. (while (setq l (tblnext "LAYER" (null l)))
  18.    (if (wcmatch (cdr (assoc 2 l)) "contour*")
  19.      (progn
  20.        (setq e (entget (tblobjname "LAYER" (cdr (assoc 2 l))))
  21.              e (subst (cons 62 cl) (assoc 62 e) e)
  22.              e (subst (cons 06
  23.                             (if (and lt (tblobjname "ltype" lt))
  24.                               lt
  25.                               "Continuous"
  26.                             )
  27.                       )
  28.                       (assoc 06 e)
  29.                       e
  30.                )
  31.        )
  32.        (entmod e)
  33.      )
  34.    )
  35. )
  36. (princ)
  37. )
  38. (vl-load-com)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 18:51 , Processed in 0.665403 second(s), 58 queries .

© 2020-2025 乐筑天下

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