RhinoScript_入门.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RhinoScript可以翻译为“犀牛脚本”。RhinoScript是架构在Visual Basic语言之上的Rhino专属程序语言,大致上又可分做Marco与Script两大部分。以下简单地说明Marco与Script两者之间的差 别。 Marcos (可以称做宏)就像是一个口令一个动作的叫Rhino帮我们执行「动作」(actions)。Marco 的命令行是线性、静态的,意思就是说,如果我们下了一百条指令,Rhino就会从第一条、第二条、第三条、、、这样一路执行到第一百条命令,无法跳跃也无法重复执行某个命令。 Scripts 则是动态且非线性的。首先,透过 Flow?Control 我们可以跳过或者重复某些命令行,而Variable Control 则可以让我们创造出逻辑与数学的运算,Input and Output (I/O)则是使用者与Rhino之间的互动,使用者可以送进许多种类型的资料 (data),再经过运算之后以许多种数据形态输出。 ???????? ??在了解 Marcos 与 Scripts 之间的差别之后,我们首先开始来介绍一点简单的「语法」(syntax)。在计算机程序语言中的语法,其实就跟我们学英文或其他外国语言一般,我们需要背单词也需要学文法,而在此的语法就有点像是文法。因此,语法就是一种「成套」(a set)的规则组合。于是乎,当然也就会有所谓合法与不合法的语法,只不过,一般日常生活中,如果我们说出不合文法的语句,人基本上还可以透过上下文来猜懂。但是,计算机就没这么聪明了,如果我们写出不合语法的命令行,计算机不但不会去猜,根本就不理会,只会告诉我们:「描述方式有误」、「语法不合规定」等警 告句,告诉我们必须回头去检查到底是哪句命令行说错了。 ????????RhinoScript 所使用的VB语言的语法基本上算是简单的,已经非常接近日常的口语,这算是非信息背景用户的一大福音(版主也是这两个月才真的开始学程序)。所以,以下我们就来简单说明一下在Rhino中会用到的几种基本语法。 ????????如果我们要画一条线,我们大概会这么说:「画一条线,起点在坐标(0,0,0)的位置,端点在(10,0,0)的位置。」同样地,在Rhino的Marco命令行我们可以这么下指令(请开启Tools\Commands\Marco Editor): ????????????????_Line 0,0,0 10,0,0 ????????然而,如果我们不是在Marco中,而是在Script的环境下(请开启Tools\RhinoScript\Edit),会有两种说法。一种就像是直接在Rhino工作接口中的Command列下指令一般,可以这样讲: ????????????????Rhino.Command _Line 0,0,0 10,0,0 ????????另一种讲法,则是呼叫RhinoScript中内部建构的许多Methods(超过200种),所以我们应该写成: ????????????????Call Rhino.AddLine(Array(0,0,0), Array(10,0,0)) ????????基 本上,本文的目的不在于将所有指令或者Rhino内建的Methods解说完毕,用意只在于很简单地说明在计算机语言中的语法与日常用语中文法的关系。差别 只在于,「计算机还挺很忠心的,我们叫他做啥,他就会做啥」(这是陈教授的名言之一)。所以,如果指令下了,Rhino却没反应,决不是Rhino有错,赶 紧回头检查自己的命令行是否下错了。 ????????此外,如果要详细了解VB的语法可以参考网络上的Microsoft教学手册,可以免费下载 并且有中文版。如果想详细了解RhinoScript中所有Methods的语法,请开启 Help\Plug-ins\RhinoScript,这里头详细记载了每个Mehods的用途、语法以及回传 (return)值等说明,当然,如果各位不心急的话,之后我们也会一一提到。 ????????在 了解RhinoScript的基本语法之后,我们这次要说明的是VB中的「循环」(Loops)种类与概念。VB的循环基本上可以分为三种:(1) For...Next (计数循环)、(2) Do...Loop (条件式循环)、(3) For Each...In...Next (数组循环)。三种循环的特色与用法各有不同,端看在何种需要来选择。举例来说,计数循环顾名思义就是指当我们已经知道某一个数量时所使用;而条件式循环 则是循环本身具有条件的设定功能,透过条件的符合与不符合判断可以决定进入循环或者离开循环;数组循环则是将在一个「数组」(array)中的对象一一取 出来执行某些命令动作。将上述的循环种类与表达方式整理如下

文档评论(0)

803322fw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档