乐筑天下

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

[编程交流] alfa numaric t的增值

[复制链接]

2

主题

14

帖子

12

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 20:17:03 | 显示全部楼层 |阅读模式
你好
 
任何机构可以帮助增加价值阿尔法numaric文本的多个文本
 
前任:
1*M16*50
5*M16*65
2*M16*80
3*M16*85
1*M20*55
4*M20*70
2*M20*85
2*M20*90
 
结果应该是
 
1*M16*45
5*M16*60
2*M16*75
3*M16*80
1*M20*50
4*M20*65
2*M20*80
2*M20*85
 
我想在数字文本的右侧或左侧加/减常量值。
 
谢谢
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-5 20:33:28 | 显示全部楼层
假设您的字符串格式一致,这似乎可行:
 
  1. (vl-load-com)
  2. (defun _AddToRightSide (increment yourList / BB:Parser newList)
  3. (defun BB:Parser (char string / i segments segment)
  4.    ;; Example: (BB:Parser "-" "dd-mm-yyyy")
  5.    ;; Returns: ("dd" "mm" "yyyy")
  6.    (while (setq i (vl-string-search char string))
  7.      (setq segments (cons (setq segment (substr string 1 i)) segments))
  8.      (setq string (substr string (+ 2 i)))
  9.    )
  10.    (reverse (cons string segments))
  11. )
  12. (foreach item yourList
  13.    (setq newList
  14.           (cons
  15.             (vl-string-right-trim
  16.               "*"
  17.               (apply
  18.                 'strcat
  19.                 (mapcar
  20.                   (function (lambda (x) (strcat x "*")))
  21.                   (reverse
  22.                     (cons
  23.                       (itoa
  24.                         (+ (atoi
  25.                              (car
  26.                                (setq segments (reverse (BB:Parser "*" item)))
  27.                              )
  28.                            )
  29.                            increment
  30.                         )
  31.                       )
  32.                       (cdr segments)
  33.                     )
  34.                   )
  35.                 )
  36.               )
  37.             )
  38.             newList
  39.           )
  40.    )
  41. )
  42. (reverse newList)
  43. )

 
 
 
... 例子:
 
  1. _$ (_AddToRightSide
  2.         -10
  3.         (list
  4.           "[color="red"]100[/color]*M16*50" "1*M16*50" "1*M[color="red"]1600[/color]*50" "5*M16*65" "2*M16*80" "3*M16*85" "1*M20*55"
  5.           "4*M20*70" "2*M20*85" "2*M20*90" "2*M20*[color="red"]900[/color]" "2*M20*[color="red"]1000[/color]"
  6.          )
  7. )
  8. ("[color="red"]100[/color]*M16*40" "1*M16*40" "1*M[color="red"]1600[/color]*40" "5*M16*55" "2*M16*70" "3*M16*75" "1*M20*45" "4*M20*60" "2*M20*75" "2*M20*80" "2*M20*[color="red"]890[/color]" "2*M20*[color="red"]990[/color]")
  9. _$

 
 
 
干杯
回复

使用道具 举报

2

主题

14

帖子

12

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 20:41:32 | 显示全部楼层
我不熟悉这种lisp编码。你能帮帮我吗。
 
我的问候
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-5 20:51:01 | 显示全部楼层
 
别担心;我们都从某个地方开始。
 
复制我之前文章中第一个代码块中的代码,将其粘贴到空记事本文件中,并将其保存为。LSP文件扩展名(而不是.TXT)。然后可以手动拖动新创建的。将LSP文件传递到AutoCAD的会话中,通过传递适当的参数进行测试。
 
要在此后可用,您需要加载该文件。
 
也就是说,发布的代码是一个子函数(不是命令),那么您如何获得字母数字字符串列表?这些值是否代表您当前单独选择和修改的文本实体的值?需要更多信息。
 
干杯
回复

使用道具 举报

2

主题

14

帖子

12

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 20:59:54 | 显示全部楼层
是的,它们只是普通文本,不是多行文字。
 
我有很多这样的例子。我不能在子函数中全部键入。如果我可以输入,我可以替换为批量查找和替换。
 
这就是为什么我需要这种Lisp程序。
用这个lisp如果可以添加拷贝和文字做的话,这个功能是非常有帮助的。
 
我有下面的Lisp程序,但它只能改变开始的数字。但我希望结束数字也可以选择字符串或结束数字+/-值
 
谢谢
回复

使用道具 举报

2

主题

14

帖子

12

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 21:01:04 | 显示全部楼层
亲爱的Black box,
 
你能帮帮我吗。编辑我以前的lisp后缀编号。
 
我的问候
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 21:13:16 | 显示全部楼层
请阅读代码发布指南并编辑您的帖子,将代码包含在代码标签中。
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 21:21:04 | 显示全部楼层
对于同一个问题,停止挖掘和添加旧的线程。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 09:22 , Processed in 0.865638 second(s), 68 queries .

© 2020-2025 乐筑天下

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