乐筑天下

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

[编程交流] 从桩号加减

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 05:00:28 | 显示全部楼层 |阅读模式
这有点毛茸茸的-我有大约4000个标签,标签上有管道沿线的站点和焊缝编号,根据提供的新数据,站点都会增加或减少。
 
以下是一些随机标签:
0+57 MLC-25
748+94 ATI-16
 
只有定位需要更改-因此,如果它们都增加6,则将为0+63 MLC-25或749+00 ATI-16。
 
有没有Lisp程序的语言可以做到这一点?假设我需要删除+,修改数字并将+放回。
 
谢谢你的帮助!
回复

使用道具 举报

27

主题

126

帖子

99

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-6 05:39:15 | 显示全部楼层
我附上了一个LISP程序,我用过。我没有写它,而最初作者的功劳在于代码本身。这应该适用于单行文本。如果您有属性或多行文字,则可能需要进行一些修改。
 
另外,欢迎来到CadTutor。
反恐精英。LSP
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 05:40:44 | 显示全部楼层
成功了!非常感谢,Ohnoto!!
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 06:00:58 | 显示全部楼层
我的2美分:
  1. (setq inc (getint "\Enter increment with + / decrement with - : "))
  2. (setq
  3. strRep (vl-string-left-trim "0123456789" oldLabel))
  4. (setq strFst
  5. (vl-string-trim strRep oldLabel))
  6. (setq strEnd (vl-string-left-trim
  7. "+0123456789" strRep))
  8. (setq sign
  9. (if (minusp inc) "-" "+"))
  10. (setq
  11. decs
  12. (if (= "-" sign)
  13. (- (atoi strRep) (abs inc) )
  14. (+ (atoi
  15. strRep) (abs inc) ) ))
  16. (setq newLabel
  17. (if (= (fix (/ decs 100)) 1)
  18. (strcat (itoa (+
  19. (atoi strFst) (fix (/ decs 100)))) sign "00" strEnd)
  20. (strcat strFst
  21. sign (itoa decs) strEnd)))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 18:49 , Processed in 0.603055 second(s), 60 queries .

© 2020-2025 乐筑天下

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