乐筑天下

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

[编程交流] 无法使用运行程序

[复制链接]

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 22:22:54 | 显示全部楼层 |阅读模式
你好
我在AutoCAD方面有很好的经验,但没有编程技能,我刚开始使用Acad VBA(对不起,我的英语也很基础)。
我从一些简单的程序开始,比如创建图形几何。。。
现在,我想知道如何构建代码来选择图形中的对象。我测试了这个程序(见下文)和许多其他程序,以了解逻辑;我每次都在同一行(红色)上出错。
我了解到,这条线用于为ssetObj对象赋予一个新维度。但是
问题是什么?有人能帮我吗?
谢谢
  1. [color=#303030][font=Tahoma]Private Sub CommandButton3_Click()[/font][/color]
  2. [color=#303030][font=Tahoma]Dim ssetobj As AcadSelectionSet[/font][/color]
  3. [color=#303030][font=Tahoma]'On Error Resume Next[/font][/color]
  4. [font=Tahoma][color=red]Set ssetobj = ThisDrawing.SelectionSets.Add("SS01")[/color][/font]
  5. [color=#303030][font=Tahoma]frmForm1.Hide[/font][/color]
  6. [color=#303030][font=Tahoma]ssetobj.SelectOnScreen[/font][/color]
  7. [color=#303030][font=Tahoma]ssetobj.Erase[/font][/color]
  8. [color=#303030][font=Tahoma]frmForm1.Show[/font][/color]
  9. [color=#303030][font=Tahoma]End Sub[/font][/color]
  10. [font=Tahoma][color=#303030]
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 22:41:09 | 显示全部楼层
快速回答
 
  1. to find blocks = INSERT
  2. FilterDXFCode(0) = 0
  3. FilterDXFVal(0) = "INSERT"
  4. Set SS = ThisDrawing.SelectionSets.Add("pit1sel")
  5. SS.Select acSelectionSetAll, , , FilterDXFCode, FilterDXFVal
  6. a bit more
  7. BLOCK_NAME = "SCHEDTEXT"
  8. For Cntr = 0 To SS.Count - 1
  9. If SS.Item(Cntr).Name = BLOCK_NAME Then
  10.   attribs = SS.Item(Cntr).GetAttributes
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-6 22:48:15 | 显示全部楼层
请阅读代码发布指南,并编辑代码以包含代码标签。
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 22:59:33 | 显示全部楼层
@SLW210,你是最棒的!
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 23:06:36 | 显示全部楼层
我发现,在运行第二次例程之前,必须删除选择集“SS01”。否则,程序将尝试重新创建相同的选择SS01。
谢谢Bigal
然后:
  1. [font=Tahoma]Private Sub CommandButton3_Click()[/font]
  2. [font=Tahoma][color=black]Dim ssetobj As AcadSelectionSet[/color][/font]
  3. [font=Tahoma][color=black]Set ssetobj = ThisDrawing.SelectionSets.Add("SS01")[/color][/font]
  4. [font=Tahoma][color=#303030]frmForm1.Hide[/color][/font]
  5. [font=Tahoma][color=#303030]ssetobj.SelectOnScreen[/color][/font]
  6. [font=Tahoma][color=#303030]ssetobj.Erase[/color][/font]
  7. [b][color=#303030][font=Tahoma]ssetobj.Delete[/font][/color][/b]
  8. [color=#303030][font=Tahoma]frmForm1.Show[/font][/color]
  9. [font=Tahoma][color=#303030]End Sub[/color][/font]
回复

使用道具 举报

2

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 23:19:47 | 显示全部楼层
您的代码可能是这样的
 
[font]
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 23:27:24 | 显示全部楼层
谢谢Rajparamasivam
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-28 23:41 , Processed in 2.025562 second(s), 77 queries .

© 2020-2025 乐筑天下

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