你好!游客 ( 登录 | 注册 )

FAQ 搜索


当前时区为 UTC



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
 文章标题 : 参数化设计教程 2
帖子发表于 : 2009-03-07 0:11 

注册: 2009-01-23 9:53
帖子: 10

离线
代码:
'版权所有(C)2009 <清华大学建筑学院人居环境模拟实验室>

'本程序为自由软件;您可依据自由软件基金会所发表的GNU 通用公共授权条款,对本程
'序再次发布和/或修改;无论您依据的是本授权的第三版,或(您可选的)任一日后发
'行的版本。
'本程序是基于使用目的而加以发布,然而不负任何担保责任;亦无对适售性或特定目的
'适用性所为的默示性担保。详情请参照GNU 通用公共授权。
'您应已收到附随于本程序的GNU 通用公共授权的副本;如果没有,请参照
'   <http://www.gnu.org/licenses/>.

'基于 GPL 的软件允许商业化销售,但不允许封闭源代码。在一个软件产品中使用("使用"
'指类库引用,修改后的代码或者衍生代码)此源代码,则该软件产品必须继承 GPL 协议,
'不允许封闭源代码。

'Do man want thick road.(做人要厚道)

Option Explicit
'Script written by <王韶宁>
'Script copyrighted by <清华大学建筑学院人居环境模拟实验室>
'Script version 2009年3月6日 21:51:55

Call Main()
Sub Main()

   '定义一个圆形所需要的plane
   Dim arrPlane
   arrPlane = Rhino.WorldXYPlane


   '全部小球,少于100个,其中 0-小球是否存在,物体的objextIDstr  1--小球位置x  2--小球位置y  3--小球速度  4--小球运动方向x  5--小球运动方向y
   Dim pinBall(100,7)


   '是否暂停
   Dim isRunning
   isRunning = True
   
   '初始化随机数
   Randomize

   '在循环里面制造的小球的序号
   Dim currentCreatedPinBallNumber
   currentCreatedPinBallNumber =0
   '循环
   Do While isRunning

      '如果没有到达创造小球数量的极限,则创造小球
      If currentCreatedPinBallNumber <= 9 Then
         '创造一个小球
         '小球初始x位置
         pinBall(currentCreatedPinBallNumber,1) = 0
         '小球初始y位置
         pinBall(currentCreatedPinBallNumber,2) = 0
         '小球初始x方向
         pinBall(currentCreatedPinBallNumber,3) = Rnd *5
         '小球初始y方向
         pinBall(currentCreatedPinBallNumber,4) = Rnd *5
         '创造一个图面上的圆
         pinBall(currentCreatedPinBallNumber,0) = Rhino.AddCircle( arrPlane, 5.0)

         pinBall(currentCreatedPinBallNumber,5) = "yes"
         
         currentCreatedPinBallNumber = currentCreatedPinBallNumber + 1
         Rhino.Print "currentCreatedPinBallNumber = "
         Rhino.Print currentCreatedPinBallNumber
      End If


      '移动每一个小球
      dim i
      For i=0 To 99
         Rhino.Print i
         'Rhino.Print pinBall(i,0)
         If  Len( pinBall(i,5) )>1 Then
            '现在的位置加上新的位置
            '新的位置x
            dim xNewPosition
            xNewPosition = pinBall(i,1) + pinBall(i,3)
            '新的位置y
            dim yNewPosition
            yNewPosition = pinBall(i,2) + pinBall(i,4)
            '改变真实的圆的位置
            dim arrStart, arrEnd
            arrStart = array(pinBall(i,1),pinBall(i,2),0)
            arrEnd = array(xNewPosition,yNewPosition,0)
            Rhino.MoveObject pinBall(i,0), arrStart, arrEnd
            '改变小球的x,y位置
            pinBall(i,1)  = xNewPosition
            pinBall(i,2)  = yNewPosition
            Rhino.Print "test "
         End If
         'Rhino.Print "test 1"
      Next
      
      'Rhino.Print "test loop"
   Loop


   
End Sub


 用户资料  
 
 文章标题 : Re: 参数化设计教程 2
帖子发表于 : 2009-09-17 0:49 
学习。。。。


  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

查找:
前往 :  
cron