乐筑天下

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

[编程交流] 更新DWG中的所有块

[复制链接]

5

主题

22

帖子

17

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:29:35 | 显示全部楼层 |阅读模式
我想知道是否有人可以帮我修改这个Lisp程序,我发现或如果有人有一个可以帮助我。
 
我需要lisp更新/重新定义当前dwg中的所有块。附加的一个工作非常好,但它将是完美的,如果我可以定义一个支持路径,而不是选择它。
 
提前感谢您的帮助。
 
[code](defun BrowseForFolder(text Rootfolder/ret y)(setq y(vlax get or create object“shell.application”)(if(setq ret(vlax invoke y“BrowseForFolder”0 text 1 Rootfolder))(setq ret(vlax get(vlax get ret“Self”)“Path”))(vlax release object y)ret)(defun get\u table(table/tb tb\u ls)(setq tb(tblnext table t)tb\u ls nil)(而tb(cond(((=(strcase table)“STYLE”)(if(=(布尔1(cdr(assoc 70 tb))1)0);比特1 bedeutet Symboleintrag,keine Schrift!(setq tb_ls(append tb_ls(list(cdr(assoc 2 tb)Ю)))((=(strcase table)“BLOCK”)(if(/=(substr(cdr(assoc 2 tb))1)“*”)(setq tb_ls(list(cdr(assoc 2 tbЮЮ)))(t(setq tb_ls(append tb_ls(list(cdr(assoc 2 tbЮ)))))(setq tb(tblnext table))(setq tb_ls(vl排序tb\U ls'
回复

使用道具 举报

4

主题

68

帖子

69

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 12:46:55 | 显示全部楼层
支持路径在变量“bl_pfad”中定义了两次。
我所做的:只需注释掉调用shell并选择路径的部分代码,然后硬编码路径。
(查找:(setq bl_pfad“D:\\测试”);;;+++将目录路径放在这里“
 
你必须根据自己的需要调整路径。
 
这当然不是解决这个问题的最佳方法,但它确实有效:wink:
 
当做
沃尔夫冈
 
[code](defun BrowseForFolder(text Rootfolder/ret y)(setq y(vlax get or create object“shell.application”)(if(setq ret(vlax invoke y“BrowseForFolder”0 text 1 Rootfolder))(setq ret(vlax get(vlax get ret“Self”)“Path”))(vlax release object y)ret)(defun get\u table(table/tb tb\u ls)(setq tb(tblnext table t)tb\u ls nil)(而tb(cond(((=(strcase table)“STYLE”)(if(=(布尔1(cdr(assoc 70 tb))1)0);比特1 bedeutet Symboleintrag,keine Schrift!(setq tb_ls(append tb_ls(list(cdr(assoc 2 tb)Ю)))((=(strcase table)“BLOCK”)(if(/=(substr(cdr(assoc 2 tb))1)“*”)(setq tb_ls(list(cdr(assoc 2 tbЮЮ)))(t(setq tb_ls(append tb_ls(list(cdr(assoc 2 tbЮ)))))(setq tb(tblnext table))(setq tb_ls(vl排序tb\U ls'
回复

使用道具 举报

29

主题

196

帖子

168

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 13:02:45 | 显示全部楼层
 
我现在就去看看。。可能需要。。。
回复

使用道具 举报

29

主题

196

帖子

168

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 13:16:51 | 显示全部楼层
 
是的,它是有效的。。。
但我认为也可以使用附加的lisp(Blockimport.lsp)将该目录中的所有块插入到新图形中,然后将图形中的所有块复制粘贴到新图形中,这样autocad将忽略从旧图形复制的以前版本,并使用块导入将已插入的新版本保留在新图形中。。。
 
也许有两种方法可以做到这一点。。。这一次似乎需要更多的时间。。。但出于某种原因,我更喜欢。。
BI。lsp
回复

使用道具 举报

4

主题

68

帖子

69

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 13:29:51 | 显示全部楼层
 
嗨gilsoto13,
 
CAB的代码始终是学习lisp的好建议。
这是(像往常一样)一个注释良好的代码,您可以逐行查看发生了什么。
“BrowseForFolder”也有很好的评论,但用的是德语。
 
这里有很多Lisp程序的问题。
 
对我来说,理解lisp是如何工作的很重要,看看它做了什么。
这使我有机会了解更多关于lisp的信息,修改或组合它们,并构建其他lisp,帮助我进行日常cad。
 
所以,如果你喜欢一个特殊的lisp,如果它完全符合你的需要,那么很高兴你找到了它。
 
当做
沃尔夫冈
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 06:23 , Processed in 0.623749 second(s), 62 queries .

© 2020-2025 乐筑天下

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