乐筑天下

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

[编程交流] 图层问题

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:45:30 | 显示全部楼层 |阅读模式
我是新手,但我需要一个lisp,它可以用我打开的每个(甚至是预先存在的)文件创建以下层。
 
图层:1为青色,2为白色,2L为白色,3为红色,4为黄色,5为白色,6为蓝色,SK1为青色,SK2为白色,SK3为红色,SK4为黄色,SK6为蓝色。
 
我看过现有的Lisp和宏,但我是新手,在理解它们时遇到了困难。
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 07:56:01 | 显示全部楼层
我认为这会奏效;请尝试自己填写剩余的案例:
  1. (foreach layerItem '([color=blue][color=red]("1" 4) [color=orange]("2" 7)[/color][/color] ("2L" 7)[/color])
  2. (entmake (list '(0 . "LAYER") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbLayerTableRecord")
  3.                (cons 2 (car layerItem)) '(70 . 0) (cons 62 (cadr layerItem)) '(6 . "Continuous")))
  4. )
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-6 08:02:38 | 显示全部楼层
我将此线程转移到AutoLISP、Visual LISP和DCL论坛。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 08:13:48 | 显示全部楼层
 
为什么不简单地将这些层作为模板的一部分?
 
 
在Mircea的帖子的基础上,这里有一个视觉LISP改编:
 
  1. ((lambda (oLayers / layerName)
  2.   (foreach layerItem '(("1" 4) ("2" 7) ("2L" 7))
  3.    (vla-put-color
  4.      (apply
  5.        (if (tblsearch "layer" (setq layerName (car layerItem)))
  6.         'vla-item
  7.         'vla-add
  8.        )
  9.        (list oLayers layerName)
  10.      )
  11.      (cadr layerItem)
  12.    )
  13.   )
  14. )
  15. (vla-get-layers
  16.    (vla-get-activedocument (vlax-get-acad-object))
  17. )
  18. )
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 08:18:18 | 显示全部楼层
这也是我的第一个想法,但接下来通知OP,希望在现有图纸上也创建该层结构。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 08:28:21 | 显示全部楼层
老式的脚本也可以在记事本中打开添加层更改等
 
  1. -la
  2. n layer1 C layer1 1
  3. n layer2 C layer2 2
  4. n layer3 C layer3 3
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:31:41 | 显示全部楼层
看看这里和这里。
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:38:12 | 显示全部楼层
谢谢李!我尝试将此代码发布到acaddoc中,但什么都没有发生。请告知。
 
(定义图层3(名称颜色线型线宽图)
(if(null(tblsearch“LAYER”名称))
(恩特梅克)
(列表
'(0。“层”)
“(100.“AcDbSymbolTableRecord”)
“(100.“AcDbLayerTableRecord”)
'(70 . 0)
(一个名字)
(cons 6线型)
(cons 4颜色)
(cons 290地块)
(cons 15线宽)
)
)
)
)
 
(_layer3“2”7“Continuous”15 1)
(_layer3“2L”7“Continuous”15 1)
(_layer3“3”1“Hidden”15 1)
(_layer3“4”2“Center”15 1)
(_layer3“SK1”4“Continuous”15 1)
(_layer3“SK2”7“Continuous”15 1)
(_layer3“SK3”1“Hidden”15 1)
(_layer3“SK4”2“Center”15 1)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:45:45 | 显示全部楼层
首先,张贴代码时请使用代码标签。
 
您没有正确复制代码,DXF组码错误。。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 22:01 , Processed in 0.419154 second(s), 70 queries .

© 2020-2025 乐筑天下

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