明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1427|回复: 4

选择集操作直线问题2,惭愧 谢谢

[复制链接]
发表于 2004-4-27 22:52:00 | 显示全部楼层 |阅读模式
我已经用选择集选择了直线 然后用数组保存了所有的坐标


可是下面的问题更晕了。


我通过每条直线的起点终点的x坐标是否相同来判断是不是竖线,然后是竖线的放到一个数组中,后把这个数组用AddItems方法给了另一个选择集。


问题出在中间那个把竖线放到数组的环节上,因为我不知道竖线的数目没法定义数组,即使就算知道了,那要通过什么方法才能把他们塞进数组啊!!!!!!!!


       
发表于 2004-4-27 22:55:00 | 显示全部楼层
可以用集合做,不用数组
 楼主| 发表于 2004-4-28 11:15:00 | 显示全部楼层
可是我想用数组啊


但不管那种方法,能具体说说吗?谢谢
发表于 2004-4-28 11:27:00 | 显示全部楼层
Dim a As New Collection


dim b()        as acadentity


for each i in ss


if i.startpoint(0)=i.endpoint(0) then a.add i


next i


redim b( a.count-1)        as acadentity


for j=0 to a.count-1


set b(j)=a(j+1)


next j


ss1.additems b
 楼主| 发表于 2004-4-28 11:39:00 | 显示全部楼层
这下我服了:)))) 这是我原来错的那个 哈 Public Sub CommandButton1_Click() Dim vlinecount As Integer
For i = 0 To myss.count - 1 `myss 为所有直线的那个选择集
If lineco(i, 0) = lineco(i, 2) Then
vlinecount = vlinecount + 1
End If
Next
Dim ssetObj As AcadSelectionSet
Set ssetObj = ThisDrawing.SelectionSets.Add("123")
ReDim ssobjs(0 To vlinecount -1) As AcadLine
i = 0
For Each llll In myss
If lineco(i, 0) = lineco(i, 2) Then
Set ssobjs(i) = llll `这里有问题
End If
i = i + 1
Next
ssetObj.AddItems ssobjs
ssetObj.Delete
myss.Delete
End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 06:32 , Processed in 0.164924 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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