gulong2001 发表于 2009-5-28 18:37:00

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

<p>&nbsp;&nbsp;&nbsp; 如题:能不能直接设定组码来创建选择集?我看到组码表中410和这个有关,但是用了下没有效果,我看到410&nbsp;:APP: 布局选项卡名称;</p><p>&nbsp;&nbsp;&nbsp; 前面有个APP,&nbsp;我找了点资料,APP的意思是只用于应用程序的说明,不懂,有没有朋友解释一下。</p><p>&nbsp;&nbsp;&nbsp; 我目前的比较笨的方法就是读取指定名字选项卡下的block来得到他的图元,但显然复杂,有没有哪个组码能够得到某个布局选项卡中所有图元的?</p>

gulong2001 发表于 2009-5-28 21:55:00

<p>感谢<font color="#da2549" face="Verdana"><strong>lzh741206斑竹</strong><font color="#000000">的热心回复:</font></font></p><p><font face="Verdana">我目前有两个方法:1是我上面说的,直接得到第i个布局中的第j个图元(layouts.item(i).block.item(j))</font></p><p><font face="Verdana">2就是根据<font color="#da2549"><strong>lzh741206斑竹</strong></font><font color="#000000">提供的,先得到布局中所有的图元,然后判断图元在哪个布局中。</font></font></p><p><font face="Verdana">思路简单,但是如果图元多会耗一点点时间,我在想那个组码表中的410是不是不能用啊?</font></p><p><font face="Verdana">ps:Debug.Print owner.Name改为Debug.Print owner.Layout.Name那和布局选项卡中的布局名字比起来更直观一点。</font></p><p><font face="Verdana">再次感谢,端午节快乐。</font></p>

雪山飞狐_lzh 发表于 2009-5-28 19:20:00

<p>组码67=1,表示图纸空间</p><p>Sub tt()<br/>On Error Resume Next<br/>Dim ss As AcadSelectionSet<br/>ThisDrawing.SelectionSets("Test").Delete<br/>Set ss = ThisDrawing.SelectionSets.Add("Test")<br/>Dim ft(0) As Integer, fd(0)<br/>ft(0) = 67: fd(0) = 1<br/>ss.Select acSelectionSetAll, , , ft, fd<br/>For Each obj In ss<br/>Dim ent As AcadEntity<br/>Set ent = obj<br/>Dim owner As AcadBlock<br/>Set owner = ThisDrawing.ObjectIdToObject(ent.OwnerID)</p><p>Debug.Print owner.Name<br/>Next<br/>End Sub</p>

yznang 发表于 2012-9-1 15:09:12

组码表是个什么东西,有资料吗?
页: [1]
查看完整版本: 如何创建某个布局选项卡中所有图元的选择集