乐筑天下

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

[编程交流] 如何为blockr编写脚本

[复制链接]

3

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 10:56:43 | 显示全部楼层 |阅读模式
大家好,
 
我是autocad脚本新手。我想将旧标题栏替换为新标题栏,并保留旧标题栏的所有属性。
 
你们能帮我写剧本来改变标题栏吗。
 
在我将新标题栏插入图纸后,我卡住了
 
这是代码
 
-图层
n
0
s
0
-插入
K: \标题栏\标题栏-D-1。图纸
900,0
1.
1.
0
 
我下一步该怎么办?请帮忙
回复

使用道具 举报

0

主题

44

帖子

44

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 11:04:47 | 显示全部楼层
你好
是否添加空行?
再见
帕斯卡
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

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

铜币
238
发表于 2022-7-6 11:11:07 | 显示全部楼层
就是这样,从一个棘手的问题开始,因为障碍可能是一种痛苦。
 
首先,一般来说,处理属性最明显的方法是在脚本中提供所有属性值。我更喜欢通过设置ATTREQ=0来接受所有默认值。
 
现在对你来说。标题栏的更改是否只是图形化的,属性标记或位置没有更改?如果是这样的话,你应该能够通过……实现你的改变。。。。
  1. -insert
  2. titleblock-d=k:\titleblock\titleblock-D-1.dwg

 
虽然我还没试过。
 
或者,我将现有块重命名为新块名,然后执行以下操作
  1. -insert
  2. titleblock-d-1=

 
你需要接受“重新定义?”在什么地方重新定义现有块,然后避免插入新定义。有一个简单的逃脱方法(我知道,alant几周前发布了它),但我不记得它是什么,所以我总是完成插入,然后删除L,只留下一个块。
 
如果属性已移动,则需要同步新定义,以使属性处于正确位置。
 
但是,如果您添加了属性或它们已被重命名,我建议不要使用脚本。
回复

使用道具 举报

3

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 11:18:33 | 显示全部楼层
我试过了,但仍然不知道如何将所有属性从旧标题栏复制到新标题栏。我尝试了这段代码,我能够将新标题栏插入模型空间的空白区域。
 
_-插入NEWTITLEBLOCK-D-1=K:\TITLEBLOCK\NEWTITLEBLOCK-D-1
900,0
1.
1.
0
_-块替换??????
 
我坚持执行这个blockreplace命令。为了让我的脚本复制旧块的属性并将其放入新块,我接下来应该做什么。谢谢你的帮助。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:21:41 | 显示全部楼层
这可能有助于您编写脚本:
 
http://www.cadtutor.net/forum/showthread.php?t=48570
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

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

铜币
238
发表于 2022-7-6 11:29:57 | 显示全部楼层
我想说的是,用一个简单的脚本是不容易做到这一点的。 
我没有试过李的代码,但他的其他代码很好,所以可能对你有用。
回复

使用道具 举报

3

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 11:36:38 | 显示全部楼层
 
 
嗨,李,
 
谢谢你的链接。运行脚本非常困难。我看过你的很多帖子,我知道你是LSP项目的专家。我对autocad及其编程非常陌生。如果你能帮我,我将不胜感激。
 
是否需要编写lsp程序来交换标题栏并保留旧的标题栏属性?并将lsp程序作为批处理文件运行,因为我有100多个图形需要更新标题栏。
 
STi
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

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

铜币
238
发表于 2022-7-6 11:43:15 | 显示全部楼层
如果您的所有属性在新块中的标记名与旧块中的标记名相同,那么正如我试图在上面解释的那样简单,我相信Lee的代码也会做得一样好。但是,如果您想从旧属性中获取值,并将其放入具有不同名称属性的新块中,那么(对我来说)这是非常困难的。你到底想做什么?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:49:56 | 显示全部楼层
好的,请记住,我链接到的程序只是为了简化脚本的运行,也就是说,您只需编写第一行,其余的由我的程序来完成。
 
就脚本本身而言,如果我记得,如果块与您希望替换的块具有相同的名称,则可以使用vla InsertBlock(可能还有attsync),并且所有属性值都将保持不变。
 
我目前没有CAD的访问权限,但我会在有时间的时候发布一个示例。
 
我想我可能已经在这里发布了一个示例,请参见:
 
http://www.cadtutor.net/forum/showpost.php?p=320205&postcount=18
 
在单个图形上尝试上述操作-(不使用脚本)如果它适用于您,我可以修改它以在脚本中使用。
 
回复

使用道具 举报

3

主题

8

帖子

5

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 11:52:46 | 显示全部楼层
谢谢李,我会试试的
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 12:16 , Processed in 1.034032 second(s), 72 queries .

© 2020-2025 乐筑天下

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