乐筑天下

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

[编程交流] 从维度中提取文本,

[复制链接]

25

主题

106

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
121
发表于 2022-7-5 20:11:10 | 显示全部楼层 |阅读模式
在随附的文件中,您将看到一个显示箍筋放置的平面图,因此我希望:
提取“x”变量之前的所有数字,并将其总和!!!
在这种情况下,我们应该获得1501。
马镫。图纸
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 20:20:32 | 显示全部楼层
这很奇怪,我只得到1437个总数,在“x”字符串之前的数字。i、 e“15x100=1500”?
回复

使用道具 举报

25

主题

106

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
121
发表于 2022-7-5 20:25:26 | 显示全部楼层
1501我手动再做一次,结果一样;您在“x”字符串之前说了正确的数字,例如“15x100=1500”;“5x90=450”
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 20:29:04 | 显示全部楼层
我明白了,显然有多行文字字符格式,这就是为什么它丢失了大约6个值,总和为64
 
会一直是这样吗?有些已经格式化,有些没有格式化?
 
HYG[LM:非格式化
 
  1. (defun c:summd (/ LM:UnFormat Total ss val)
  2. (defun LM:UnFormat (str mtx / _Replace regex)
  3.    (vl-load-com)
  4.    ;; © Lee Mac 2010
  5.    (defun _Replace (new old str)
  6.      (vlax-put-property regex 'pattern old)
  7.      (vlax-invoke regex 'replace str new)
  8.    )
  9.    (setq regex (vlax-get-or-create-object "VBScript.RegExp"))
  10.    (mapcar
  11.      (function
  12. (lambda (x) (vlax-put-property regex (car x) (cdr x)))
  13.      )
  14.      (list (cons 'global actrue)
  15.     (cons 'ignorecase acfalse)
  16.     (cons 'multiline actrue)
  17.      )
  18.    )
  19.    (mapcar
  20.      (function
  21. (lambda (x) (setq str (_Replace (car x) (cdr x) str)))
  22.      )
  23.      '(
  24. ("Ð" . "\\\\\\\")
  25. (" " . "\\\\P|\\n|\\t")
  26. ("$1"
  27. .
  28. "\\\\(\\\\[ACcFfHLlOopQTW])|\\\\[ACcFfHLlOopQTW][^\\\\;]*;|\\\\[ACcFfHLlOopQTW]"
  29. )
  30. ("$1$2/$3" . "([^\\\\])\\\\S([^;]*)[/#\\^]([^;]*);")
  31. ("$1$2" . "\\\\(\\\\S)|[\\\\](})|}")
  32. ("$1" . "[\\\\]({)|{")
  33.       )
  34.    )
  35.    (setq str
  36.    (if mtx
  37.      (_Replace
  38.        "\\\"
  39.        "Ð"
  40.        (_Replace "\\$1$2$3" "(\\\\[ACcFfHLlOoPpQSTW])|({)|(})" str)
  41.      )
  42.      (_Replace "\" "Ð" str)
  43.    )
  44.    )
  45.    (vlax-release-object regex)
  46.    str
  47. )
  48. (setq        aDoc  (vla-get-ActiveDocument (vlax-get-acad-object))
  49. Total 0
  50. )
  51. (if (ssget '((0 . "*DIMENSION")
  52.        (-4 . "<OR")
  53.        (1 . "*?*")
  54.        (-3 ("ACAD"))
  55.        (-4 . "OR>")
  56.       )
  57.      )
  58.    (progn
  59.      (vlax-for        e (setq ss (vla-get-ActiveSelectionSet aDoc))
  60. (if
  61.   (vl-string-position
  62.     88
  63.     (strcase (setq val (LM:UNFORMAT (vla-get-textoverride e) t))
  64.     )
  65.   )
  66.    (setq total (+ (atoi val) total))
  67. )
  68.      )
  69.      (vla-delete ss)
  70.      (alert (itoa Total))
  71.    )
  72. )
  73. )
回复

使用道具 举报

25

主题

106

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
121
发表于 2022-7-5 20:33:57 | 显示全部楼层
如果它是一个通用的lisp,适用于所有类型的维度(格式化的、未格式化的),那么它会更好
但是关于你附加的Lisp程序,不起作用。
???
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 20:36:55 | 显示全部楼层
在我这边有效。
回复

使用道具 举报

25

主题

106

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
121
发表于 2022-7-5 20:42:05 | 显示全部楼层
我不知道我试了好几次allready It show me”命令:(LOAD“C:/Users/S\u C/Desktop/text find-коПиl.lsp”)C:SUMMD
命令:SUMMD
选择对象:指定对角点:108
选择对象:;错误:Ощибка
命令:“
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 20:47:36 | 显示全部楼层
等等,我会去掉代码,这可能是RegExp的语言问题。
顺便问一下:这是什么意思?Ошибка
 
更新:与RegExp无关,显然它只是“unicode”编码的一种情况
 
LM的荣誉:非格式化函数
回复

使用道具 举报

25

主题

106

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
121
发表于 2022-7-5 20:54:56 | 显示全部楼层
你可以附加lisp文件,当我的lisp文件中的代码复制它告诉我一些关于unicode文件的错误,对我来说是第一次出现这样的东西!!!
回复

使用道具 举报

25

主题

106

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
121
发表于 2022-7-5 21:00:22 | 显示全部楼层
Обиббб平均误差!!!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 09:15 , Processed in 0.927277 second(s), 72 queries .

© 2020-2025 乐筑天下

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