乐筑天下

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

是否获取阵列中的下一项?用于对齐

[复制链接]

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2011-5-5 08:30:35 | 显示全部楼层 |阅读模式
我需要帮助从数组中的值或你们认为最好的方法中采样现有Civil 3d 2011路线。我可以沿着当前路线采样位置,但我'm路线上的硬编码点位置。由于这个代码很长,所以我'我想看看是否可以使用已经为样本位置分配了值的数组。最大的问题是例程需要检查路线的长度,并查看它是否可以沿路线绘制下一条偏移线
我正在寻找有关如何读取数组中下一个值的帮助。下面是阵列,其位置沿对齐方向进行采样。下面是路线沿线的硬编码位置。我可以读取sta0.POINT位置0,-left,x1Right,y1Left处的对齐吗'用2&#039得到0处的x,y,z;偏移并插入;sta0.PointLocation 0,value,然后绘制ployline,然后读取下一个arraystationValue3,直到完成
感谢John将Dim arraystationValue3(0到14)作为整数,或者如果需要采样奇数站,我应该使用double吗?定值3(6)=69
arraystationValue3(7)=81
阵列定值3(=93
阵列定值3(9)=105
阵列定值3(10)=117
阵列定值3(11)=129
阵列定值3(12)=141
阵列定值3(13)=153
阵列定值3(14)=-99999双倍;sta0.PointLocation 0#,0,x,y&nbsp'得到x,y,z,在0处。点位置0,-左,x1右,y1左'用2&#039得到0处的x,y,z;偏移量sta0.PointLocation 0,right,x2Right,y2Left'用2&#039得到0处的x,y,z;偏移量strStation=sta0。GetStationStringWithEquations(0)
sta9.PointLocation 9#、-left、x3Right、y3Left&nbsp&nbsp'得到x,y,z,在9&#039
sta9.PointLocation 9#,right,x4Right,y4Left&nbsp&nbsp'得到x,y,z,在9&#039
strStation=sta9。GetStationStringwith Equations(9)
approachpoints1(0)=x1右:approachpoints1(1)=y1左
approachpoints1(2)=x3右:Approvachpoints11(3)=y3左。AddLightWeightPolyline(approachpoints1)
approachpoints2(0)=x2右:Approachments2(1)=y2LeftApproach Points2(2)=x4右:approachpoints2(3)=y4Left设置DRWPOLYAPPR2=ThisDrawing.ModelSpace。添加轻量级多段线(接近点2)
更新;
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

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

我能够单步遍历arraystationValue3()值并将其传递到ArrayGetValue3,但它在ArrayStaionValue2(10)=117#处转储。我是使用corect类型的方法来逐步遍历值,还是有更好的方法来获取索引值 最后我'll;需要测试;arraystationValue3();如果最后一段短于arraystationValue3()中提供的下一个序列值,则根据路线长度绘制最后一段,谢谢John,Dim i为整数,Dim count为整数#
阵列状态值3(4)=45#
arraystationValue3(5)=57 35;
arraystationValue3(6)=69 35;ArraYStationvalue 3(7)=81 35;/p>ArrayStaionvalue2(=93 35;
ARRAYStationValue 3(9)=105 35;(p>arraystationValue3(10)=117 3(11)=129#
arraystationValue3(12)=141 35;arraystationValue3(13)=153 35;
&nbsp
 对于i=0到阵列状态值3(i+1) ArrayGetValue3=arraystationValue3(i)&nbsp
 计数=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 | 显示全部楼层
杰夫,谢谢你一如既往的帮助 只需要将数组值的采样包装到测试中,然后绘制多段线
我今天学到了很多
约翰
对于i=0到UBound(ArrayStationValue 3)
;arraygetvalue3=arraystationValue3(i)
If strAlignEndSta<arraygetvalue3然后;对齐终点=“”&排列长度转到errhndlr
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2011-5-8 07:41:57 | 显示全部楼层
看起来我不会处理采样i'除非在for i循环中有方法对另一个数组位置进行采样,否则我会这样做
对象是使用阵列中提供的数字在选定路线的任一侧绘制多段线,阵列编号是桩号值,其中我需要查询路线以获得2'偏移x&绘制多段线的y位置。有没有另一种方法可以从数组值中采样两个值,这样我就可以得到路线上的两个位置,这样我可以将这些x,y值传递到绘制多边形部分
在对齐点0左2和039之间绘制多边形&右2#039;至;对齐点9左2#039&右2#039;然后读取接下来的两个值draw poly
arraystationValue3(0)=0=ionValue3(1)=9#
arraystationValue3(2)=12 35;ArraYStationValue 3(3)=21 35;
欢迎您提出任何关于研究方向的想法
谢谢你
约翰
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

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

我想我明白了。没有#039;我不知道我能得到;同时排列状态值9(i)
谢谢杰夫的指导,只是花了一些时间才得到它,John,arraystationValue3(0)=0,ArraYStationValue 3(1)=12,arraystationValue3(2)=24,arraystationValue3.p>arraystationValue3(=96
arraystationValue3(9)=108(10) =120arraystationValue3(11)=132>ArraYStationValue 3(12)=144
arraystationValue9(0)=9AraryStationvalue9(1)=21>ArrayStaionvalue8(2)=33=ArraySstationvalue3(3)=45.阵列状态值9(7)=93(=105
arraystationValue9(9)=117
ArraySstationValue8(10)=129
ArraYStationValue 9(11)=141
arraystationValue9(12)=150;arraygetvalue3=arraystationValue3(i);arraygetvalue9=arraystationValue9(i)
&039;sta0.PointLocation 0#,0,x,y&nbsp'获取0处的x,y,z。点位置数组GetValue3,-左,x1右,y1左'得到x,y,z,从0开始,带2'偏移量sta0.PointLocation arraygetvalue3,right,x2Right,y2Left'得到x,y,z,从0开始,带2'偏移量strStation=sta0。GetStationStringWithEquations(ArrayGetValue 3)
sta9.PointLocation arraygetvalue9,-左,X3右,Y3左&nbsp&nbsp'在9#039结束时得到x,y,z;条带
sta9.PointLocation arraygetvalue9,right,x4Right,y4Left&nbsp&nbsp'在9#039结束时得到x,y,z;stripe=sta9。GetStationStringWithEquations(9)
&039;写#1,strStation,x3Right,y3Left
&039;写入#1,strStation,x4Right,y4Left
逼近点1(0)=x1Right:approachpoints1(1)=y1Left
接近点1(2)=x3Right:approachpoints1(3)=y3Left
设置DRWPOLYAPPR1=ThisDrawing.ModelSpace。AddLightWeightPolyline(approachpoints1)
更新
approachpoints2(0)=x2右:Approachments2(1)=y2LeftApproach Points2(2)=x4右:approachpoints2(3)=y4Left设置DRWPOLYAPPR2=this drawing.ModelSpace.AddLightweight polyline(approachpoints2)
Update
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-30 23:38 , Processed in 2.338158 second(s), 64 queries .

© 2020-2025 乐筑天下

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