for each 嵌套??

ningyong58 2008-06-28 01:41:29

在多边形,一条线段的端点可以和两条线段的端点相连
如有4条线段,a,b,c,d
以a线段为基础,除b,c,d线段比较
以b线段为基础,除a,c,d线段比较
以c线段为基础,除a,b,d线段比较
以d线段为基础,除a,b,c线段比较
请问这种嵌套比较时什么编程思想??

For ii = 0 To EntCount - 2
Set lineObj = ThisDrawing.ModelSpace(ii)
Set lineobj1 = ThisDrawing.ModelSpace(ii + 1)
Set lineobj2 = ThisDrawing.ModelSpace(ii + 2)
Next ii

...全文
140 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ningyong58 2008-06-28
  • 打赏
  • 举报
回复
在画多边形时,A线段和B线段的端点相连时有以下三种组合.
A线段起点和B线段起点相连
A线段终点和B线段起点相连
B线段起点A线段起点相连
B线段终点和A线段起点相连
我要解决的问题是
不管如何组合,编程的结果,A线段的起点为基点,A线段的终点与B线段的起点相连.
haohaohappy 2008-06-28
  • 打赏
  • 举报
回复
你是在cad的vba中编程吧,不过不太明白你的意思,“在多边形,一条线段的端点可以和两条线段的端点相连”,在多边形中,一条线段的端点不是和一条线段的端点相连吗?不明白你要比较什么
ningyong58 2008-06-28
  • 打赏
  • 举报
回复
自己解决了
自己解决了

Sub ls()
'先建立一个基本数组

Dim EntCount As Integer
Dim Ent As AcadEntity, lineObj As AcadLine
EntCount = ThisDrawing.ModelSpace.Count
Dim mm() As Long
ReDim mm(EntCount - 1) As Long
For ii = 0 To EntCount - 1
Set lineObj = ThisDrawing.ModelSpace(ii)
mm(ii) = lineObj.ObjectID
Next ii

'再建立一个临时数组
Dim mmm() As Long, ssmm As Long
ReDim mmm(EntCount - 2) As Long
'对mm整个数组进行循环

For ii = 0 To EntCount - 1

'关键语句,从数组中先提出一条内容赋值给变量ssmm
ssmm = mm(ii)
gg = 0

'将mm数组中不含ssmm变量,赋值给临时数组mmm
For jj = 0 To EntCount - 1
If jj <> ii Then
mmm(gg) = mm(jj)
gg = gg + 1
End If
Next jj
Next ii
End Sub

还是要问各位大侠,这种工作法是什么类型.另外,还有什么改进的地方.

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧