xiaoye 发表于 2007-3-27 14:27:00

[求助]有关选择集和实体扩展数据的问题

<p>程序在绘图过程中将一些信息写入了多边形实体的扩展数据中,然后在建立选择集时(例如建立一个与某大多边形相交及落在其内部的多边形选择集),发现落在其内部的多边形无法选中。</p><p>&nbsp;&nbsp;&nbsp; 但是如果在绘图过程中不向多边形实体的扩展数据中写入信息,则建立选择集正确!请问这是怎么回事啊?还望各位大侠不吝赐教!</p>

wyj7485 发表于 2007-3-27 17:40:00

把程序贴上来看看

xiaoye 发表于 2007-3-29 21:20:00

<p>前两天没来这看,呵呵。</p><p>下面这段代码是写信息到扩展数据:</p><p>'向实体对象的扩展数据中添加属性<br/>'strPropty:传递参数,实体属性信息<br/>'pEntity:传递参数,需要写入属性信息的对象<br/>Private Function AddProperty(strPropty As String, pEntity As AcadEntity)<br/>&nbsp;&nbsp;&nbsp; Dim DataType(0 To 1) As Integer<br/>&nbsp;&nbsp;&nbsp; Dim Data(0 To 1) As Variant<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; DataType(0) = 1001: Data(0) = "GIS"&nbsp;&nbsp;&nbsp; '应用程序主题<br/>&nbsp;&nbsp;&nbsp; DataType(1) = 1000: Data(1) = strPropty&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; pEntity.SetXData DataType, Data<br/>&nbsp;&nbsp;&nbsp; <br/>End Function</p><p>&nbsp;</p><p>&nbsp;</p><p>这是建立选择集的代码:</p><p>'获取边界内部和与边界相交的闭合线选择集<br/>If Not IsNull(ThisDrawing.SelectionSets.Item("AllTSet")) Then<br/>&nbsp;&nbsp;&nbsp; Set AllSet = ThisDrawing.SelectionSets.Item("AllTSet")<br/>&nbsp;&nbsp;&nbsp; AllSet.Delete<br/>End If<br/>Set AllSet = ThisDrawing.SelectionSets.Add("AllTSet")&nbsp;&nbsp; '新建一个选择集<br/>'定义选择集过滤器<br/>intFType(0) = 0:&nbsp;&nbsp;&nbsp; varFData(0) = "polyline"<br/>intFType(1) = 8:&nbsp;&nbsp;&nbsp; varFData(1) = LyerName&nbsp;'待选图形所在图层名<br/>'选中LyerName图层中与VBPnts(为某一大边界线节点坐标序列)相交和在其内部的所有闭合线实体<br/>AllSet.SelectByPolygon acSelectionSetCrossingPolygon, VBPnts, intFType, varFData</p><p>劳烦各位了!</p>

放纵 发表于 2011-12-29 09:11:15

怎么用选择集来选择符合条件的扩展数据啊?
页: [1]
查看完整版本: [求助]有关选择集和实体扩展数据的问题