乐筑天下

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

[编程交流] t计算备选方案

[复制链接]

2

主题

389

帖子

387

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 13:44:26 | 显示全部楼层
哇,解释得很好,阿泰克!我认为,除非他们也想“修复”它,或者重写它,尽管这可能仍然不会花费他们很长时间,否则不需要一位大师,只需要几分钟就可以补充这一点。这将花费我更长的时间,但无论如何我现在都不能马上去做。
回复

使用道具 举报

2

主题

389

帖子

387

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 13:48:43 | 显示全部楼层
好的,这是主函数的修订版。我没有更改提取函数,因此这里不再重复。试试这个,看看效果如何。
 
  1. (defun C:INCNUM ( / ss off e d s s1 i fltr  StartNum EndNum CurNum)
  2.     (setq fltr '((0 . "TEXT") (1 . "*#*")))
  3. (cond
  4.    ( (not (setq ss (ssget fltr)))                ; 4
  5.      (prompt "\nNo valid text found to change.")
  6.    )
  7.    (T(initget 3)  (setq off (getint "\nIncrement: "))        ; 4
  8.      (initget 7)   (setq StartNum (getint "\nStarting number: "))
  9.      (initget 7)   (setq EndNum (getint "\nEnding number: "))
  10.      (setvar "cmdecho" 0)   (command ".undo" "g")
  11.      (repeat (setq i (sslength ss))
  12.        (setq e (ssname ss (setq i (1- i)))    ; 3
  13.                d (entget e)
  14.                s (cdr (assoc 1 d))
  15.        )                                      ; 3
  16.        (if
  17.           (and
  18.              (setq s (extract s))              ; 3
  19.              (setq CurNum  (atoi (cadr S)))
  20.              (<= StartNum CurNum)  
  21.              (>= EndNum CurNum)  
  22.            )
  23.            (entmod (list
  24.              (cons -1 e)
  25.              (cons 1 (strcat
  26.                 (car s)
  27.                 (itoa (+ off CurNum))          ; 4
  28.                 (caddr s)
  29.              )                )
  30.            )                 )
  31.         )
  32.      )             ; 7        
  33.      (command ".undo" "e")
  34.    )
  35. )                  ; 3
  36. (princ)
  37. )
回复

使用道具 举报

14

主题

68

帖子

54

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-5 13:53:03 | 显示全部楼层
 
你是个明星!
只要一个小小的请求,如果你不介意的话。是否可以去掉开头的“选择对象:”提示?我认为这有点多余。请使其自动选择图形中的所有文本,并仅提示输入3个值:增量、起始数和结束数。除此之外。。。太棒了!干杯
回复

使用道具 举报

2

主题

389

帖子

387

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 13:54:29 | 显示全部楼层
很高兴它起作用了。 
尝试替换此行
  1.    ( (not (setq ss (ssget fltr)))                ; 4
  1.    ( (not (setq ss (ssget "X" fltr)))                ; 4
回复

使用道具 举报

14

主题

68

帖子

54

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-5 13:58:50 | 显示全部楼层
 
感谢您的快速回复。太完美了!
 
实际上,我尝试了一下,并提出了下面的解决方案。请不要笑。我简直不敢相信,这只是在那一行加上“X”的问题。大声笑!非常感谢你的帮助。非常感谢。同样的事情也发生在你的cad大师李·麦克身上,更不用说原作者(Tanzillo?)对于这个非常有用的代码。谢谢你们!
 
  1. (setq fltr [i][u](ssget "X"[/u] [/i]'((0 . "TEXT")(1 . "*#*"))))
  2. (cond
  3.    ( (not (setq ss [u]fltr[/u]))         ; 4
  4.      (prompt "\nNo valid text found to change.")
  5.    )
回复

使用道具 举报

2

主题

18

帖子

16

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 14:00:18 | 显示全部楼层
不可更改。非常感谢您提供了一个很棒的小工具。我唯一的问题是它失去了我所需要的格式。
 
例如,假设我们有标签“P001”、“P002”、“P003”、“P004”和“P005”。然后运行工具。。。
 
>增量:2
>起始编号:1
>结束编号:5
 
返回“P3”、“P4”、“P5”、“P6”和“P7”。
 
它丢失了“00”键盘!你知道保持焊盘/精度的方法吗?
回复

使用道具 举报

2

主题

389

帖子

387

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 14:05:24 | 显示全部楼层
不客气。是的,这是一个非常简单的修复,但我经常发现,只给出新行比解释在一行中添加或替换什么更容易。这样通常就不那么令人困惑了。我尽量不嘲笑或取笑别人的尝试,至少不要当面嘲笑你。我只是在你背后和其他大师一起做。那当然是个笑话。顺便说一句,我并不是真正的大师之一,尽管在那一天,我并没有那么糟糕。我现在才刚刚开始,在很多方面都落后了。
回复

使用道具 举报

14

主题

68

帖子

54

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-5 14:06:36 | 显示全部楼层
你好,neophoible!
我希望你很好。很抱歉再次打扰你。我只是想知道你是否还能帮我做这件事。我最近遇到了这个问题,当时我必须重新编号由连字符分隔的数字组合。例如A1-A5。上述代码只能更改/更新第一个代码(A1)。有没有可能使它适用于单数和数的组合?非常感谢。
回复

使用道具 举报

2

主题

389

帖子

387

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 14:10:18 | 显示全部楼层
嗨,阿泰克。这应该是可行的,但需要更多的参与。我建议你向任何想帮忙的人开放这个网站。总的来说,这是一个很好的指导原则,更像是一条规则。最近对我来说,事情变得越来越激烈——这是一件好事,但这意味着我甚至没有那么多时间来参观论坛。
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 14:13:37 | 显示全部楼层
大家好,
 
我对在绘图中使用LISP例程是新手。有人能帮我理解这个惯例吗?如何执行和使用它?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-15 03:32 , Processed in 1.811712 second(s), 70 queries .

© 2020-2025 乐筑天下

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