乐筑天下

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

[编程交流] 图纸集图纸编号

[复制链接]

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:33:17 | 显示全部楼层 |阅读模式
首先,我要说的是,我在excel VBA方面比在autoCAD VBA方面熟练得多。
 
我有大约200张图纸。一半的页码只是数字,另一半是末尾带D的数字。如果页码有一个破折号,我想在D前面加一个破折号。基本上,我需要做这个
 
1.
1D
2.
2D
3.
3D
 
看起来像这样
 
1.
1-D
2.
2-D
3.
三维
 
如果有帮助的话,我在excel中写了一些东西,但我不知道如何为每个图形指定图纸集甚至图纸编号属性。。。以下是我在excel中写的内容。它很简单,效果很好。
 
  1. Public Sub demolition()
  2. For Each cell In Range("E6:E13")
  3. If Right(cell.Text, 1) = "D" Then
  4. cell.Value = Left(cell.Text, Len(cell.Text) - 1)
  5. End If
  6. Next cell
  7. End Sub
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

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

铜币
310
发表于 2022-7-5 18:43:05 | 显示全部楼层
它是文本还是块属性?单个图纸?所有视口都是一个,但不同?
 
 
 
 
我不确定这是否有帮助,但。。。
  1. (setq lst '("1" "1D" "2" "3" "3D" "4"))
  2. (repeat (setq n (length lst))
  3. (and (wcmatch (strcase (nth (setq n (1- n)) lst)) "*D")
  4.    (setq lst
  5.      (subst (vl-string-subst "-D" "D" (nth n lst))
  6.        (nth n lst) lst
  7.      )
  8.    )
  9. )
  10. )
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:44:50 | 显示全部楼层
它既不是文本也不是块属性。它们都是具有不同视口的单个dwg。我基本上只需要更改sheetset中的sheet number属性
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

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

铜币
310
发表于 2022-7-5 18:51:57 | 显示全部楼层
选项卡名称?或图纸(dwg)名称?原谅我的无知,我已经80年没有处理床单了
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:53:46 | 显示全部楼层
每个图纸集都有子集(我认为您称之为选项卡)。子集中包含图纸。图纸集中的每个图纸有2个属性;图纸编号和图纸标题。我需要运行的代码影响图纸编号。
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

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

铜币
310
发表于 2022-7-5 19:02:49 | 显示全部楼层
仅适用于活动文档。
 
对于多个DWG,
  1. (vlax-for x (vla-get-Layouts (vla-get-activedocument (vlax-get-acad-object)))
  2. (and (setq n (strcase (vla-get-name x)))
  3.    (eq (substr n (setq nl (strlen n)) 1) "D")
  4.    (vla-put-name x (strcat (substr n 1 (1- nl)) "-D"))
  5. )
  6. )
  1. (vlax-for d (vla-get-documents (vlax-get-acad-object))
  2. (vlax-for x (vla-get-Layouts d)
  3.    (and (setq n (strcase (vla-get-name x)))
  4.       (eq (substr n (setq nl (strlen n)) 1) "D")
  5.      (vla-put-name x (strcat (substr n 1 (1- nl)) "-D"))
  6.    )
  7. )
  8. )
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 19:06:07 | 显示全部楼层
谢谢你的帮助。在我在我制作的测试图纸集上运行它之前,它如何选择它运行的图纸集?是当前处于活动状态的集合吗?
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

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

铜币
310
发表于 2022-7-5 19:10:26 | 显示全部楼层
查看gif。我希望这就是你想要的(祈祷吧)
193329by6sxjnuwpzennmj.jpg
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 19:13:22 | 显示全部楼层
我真的完全迷路了。我阅读了如何加载LSP文件。我将文本粘贴到记事本中,并用一个。LSP扩展。然后我将其加载到autocad中,并在提示符中键入名称。结果如下。
 
很抱歉Lisp还是新手http://imgur.com/QCeXiC2
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 19:21:49 | 显示全部楼层
Dan,虽然图纸集无法修改,或者换句话说AutoLISP根本无法访问图纸集,但图纸集与布局不同。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 13:40 , Processed in 0.533341 second(s), 74 queries .

© 2020-2025 乐筑天下

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