乐筑天下

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

[编程交流] Lisp从中去掉前缀

[复制链接]
YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-5 17:15:11 | 显示全部楼层 |阅读模式
当来自第三方软件时,我的块有一个前缀“SYMBOL_u”。
 
有没有人能给我一个开始,告诉我如何在任何具有该前缀的块实例上学习删除该前缀?
 
例如,这些块名
 
SYMBOL_PP
SYMBOL\u SMH
符号树
 
成为
 
PP页
SMH公司
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 17:25:26 | 显示全部楼层
你好
 
试试这个程序;
  1. (defun c:test ( / name new )
  2. ;; Tharwat - 06.Sep.2016        ;;
  3. (vlax-for blk (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
  4.        (and (= :vlax-false (vla-get-isxref blk))
  5.             (= :vlax-false (vla-get-islayout blk))
  6.             (wcmatch (setq name (vla-get-name blk)) "SYMBOL_*")
  7.             (not (tblsearch "BLOCK" (setq new (substr name )))
  8.             (vla-put-name blk new))
  9.   )
  10. (princ)
  11. )(vl-load-com)
  12.          
回复

使用道具 举报

10

主题

598

帖子

594

银币

初来乍到

Rank: 1

铜币
48
发表于 2022-7-5 17:36:46 | 显示全部楼层
或者你可以用艰难的方式。使用rename命令
旧名称“SYMBOL_*”
新名称“*”
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:42:58 | 显示全部楼层
我第二个史蒂文g的想法-重命名将作为命令行运行没有拨号非常快。
 
Tharwat不错的代码,唯一的问题是“substr name 8”这对于硬代码SYMBOL\u2是可以的,可能版本2要求前缀,我有一个来自YZ的PM,所以知道YZ将需要其他块名,如15个字符的前缀。也许可以使用列表。如果我能抽出时间,我将把你的代码Tharwat合并到一个更具电子化的多功能清理中,以适合第三方输出,如YZ的其他问题。一旦完成,将张贴在这里为其他人。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 17:55:03 | 显示全部楼层
BIGAL,请不要以任何理由修改我的代码,只需编写自己的代码。
回复

使用道具 举报

YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-5 18:02:19 | 显示全部楼层
 
 
嗨,塔瓦,这很有效!谢谢你抽出时间。我的同事和我在阅读LISP方面越来越好,所以我实际上可以跟着这一个。
回复

使用道具 举报

YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-5 18:12:34 | 显示全部楼层
 
是的,我实际上在做一个老式的。
 
问题是,如果文件中有不同的符号,则宏无法处理它。
 
由于-rename命令不能使用通配符,因此只有对话框可以使用通配符。
 
尽管如此,上周我还是决定写一个宏,一次完成每个标准符号。但那是因为我试图写一个lisp,但自己无法解决逻辑问题。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:21:32 | 显示全部楼层
 
非常欢迎你。
 
很乐意帮忙。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 07:58 , Processed in 0.545332 second(s), 68 queries .

© 2020-2025 乐筑天下

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