乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 84|回复: 5

获取数组中的下一项?用于对齐

[复制链接]

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2011-5-5 08:30:35 | 显示全部楼层 |阅读模式
我需要帮助从数组中的值或你们认为最好的方法中采样现有Civil 3d 2011路线。我可以沿当前路线对位置进行采样,但我对路线上的点位置进行了硬编码。鉴于此,代码相当长,因此我想看看是否可以使用已为采样位置指定值的数组。
最大的问题是例程需要检查路线的长度,看看它是否可以沿路线绘制下一条偏移线
我正在寻找有关如何读取数组中的下一个值的帮助。下面是阵列,其位置沿与样本对齐的方向。下面是沿路线的硬编码位置。我可以读取sta0.PointLocation 0,-left,x1Right,y1Left'处的对齐方式吗?获取0处的x,y,z,偏移量为2'并插入sta0.PointLocation 0的arraystationValue3值,然后绘制展开线,然后读取下一个ArrayStagionValue2,直到完成
谢谢
约翰
将阵列定值3(0到14)设置为整数,或者如果我需要对奇数站进行采样,我应该使用double吗
阵列定值三(0)=0
阵列设定值三(1)=9
阵定值三,(2)=21
数组定值三(=3)=33
阵列定值三四)=45
ARRARARARAYSTAYSTAYSTINGUE三(5)=57
ArraySTAYSTANGUE 3(6)=69
(=93
arraystationValue3(9)=105
ARRAYStationValue 3(10)=117
arraystationValue3(11)=129
arrayStation Value3(12)=141
#,0,x,y得到x,y、 z,在0<br>sta0.PointLocation 0,-left,x1Right,y1Left‘获取x,y,z,在0处具有2’偏移<br>sta0.PointLocation 0,right,x2Right,y2Left’获取x,y,z,在零处具有2‘偏移<br>strStation=sta0.GetStationStringWith方程(0)<br>sta9.PointLocation9#,左,x3右,y3右,y,y3左<获取x,y9>sta9.pointLocation9>,右,x4 y,z,在9'
处,strStation=sta9。GetStationStringWith方程(9)
逼近点1(0)=x1右:逼近点1,(1)左
逼近点1(2)=x3右:逼近点1,(3)=y3Left
设置DRWPOLYAPPR1=ThisDrawing.ModelSpace。AddLightWeightPolyline(approachpoints1)
approachpoints2(0)=x2Right:ApproachingPoints2(1)=y2Left
approachpoints2(2)=x4Right:approachpoints2(3)=y4Left
设置DRWPOLYAPPR2=ThisDrawing.ModelSpace.AddLightweight Polylines(Approach Points2)

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2011-5-6 08:47:46 | 显示全部楼层

我能够遍历arraystationValue3()值并将它们传递给arraygetvalue 3,但它在arraystationValue3(10)=117#时转储。我是使用coorect类型的方法来遍历值还是有更好的方法来获取索引值。最后,我需要测试arraystationValue3()对齐的长度来绘制最后一个段,如果它比arraystationValue3()
感谢
John
Dim i As Intger
Dim count As Intger
arraystationValue3(0)=0#
arraystationValue3(1)=9#
arraystationValue3(2)=21#
arraystationValue3(3)=33#
arraystationValue3(4)=45#
arraystationValue3(5)=57#
arraystationValue3(6)=69#
arraystationValue3(7)=81#
arraystationValue3(=93#
arraystationValue3(4)()=153#
arraystationValue3(14)=-9999#
For i=0 To arraystationValue3(i+1)
arraygetvalue ve3=arraystationValue3(i)
count=i+1
下一个i
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2011-5-6 10:16:01 | 显示全部楼层
  1. For i = 0 to UBound(arraystationvalue)
  2.   arraygetvalue3 = arraystationvalue3(i)
  3.   //do whatever
  4. Next i
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2011-5-6 12:11:59 | 显示全部楼层
杰夫,
一如既往地感谢你的帮助。只需要将数组值的采样打包到测试中,然后绘制多段线
John
对于i=0,将(arraystationValue3)
arraygetvalue3=arraystationValue3(i)
如果strAlignEndSta
MsgBox“对齐结束”(&Align)。长度<br>转到errhndlr<br>如果<br>则结束
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2011-5-8 07:41:57 | 显示全部楼层
看起来for i不会对我正在做的采样起作用,除非在for i循环中有一种方法可以对另一个数组位置进行采样。
对象是使用数组中提供的数字在选定对齐的任一侧绘制多段线,数组编号是站值
,我需要查询对齐以获取2'偏移x&y位置来绘制多段线。有没有另一种方法从数组
值中采样两个值,以便我可以在对齐中获取两个位置,以便我可以将这些x, y vaules传递给绘图poyline部分。
在对齐点0左2'和右2'之间绘制多边形到对齐点9左2'和右2',然后读取下一个两个值绘制多边形
arraystationValue3(0)=0#
arraystationValue3(1)=9#
arraystationValue3(2)=12#
arraystationValue3(3)=21#
欢迎任何关于看哪个方向的想法。
谢谢。
约翰
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2011-5-8 08:12:20 | 显示全部楼层

我想我明白了。不知道我可以同时获得arraystationValue9(I)
John
arraystationValue3(0)=0
arraystationValue3(1)=12
价值3(11)=132
arraystationValue3(12)=144
arrayStation Value9(0)=9
第9(11)条141<br>arraygetvalue9(12)=150<br>对于i=0到UBound(ArraySetValue3)<br>arraygetvalue3=arraystationValue3(i)<br>AraryGetValue 9(i)><br>sta0.PointLocation 0#,0,x,y‘在0<br>处获得x,y,z。PointLocation arraygetvalue3,-左,x1右,y1Left‘在0开始时获得x,y,z,偏移量<br>station ArrayGatalue3右,X2右,Y2左’得到x,y、 z,从0开始,偏移量为2'的strStation=sta0。GetStationStringWithEquations(arraygetvalue3)
sta9.PointLocation arraygetvalue9,-left,x3Right,y3Left'在9'条带的末端获取x,y,z
sta9.PointLocation ArrayGatValue9,right,x4Right,y4Left在9'条形带的末端获得x,y,y3Left
写入#1,strStation,x4Right,y4Left
逼近点1(0)=x1Right:approachpoints1(1)=y1Left
逼近点s1(2)=x3Right:Approachpoints2(3)=y3Left
设置DRWPOLYAPPR1=ThisDrawing.ModelSpace。AddLightWeightPolyline(approachpoints1)
更新<br>approachpoints2(0)=x2Right:ApproachingPoints2(1)=y2Left<br>approachpoints2(2)=x4Right:approachpoints2(3)=y4Left<br>设置DRWPOLYAPPR2=ThisDrawing.ModelSpace.AddLightweight Polyline
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-30 23:32 , Processed in 1.584106 second(s), 65 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表