乐筑天下

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

[综合讨论] 在AutoC中合并多个层

[复制链接]

1

主题

10

帖子

9

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 23:29:35 | 显示全部楼层 |阅读模式
大家好,
 
我需要一点帮助。
我有一些包含各种图层的图纸,这些图层是用一种旧的方式命名的。
我需要将这些旧层合并到新层中。所有这些都与旧层名称有关,需要符合BS1192层命名约定。
 
 
以下是我需要合并的同一个文件中的一些示例:
旧层1>新层1
旧层2>新层2
旧层3和4>新层3
旧的第5层(保持原样,不需要合并)。
 
我可以使用LAYMRG命令来实现这一点(相当繁琐),但我在一个图形中有大约30多个实例要做,我有大约100个图形要做。
 
理想情况下,我希望创建一个参考表(目前在Excel中),其中包含哪些旧层与哪些新层合并,然后使用script命令在图形文件中调用该表(使用脚本),然后选择文件。我很乐意每次打开每个绘图并运行脚本,而不是在多个文件上批量运行脚本(似乎风险更大)。
 
有谁能帮我编写一个脚本来实现这一点,因为我不熟悉scipt语法(我需要学习)。
 
我确实找到了一个旧脚本(可能是2008年,但它不会运行,因为我认为旧的MergeLayers命令在2015LT中已经失效。我试图替换LAYMRG命令,但没有成功。
 
任何帮助都将不胜感激,因为我是一个脚本noob
 
干杯
格林
回复

使用道具 举报

7

主题

708

帖子

701

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 23:35:26 | 显示全部楼层
如果有,可以使用层转换器。设置后,可以保存转换文件并将其应用于其他图形。
回复

使用道具 举报

1

主题

10

帖子

9

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 23:38:55 | 显示全部楼层
谢谢RobDraw。
从外观上看,LT没有图层转换器-仅适用于AutoCad 2015,而不是LT版本。https://knowledge.autodesk.com/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/AutoCAD-Core/files/GUID-597F7140-6BB9-444C-8F14-5E5655556B69-htm.html
 
作为检查,我尝试了它,但LAYTRANS命令不起作用:/
 
干杯先生,
格林
回复

使用道具 举报

7

主题

708

帖子

701

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 23:39:19 | 显示全部楼层
没有翻译,那太糟糕了。编写LAYMRG脚本应该相当容易。我从来没有写过脚本,但它是基于命令行的,所以如果您使用命令行版本来完成这个过程,您应该能够理解它。使用“名称”选项并手动输入图层名称。这将是剧本的基础。复制和粘贴,做一点格式化,你应该很好去。
回复

使用道具 举报

1

主题

10

帖子

9

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 23:44:47 | 显示全部楼层
实际上,我可以使用命令行复制/粘贴我需要的东西。例如:
 
有点像这样。。。
LAYMRG公司
N
OLDLayer1
OLDLayer2
OLDLayer3
N
新建层1
 
 
我遇到的问题是,只要需要选择第一个层名称,就会弹出一个对话框,我不确定如何在命令行中使用按键来取消该框,因为它已经将其粘贴到命令行中了。
 
如果我可以使用SCRIPT命令基本上运行相同的东西,在那里我可以使用击键,这将是完美的。。。但我只是对脚本语法知之甚少。
回复

使用道具 举报

7

主题

708

帖子

701

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 23:47:24 | 显示全部楼层
正如我所说,有必要设置一些格式。我得看看怎么做。在我有机会调查之前,你可能会自己想出来。
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 23:50:00 | 显示全部楼层
如果你正在写一个脚本,你不需要使用命令行版本的图层合并,这将是-LAYMRG,从而避免了对话框。
回复

使用道具 举报

7

主题

708

帖子

701

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 23:54:42 | 显示全部楼层
这是正确的。我没有意识到这个错误,因为在MEP上使用没有破折号的命令时没有对话框。
 
你能发布对话框的屏幕截图吗?我只是好奇,这对剧本没有什么影响。
回复

使用道具 举报

1

主题

10

帖子

9

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 23:57:29 | 显示全部楼层
感谢RobDraw和评论,非常感谢您的回复。
 
进步在于,只要语法正确,我实际上可以使用LAYMRG或-LAYMRG。在脚本文件(.scr)中执行此操作(回车/空行非常重要),并从命令行中的脚本调用它:
-LAYMRG公司
n
OLDLayer1
 
n
新建层
y
 
 
-LAYMRG公司
n
OLDLayer2
 
n
新建层
y
 
 
-LAYMRG公司
n
OLDLayer3
 
n
新建层
y
 
 
-LAYMRG公司
n
OLDLayer4
 
n
新建层
y
 
唯一的问题是,如果任何旧层不存在,它会在该点中断脚本序列:/
回复

使用道具 举报

7

主题

708

帖子

701

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-7 00:00:42 | 显示全部楼层
可以在脚本的开头创建层。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 04:51 , Processed in 0.503955 second(s), 72 queries .

© 2020-2025 乐筑天下

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