乐筑天下

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

[编程交流] [VBA AUTOCAD]创建循环

[复制链接]

4

主题

8

帖子

4

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 22:46:15 | 显示全部楼层 |阅读模式
我从这样的情况开始
234616agdm4axqmjfmogdz.jpg
 
我必须为每次迭代创建一个循环,允许我选择一个组的段(在图片中,我有5个组,用红色标记),因此我有5个“盒子/容器”(在这种情况下,可以是任何数字),列出相应组的每个段。
 
我试着使用
Dim objSset(J)作为AcadSelectionSet
尺寸J为整数
 

Dim objSset(J)作为集合
尺寸J为整数
 
但我总是得到错误“需要常数表达式”。
 
我可以用什么来运行这样的东西?
是否有可以使用的对象容器?
回复

使用道具 举报

13

主题

51

帖子

38

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 23:11:19 | 显示全部楼层
我刚刚快速浏览了你的帖子,所以我可能错过了一些东西,但是把每组线添加到AutoCAD组中怎么样?
 
  1. Dim oSSetGroup As AcadGroup
  2. Set oSSetGroup = ThisDrawing.Groups.Add("SG") 'SG = group name as string
  3. oSSetGroup.name  = "GroupName"
  4. Dim AddItem(0) As AcadEntity
  5. Set AddItem(0) = SSet(X1)                         'SSet(X1) are items from your selection set
  6. oSSetGroup.AppendItems AddItem       'AddItem is the name of the AcadEntity in previous step

 
然后你可以用组名呼叫你的组。。。例如
  1. 2
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 23:17:31 | 显示全部楼层
除非明确设置数组大小,否则将引发错误:
Dim objSset(4)作为AcadSelectionSet
 
或设置为动态数组:
Dim objSset()作为AcadSelectionSet
 
如果使用动态数组(看起来这就是你要去的方向),则必须根据需要对其进行“重拨”。
有关步骤,请参阅此链接。
 
http://msdn.microsoft.com/en-us/library/aa140074(v=办公室10)。aspx公司
回复

使用道具 举报

13

主题

51

帖子

38

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 23:32:10 | 显示全部楼层
SEANT-在另一个线程(这里)中讨论的代码中,我最终使用了“ReDim Array(variable)as XXXXX”,效果很好。我不需要把它作为一个动态数组来调暗。。。这可以练习吗?
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 23:55:32 | 显示全部楼层
变量是处理动态数组的常用方法。只是变量必须在Dim“ming”或Redim“ing”之前分配一个整数值。
 
回顾OP,在声明数组之前,发布的前两个代码段没有分配值类型。然而,代码标签中的例程确实声明了;尺寸j为整数。
 
由于整数值类型自动初始化为0,因此这实际上可能工作正常。错误(“需要常数表达式”)时给出的信息使我相信,在没有常数(或动态数组的空括号)的情况下使数组变暗是原因。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 06:23 , Processed in 1.384682 second(s), 76 queries .

© 2020-2025 乐筑天下

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