NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 11988|回复: 3
打印 上一主题 下一主题

[在线求助] rs问题—如何增加数组点

[复制链接]
跳转到指定楼层
1m
发表于 2011-2-10 17:17:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果我使用下列代码:
Dim arrCount(1), arrPoints(24), nCount, i, j
arrCount(0) = 5
arrCount(1) = 5
nCount = 0
For i = 0 to arrCount(0) - 1
For j = 0 to arrCount(1) - 1
arrPoints(nCount) = Array(i*2, j*4, 0)
nCount = nCount + 1
Next
Next
之后 我想要用
Rhino.AddPoint arrPoints
将数组点全部输出?怎么写
我现在只可以加入例如代码
Rhino.AddPoint arrPoints(0)得到数组中的一个点
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
2m
 楼主| 发表于 2011-2-11 13:25:22 | 只看该作者
呵呵,没人回 那就自己回自己吧

首先,第一个问题 Rhino.AddPoint 是只增加一个点的函数 这样就解释了 为什么我指定第n个数组点时,即arrPoint(n-1)时可以输出点 但是当我使用数组时却过界的原因 应该数组中有多个点。

解决的方法是用一个for循环将点给一个一个的写出来
Dim arrCount(1), arrPoints(24), nCount, i, j
arrCount(0) = 5
arrCount(1) = 5
nCount = 0
For i = 0 To arrCount(0) - 1
  For j = 0 To arrCount(1) - 1
   arrPoints(nCount) = Array(i*2, j*4, 0)
   nCount = nCount + 1
  Next
Next
Dim a
For a = 0 To 24
  Rhino.AddPoint arrPoints(a)
Next


其次,将简单的方案是使用 Rhino.AddPoints 函数 就可以同时生成多个点。
Dim arrCount(1), arrPoints(24), nCount, i, j
arrCount(0) = 5
arrCount(1) = 5
nCount = 0
For i = 0 To arrCount(0) - 1
  For j = 0 To arrCount(1) - 1
   arrPoints(nCount) = Array(i*2, j*4, 0)
   nCount = nCount + 1
  Next
Next
Rhino.AddPoints arrPoints

总结,下次一定要看清英语 呵呵~~~
3m
发表于 2011-2-11 19:40:40 | 只看该作者
谢谢楼主,楼主辛苦了
4m
发表于 2011-2-24 20:19:32 | 只看该作者
{:3_46:}震

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-5-22 19:09 , Processed in 0.100462 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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