乐筑天下

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

[编程交流] 仅编辑mu的第一位数字

[复制链接]

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 20:22:20 | 显示全部楼层 |阅读模式
你好
 
首先,我要感谢在座的伟人分享他们的知识经验和宝贵的时间。我在这里学到了很多东西,这是一个很棒的论坛。
 
我的问题是我在一个图形中插入了多个块,块包含一个属性,任务是显示我所做的地面标高(请参见附图),但现在我需要将所有标高更新1米,例如,如果ts为6.250,我需要将其设置为7.250,则所有块属性中只有第一个数字会更改。
如果有人能为我提供一个lisp例程,或者我必须逐个更新所有900个插入的块,我将不胜感激。
 
谢谢
 
212225a7y1gju3wgdw5m6w.jpg
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 20:30:40 | 显示全部楼层
请帮忙
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:40:46 | 显示全部楼层
这是我们用来提高或降低道路标高的文本,它是说街区的起点。我看看是否有时间重写。
 
  1. ;Adds a fixed amount to a number
  2. (PRINC "TO USE JUST TYPE A2LM")
  3. (DEFUN c:A2LM ()
  4. (setvar "cmdecho" 1)
  5. (setq olddimzin (getvar "Dimzin"))
  6. (setvar "dimzin" 0)
  7. (setq v2 (getreal "\nEnter ht adjustment "))
  8. (setq ss (ssget (list (cons 0 "Text"))))
  9. (setq len (sslength ss))
  10. (setq x 0)
  11. (repeat len
  12. (setq en1 (ssname ss x))
  13.        (setq el1 (entget en1))
  14.        (setq v1 (atof (cdr (assoc 1 el1))))
  15.        (setq a (+ v1 v2))
  16.        (setq b (rtos a 2 3))
  17.        (setq el (subst (cons 1 b) (assoc 1 el1) el1))
  18.        (entmod el)
  19. (setq x (+ x 1))
  20.      
  21. ) ; repeat
  22. (setq el nil)
  23. (setq en nil)
  24. (setq a nil)
  25. (setq v1 nil)
  26. (setq ss nil)
  27. (setvar "cmdecho" 1)
  28. (setvar "dimzin" olddimzin)
  29. (princ)
  30. ); END DEFUN
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:47:06 | 显示全部楼层
试试这个,你需要做两个更改块名和标记名。注意,由于我没有您的图纸,因此未对其进行测试。
 
  1. ;Adds a fixed amount to a number
  2. (vl-load-com)
  3. (PRINC "TO USE JUST TYPE A2LB")
  4. (DEFUN c:A2LB ( / SS v2 val lev)
  5. (setq tag1 "POINT") ;attribute tag name
  6. (setq v2 (getreal "\nEnter ht adjustment "))
  7. (setq ss (ssget (list (cons 0 "Insert"))))
  8. (setq len (sslength ss))
  9. (setq x 0)
  10. (repeat len
  11. (setq lev (vlax-ename->vla-object (ssname ss x)))
  12. (foreach att (vlax-invoke lev 'getattributes)
  13.   (if (= tag1 (strcase (vla-get-tagstring att)))
  14.   (progn
  15.   (setq val (atof (vla-get-textstring att)))
  16.   (vla-put-textstring att (rtos (+ val v2) 2 3))
  17.   )
  18.   )
  19. ) ;foreach
  20. (setq x (+ x 1))
  21. ) ; repeat
  22. (princ)
  23. ); END DEFUN
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 20:51:58 | 显示全部楼层
早上好BIGAL
 
第一个用于多文本编辑的lisp工作正常,因为第二个lisp Autocad无法识别命令A2LM。
 
谢谢。。。。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:57:07 | 显示全部楼层
我的第二个帖子现在有一个2磅的附加到关卡。您必须编辑红色值!
 
还固定了整数v的实itof
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 21:06:36 | 显示全部楼层
谢谢你的回复
 
它仍显示为未知命令
 
我附上了一个样本图纸,标签名称是点,块名称是水平标签
 
 
图纸3.dwg
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 21:13:45 | 显示全部楼层
我已经修改了上面的代码,但需要稍作修改,以便它能够识别您正在使用的动态块。我确实有几个拼写错误。但它对我来说效果很好,如果你选错了,它会尝试改变任何一个方块。
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 21:18:57 | 显示全部楼层
效果很好。。。非常感谢你
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 21:27:20 | 显示全部楼层
不用担心,这很容易,因为已经有代码可以破解了。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 09:11 , Processed in 1.035285 second(s), 75 queries .

© 2020-2025 乐筑天下

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