乐筑天下

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

[编程交流] 全局文本替换(REPSTRING

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:27:37 | 显示全部楼层
我甚至在帖子中加入了一个测试函数,向大家展示如何使用它
回复

使用道具 举报

36

主题

183

帖子

151

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-6 13:32:59 | 显示全部楼层
我一定错过了什么。所以我提供的LISP,你只需调用它,它要求替换字符串,然后用什么替换它。我不知道我在你身上哪里出了问题,但我不知道该怎么说。
 
P、 我没有编写REPSTRING LISP。这是我在论坛上发现的Lisp程序。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:34:32 | 显示全部楼层
如果你看整个LISP,有两个函数定义。一个是子函数,另一个是测试函数。
 
在test函数中,您可以看到我如何使用两个参数(“Lee”和“Mac”)调用rstring(子函数)。
 
您可以修改测试功能以满足您的需要,即包括提示等。
回复

使用道具 举报

36

主题

183

帖子

151

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-6 13:37:47 | 显示全部楼层
我懂了。。。让我试试。
回复

使用道具 举报

NBC

4

主题

182

帖子

178

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 13:41:40 | 显示全部楼层
要获得上面的代码,李为您创建的代码;只需更改底部“”标记内的文本。将“Lee”更改为任何您想要替换的文本,并将“Mac”更改为您想要的文本。
然后简单地加载lsp,并进行类型测试,它应该可以工作。不管怎么说,这对我来说是真的
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:44:19 | 显示全部楼层
请仔细阅读以下内容:
 
http://www.afralisp.net/lispa/lisp5.htm
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:46:37 | 显示全部楼层
下面是一些提示,只是为了消除混淆
 
  1. [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] rstring [b][color=RED]([/color][/b]old new [b][color=BLUE]/[/color][/b] ss sel[b][color=RED])[/color][/b]
  2. [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b]
  3. [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] old [b][color=RED]([/color][/b][b][color=BLUE]strcase[/color][/b] old[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  4. [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] ss
  5.        [b][color=RED]([/color][/b][b][color=BLUE]ssget[/color][/b] [b][color=#ff00ff]"_X"[/color][/b]
  6.          [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=#009900]-4[/color][/b] . [b][color=#ff00ff]"<OR"[/color][/b][b][color=RED])[/color][/b]
  7.              [b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#ff00ff]"*TEXT"[/color][/b][b][color=RED])[/color][/b]
  8.                [b][color=RED]([/color][/b][b][color=#009900]-4[/color][/b] . [b][color=#ff00ff]"<AND"[/color][/b][b][color=RED])[/color][/b]
  9.                  [b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#ff00ff]"INSERT"[/color][/b][b][color=RED])[/color][/b]
  10.                  [b][color=RED]([/color][/b][b][color=#009900]66[/color][/b] . [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b]
  11.                [b][color=RED]([/color][/b][b][color=#009900]-4[/color][/b] . [b][color=#ff00ff]"AND>"[/color][/b][b][color=RED])[/color][/b]
  12.            [b][color=RED]([/color][/b][b][color=#009900]-4[/color][/b] . [b][color=#ff00ff]"OR>"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  13.    [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
  14.      [b][color=RED]([/color][/b][b][color=BLUE]vlax-for[/color][/b] Obj [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] sel
  15.                      [b][color=RED]([/color][/b][b][color=BLUE]vla-get-ActiveSelectionSet[/color][/b]
  16.                        [b][color=RED]([/color][/b][b][color=BLUE]vla-get-ActiveDocument[/color][/b]
  17.                          [b][color=RED]([/color][/b][b][color=BLUE]vlax-get-acad-object[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  18.        [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#ff00ff]"AcDbBlockReference"[/color][/b]
  19.                 [b][color=RED]([/color][/b][b][color=BLUE]vla-get-ObjectName[/color][/b] Obj[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  20.               [b][color=RED]([/color][/b][b][color=BLUE]foreach[/color][/b] att [b][color=RED]([/color][/b][b][color=BLUE]append[/color][/b]
  21.                              [b][color=RED]([/color][/b][b][color=BLUE]vlax-invoke[/color][/b] Obj [b][color=DARKRED]'[/color][/b]GetAttributes[b][color=RED])[/color][/b]
  22.                                [b][color=RED]([/color][/b][b][color=BLUE]vlax-invoke[/color][/b] Obj [b][color=DARKRED]'[/color][/b]GetConstantAttributes[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  23.                 [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] old [b][color=RED]([/color][/b][b][color=BLUE]strcase[/color][/b]
  24.                               [b][color=RED]([/color][/b][b][color=BLUE]vla-get-TextString[/color][/b] att[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  25.                   [b][color=RED]([/color][/b][b][color=BLUE]vla-put-TextString[/color][/b] att new[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  26.              [b][color=RED]([/color][/b][b][color=BLUE]t[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] old [b][color=RED]([/color][/b][b][color=BLUE]strcase[/color][/b]
  27.                               [b][color=RED]([/color][/b][b][color=BLUE]vla-get-TextString[/color][/b] Obj[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  28.                   [b][color=RED]([/color][/b][b][color=BLUE]vla-put-TextString[/color][/b] Obj new[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  29.      [b][color=RED]([/color][/b][b][color=BLUE]vla-delete[/color][/b] sel[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  30.    [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"\n** No Text or Attributed Blocks Found **"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  31. [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  32. [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:repstring [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] old new[b][color=RED])[/color][/b]
  33. [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] old [b][color=RED]([/color][/b][b][color=BLUE]getstring[/color][/b] [b][color=BLUE]t[/color][/b] [b][color=#ff00ff]"\nOld String: "[/color][/b][b][color=RED])[/color][/b]
  34.        new [b][color=RED]([/color][/b][b][color=BLUE]getstring[/color][/b] [b][color=BLUE]t[/color][/b] [b][color=#ff00ff]"\nNew String: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  35. [b][color=RED]([/color][/b]rstring old new[b][color=RED])[/color][/b]
  36. [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
回复

使用道具 举报

36

主题

183

帖子

151

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-6 13:49:04 | 显示全部楼层
啊哈。。。。我误解了你的意思。我想我试着像其他Lisp程序一样使用它。我现在明白了。谢谢你的详细解释。抱歉给你带来了困惑。
回复

使用道具 举报

36

主题

183

帖子

151

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-6 13:53:46 | 显示全部楼层
你继续让我惊讶,李。这很好用。我为我的无知道歉。我读了这条帖子,看看我是否失去了你,似乎我忽略了一个帖子。在LISP结束时,我能够从您的测试示例中找到它,我只是在一开始对它视而不见。谢谢你对我所有问题的快速回复。干杯:)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:55:16 | 显示全部楼层
没问题——正如我所说,关于AfraLISP的文章应该回答您需要了解的关于子功能/主功能等的所有问题。
 
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 02:57 , Processed in 0.855172 second(s), 70 queries .

© 2020-2025 乐筑天下

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