明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3270|回复: 11

如何判断某个GROUP是在模型空间还是布局空间?

  [复制链接]
发表于 2004-12-27 09:24:00 | 显示全部楼层 |阅读模式
我在一张图的模型空间和布局空间都有几个GROUP,我用THISDRAWING.GROUPS得到是所有的GROUP,但我如何知道其中某个GROUP是在模型空间还是在布局空间?谢谢指教

本帖子中包含更多资源

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

x
发表于 2004-12-27 19:59:00 | 显示全部楼层
组并没有空间之分,只有其中的实体有,可通过判断其中的实体的Owner属性。
 楼主| 发表于 2004-12-28 08:15:00 | 显示全部楼层
可是我通过组中的item并没有发现有OWNER属性。
发表于 2004-12-28 12:25:00 | 显示全部楼层
<TABLE cellSpacing=0 width="100%" border=1>
<TBODY>
<TR>
<TD width="12%">
67

</TD>
<TD width="88%">
空间,即模型空间或图纸空间(固定)

</TD></TR></TBODY></TABLE>你看能不能通过选择集来过滤,组码为67.
发表于 2004-12-28 12:34:00 | 显示全部楼层
实体才有Owner属性。
 楼主| 发表于 2004-12-29 16:12:00 | 显示全部楼层
我的GROUP中都是直线,所以我得不到OWNER属性,请高手们再指教一个好的方法。这对我很重要
发表于 2004-12-29 22:51:00 | 显示全部楼层
怎么会得不到Owner属性呢:
  1. Sub GenGroupSpace()
  2.        Dim g As AcadGroup
  3.        Dim e As AcadEntity
  4.        Dim m As AcadObject
  5.        For Each g In ThisDrawing.Groups
  6.                Set e = g(0)
  7.                Set s = ThisDrawing.ObjectIdToObject(e.OwnerID)
  8.                MsgBox "组合" & g.Name & "所在的空间为:" & s.Name
  9.        Next
  10. End Sub
 楼主| 发表于 2005-1-20 09:34:00 | 显示全部楼层
楼上的回复很感谢,但是还有一个问题,就是如何知道一个GROUP是在布局1里还是在布局2里,或是布局3里?请高手指教。
发表于 2005-1-20 12:25:00 | 显示全部楼层
  1. Sub GetGroupSpace()
  2.        Dim g As AcadGroup
  3.        Dim e As AcadEntity
  4.        Dim L As AcadLayout
  5.        Dim s As AcadObject
  6.        Dim t As String
  7.        For Each g In ThisDrawing.Groups
  8.                Set e = g(0)
  9.                Set s = ThisDrawing.ObjectIdToObject(e.OwnerID)
  10.                If s.Name = "*Model_Space" Then
  11.                        t = t & "组合 " & g.Name & " 所在的空间为:模型空间" & vbCrLf
  12.                Else
  13.                        Set L = s.Layout
  14.                        t = t & "组合 " & g.Name & " 所在的空间为:图纸空间的 " & L.Name & vbCrLf
  15.                End If
  16.        Next
  17.        If t <> "" Then MsgBox t, , "明经通道VBA示例"
  18. End Sub
 楼主| 发表于 2005-1-20 13:42:00 | 显示全部楼层
不行呀,楼上的,这句:Set L = s.Layout 报错:


方法'Layout' 作用于对象 'IAcadBlock' 时失败
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-22 17:24 , Processed in 0.326621 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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