明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1425|回复: 4

我对VB熟悉,但对AUTOCAD VBA还是一知半解。。。求图内查找物料程序

[复制链接]
发表于 2014-4-27 17:38:23 | 显示全部楼层 |阅读模式
我在图内画了若干个房间,房间用双层矩形表示,

            每一个矩形内写一个文字(物料名称)    矩形代表一种物料大类
            每一个圆形内写一个文字(物料名称)    圆形代表另一种物料大类
            每一个自画形状写一个文字(物料名称)  自画形状代表另一种物料大类

想写一个查找程序,这个图内查找物料摆放在哪里。。。

我写了一段初始窗口的。。求助高手帮忙解答。。。

1、如何获取每个形状内的文字。。。
2、如何获取每种不同的形状,并且包括有自画的形状
3、AutoCAD VBA中是如何查找的,这几个问题解决了,我估计就可以自已解决的问题了。。。 谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2014-4-27 22:21:42 | 显示全部楼层
你就不能将那些圆、方框什么的做成属性块啊,如果是那样的话遍历起来岂不是容易多了。
 楼主| 发表于 2014-4-28 20:43:00 | 显示全部楼层
可以呀,定义成块后,只要能找到就可以。。。
楼上的高手能否出手?给一点代码
发表于 2014-4-28 22:45:27 | 显示全部楼层
yiyaozjk 发表于 2014-4-28 20:43
可以呀,定义成块后,只要能找到就可以。。。
楼上的高手能否出手?给一点代码

我算不上是高手,也是初学一二,最近明经论坛的大神似乎都不在家。
下面是我写的一个供你参考,并附上你的图纸:
  1. '我在你的图上创建了3种属性快,名称分别为:
  2. '“福瓶”——方框,“花瓶”——圆,“青花缸”——圆锥
  3. '现在以“福瓶”为例子

  4. Private Sub Demo()
  5.    
  6.     '先创建选择集,为了可以多次创建选择集应该删掉原来存在的选择集
  7.     Dim i As Integer
  8.     Dim SSet As AcadSelectionSet
  9.     For i = 0 To ThisDrawing.SelectionSets.Count - 1
  10.         If StrComp("X_SSET", ThisDrawing.SelectionSets.Item(i).Name, vbTextCompare) = 0 Then
  11.             ThisDrawing.SelectionSets.Item(i).Delete
  12.             Exit For
  13.         End If
  14.     Next
  15.     Set SSet = ThisDrawing.SelectionSets.Add("X_SSET")
  16.      '定义过滤表,做到精确选取
  17.     Dim fType(2) As Integer
  18.     Dim fDate(2) As Variant
  19.     fType(0) = 0: fDate(0) = "INSERT"
  20.     fType(1) = 2: fDate(1) = "福瓶"
  21.     fType(2) = 66: fDate(2) = 1
  22.     '到图纸中选择
  23.     SSet.SelectOnScreen fType, fDate
  24.    
  25.     '遍历内容
  26.     Dim Ent As AcadBlockReference
  27.     Dim AttArry As Variant
  28.     For i = 0 To SSet.Count - 1
  29.         Set Ent = SSet.Item(i)
  30.         AttArry = Ent.GetAttributes
  31.         '应为我只定义一个属性,所以AttArry下标为0即可
  32.         ThisDrawing.Utility.Prompt vbCrLf & "第 " & i + 1 & " 个属性块的值为:" & AttArry(0).TextString
  33.     Next
  34.    
  35. End Sub




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2017-10-16 13:46:28 | 显示全部楼层
谢谢楼主分享,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 10:00 , Processed in 0.178462 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表