明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1874|回复: 3

如何创建某个布局选项卡中所有图元的选择集

[复制链接]
发表于 2009-5-28 18:37:00 | 显示全部楼层 |阅读模式

    如题:能不能直接设定组码来创建选择集?我看到组码表中410和这个有关,但是用了下没有效果,我看到410 :APP: 布局选项卡名称;

    前面有个APP, 我找了点资料,APP的意思是只用于应用程序的说明,不懂,有没有朋友解释一下。

    我目前的比较笨的方法就是读取指定名字选项卡下的block来得到他的图元,但显然复杂,有没有哪个组码能够得到某个布局选项卡中所有图元的?

 楼主| 发表于 2009-5-28 21:55:00 | 显示全部楼层

感谢lzh741206斑竹的热心回复:

我目前有两个方法:1是我上面说的,直接得到第i个布局中的第j个图元(layouts.item(i).block.item(j))

2就是根据lzh741206斑竹提供的,先得到布局中所有的图元,然后判断图元在哪个布局中。

思路简单,但是如果图元多会耗一点点时间,我在想那个组码表中的410是不是不能用啊?

ps:Debug.Print owner.Name改为Debug.Print owner.Layout.Name那和布局选项卡中的布局名字比起来更直观一点。

再次感谢,端午节快乐。

回复 支持 0 反对 1

使用道具 举报

发表于 2009-5-28 19:20:00 | 显示全部楼层

组码67=1,表示图纸空间

Sub tt()
On Error Resume Next
Dim ss As AcadSelectionSet
ThisDrawing.SelectionSets("Test").Delete
Set ss = ThisDrawing.SelectionSets.Add("Test")
Dim ft(0) As Integer, fd(0)
ft(0) = 67: fd(0) = 1
ss.Select acSelectionSetAll, , , ft, fd
For Each obj In ss
Dim ent As AcadEntity
Set ent = obj
Dim owner As AcadBlock
Set owner = ThisDrawing.ObjectIdToObject(ent.OwnerID)

Debug.Print owner.Name
Next
End Sub

发表于 2012-9-1 15:09:12 | 显示全部楼层
组码表是个什么东西,有资料吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 16:41 , Processed in 0.160332 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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