犀牛教程(grasshopper+Rhion)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这就1如0 有一排座11位,分别作12了记号 A(103), A(1) ,14A(2), A(3), A(4),管理员把某人10分配在A(0)座位,把某人11分配在A(1)座位,把某
人12分配在A(2)座位,把某人13分配在A(3)座位,把某人14分配在A(4)座 位。
2.3.2.1 一维数引用
如数组 A=array(10,11,12,13,14)
目录
第一讲:Rhino属性设置与基本操作 (4课时) 第二讲:RhinoScript 编程 (16课时) 第三讲:Grasshopper 控件编程 (10课时)
第一讲:Rhino界面和操作
1. 1 Rhino4.0操作界面:
1.2 Rhino 属性设置:
视图窗口与物件显示模型 Rhino选项设置 图层与物件属性
数组信息:
位置
A(0)
A(1)
A(2)
A(3)
A(4)
数据
10
11
12
13
14
1)假如需要12这个数据,那么用A(2)输出。 2)假如需要逐个输出,则可用for each …..next 结构。
2.3.2 二维数组
2.3.2.1 二维数组定义 定义一个数组:Dim A=array(array(5,6),array(9,11)) 该数组在电脑中的内存区域和数值:
2.1.3 布尔类型
布尔类型(Boolean):布尔型数据是一个逻辑值,也称逻 辑类型,用两个字节存储,它只取两种值,即 True(真)或 False(假)。
2.2 常用转换函数和数学函数
2.2.1 类型转换函数
Int(x) : 求不大于自变量x的最大整数Long数据类型 。 Cstr(x) : 把x的值转换为一个字符串。 Cint(x) : 把x的小数部分四舍五入,转换为整数。 CDbl(x) : 把x值转换为双精度数。 CSng(x) : 把x值转换为单精度数。
格式:for each 元素 in 数组 循环体 next
练习:(1)选取几个物体,分别输出他们的ID。
2.3.4 Do….. Loop 无限循环
格式:DO 循环体 Loop
练习:在rhino的top平面制作一个挂钟。
2.3 数组
2.3.1 数组定义
数组就是在电脑中占据的一块内存区域,数组名是这个区域的名称, 必须先定义后使用。定义数组的目的就是通知电脑为其留出所需要的空 间。
4)求点与点的距离: Rhino.Distance (arrPoint1, arrPoint2) Rhino.Distance (arrPoint1, arrPointArray)
2.4.2 线
1)直线: Rhino.AddLine (arrStart, arrEnd)
2)多段线: Rhino.AddPolyline (arrPoints)
2.3.2 一维数组
2.3.2.1 一维数组定义 定义一个数组:Dim A(5),A是一个数组,这个数组共有5个元素。最 小下标为0(也就是从A(0)开始),最大下标为5-1( 也就是A(5-1) )。 数组在电脑中的内存区域为:
A(0)
A(1)
A(2)
A(3)
A(4)
假如给数组A(5)赋值:
A(0)=10 ; A(1)=11 ; A(2)=12 ; A(3)=13 ; A(4)=14 那么A=array(10,11,12,13,14),即:
1)试飞院工程 2)黄河楼 3)林和村 4)龙湖西苑1 5)龙湖西苑2 6)哈尔滨大剧院
第二讲:RhinoScript 编程
2.1 VB常用数据类型
String数据类型 字符串
Integer数据类型 整数 Long数据类型 长整数 Single数据类型 单精度 Double数据类型 双精度
13)反转曲线: Rhino.ReverseCurve (strObject)
14)分割曲线: Rhino.SplitCurve (strObject, dblParameter [, blnDelete])
15)剪切曲线: Rhino.TrimCurve (strObject, arrInterval [, blnDelete])
常用来定义数组的语句: Dim 定义数组 Redim 定义数组,在过程中用
数组中的每一个数据称为数组元素,用数组名和该数据在数组中的 序号来标识。序号又称为下标,数组元素又称为下标变量。例如,S(2) 是一个数组元素,其中的S称为数组名,2是下标。
数组的下界必须小于上界,Ubound(数组名,[维])可求出数组上界。 如果只用一个下标就能确定某个数组元素在数组中的位置,这样的 数组称为一维数组。如果用两个或多个下标才能确定某个数组元素在数 组中的位置,则数组分别称为二维数组或多维数组。
16)移动基准平面: Rhino.MovePlane (Rhino.WorldXYPlane, arrOrigin)
2.4.3 图层
1)新建图层: Rhino.AddLayer ([strLayer [, lngColor [, blnVisible [, blnLocked [,strParent]]]]])
存中用2个字节(1 6位) 来存储一个整数。在-32 678~32 767之间的一 个数字在尾部加一个“%”符号也表示一种整型数据,如1 345%,67% 。
(2)长整型数 长整型数(Long):是超过一32 768~32 767范围,而在-2 147 483 648~2 1 47 483 647之间的不带小数点的数,一个长整数在内存中占4 个字节(32位)。在-2 1 47 483 648~2 1 47 483 647之间的数字在尾部带 一个“&"符号,也表示为一个长整数。 (3)浮点数 单精度数(Single):是带小数点的实数,有效值为7位。在内存中用 4个字节(32位)存放一个单精度数。通常以指数形式(科学记数法)来表 示,以“E"或“e”表示指数部分。 双精度数据(Double):也是带小数点的实数,有效值为1 5位。在内 存中用8个字节(64位)存放一个双精度数。双精度数通常以指数形式 (科学记数法)来表示,以“D"或“d”表示指数部分。
1.3 Rhino 物件创建
点物件 曲线 曲面 多重曲面 实体
1.4 组曲线 重组曲面
1.5 高级工具集
从物件建立曲线 套用UV线,沿曲面流动 从3D模型建立2D图
图片实例 犀牛模型
1.6 铝板建模实例操作
10)延伸曲线: Rhino. ExtendCurveLength(strObject, intType, intSide, arrObjects)
11)合并曲线: Rhino.JoinCurves (arrObjects [, blnDelete [, dblTolerance]])
12)偏距曲线: Rhino.OffsetCurve (strObject, arrDirection, dblDistance [, arrNormal [, intStyle]])
13)以长度等分曲线: Rhino.DivideCurveLength (strObject, dblLength [, blnCreate [, blnPoints [, arrInterval]])
14)炸开曲线: Rhino.ExplodeCurves (strObject [, blnDelete [, blnReturnSingles]])
2)拾取点(直接创建): Rhino.GetPoint ([strMessage [, arrPoint [, dblDistance [, blnPlane [, blnSnapObject]]]]])
3)输入数: Rhino.GetReal ([strMessage [, dblNumber [, dblMin [, dblMax]]]])
2.2.2 数学函数
Sin(x) : 返回自变量x的正弦值。 Cos(x) : 返回自变量x的余弦值。 Tan(x) : 返回自变量x的正切值。 Sqr(x) : 返回自变量x的平方根,x必须大于或等于0。
2.3 控制结构
2.3.1 条件语句
格式:If 条件语句 Then 执行语句 Else 执行语句 End If
10)求曲线长度: Rhino.CurveLength (strObject [, intIndex [, arrSubDomain]])
11)求曲线中点: Rhino.CurveMidPoint (strObject [, intIndex])
12)等分曲线: Rhino.DivideCurve (strObject, lngSegments [, blnCreate [, blnPoints [, arrInterval]]])
4)输入字符串: Rhino.GetString ([strMessage [, strString [, arrStrings]]])
5)选取物件: Rhino.GetObjects ([strMessage [, intType [, blnPreSelect [, blnSelect [, arrObjects ]]]]])
2)点到物件的最近点: Rhino.PointClosestObject (arrPoint, strObject) Rhino.PointClosestObject (arrPoint, arrObjects)
3)返回点坐标: Rhino.PointCoordinates (strObject [, arrPoint])
Boolean数据类型 (布尔)真假
2.1.1 字符型数据 String
字符型数据(String)用以定义一个字符序列。在内存中一个字符 用一个字节来存放。
2.1.2 数值型数据
数值型数据包括:整型、长整型、浮点型(单精度和双精度)4种。 (1)整型数 整数(Integer):是不带小数点、范围-32 768到3 2 767之间数,在内
7)曲线与曲线相交: Rhino.CurveCurveIntersection(strObject1 , strObject2 [, dblTolerance])
8)线终点: Rhino.CurveEndPoint (strObject [, intIndex [, arrPoint]])
9)线起点: Rhino.CurveStartPoint (strObject [, intIndex [, arrPoint]])
3)圆: Rhino.AddCircle (arrPlane, dblRadius)
4)求平面闭合曲线面积: Rhino.CurveArea ( strObject)
5)求平面闭合曲线中心点: Rhino.CurveAreaCentroid ( strObject)
6)布尔运算并集: Rhino.CurveBooleanUnion (arrCurves [, blnDelete])
2)激活图层为当前图层: Rhino.CurrentLayer ([strLayer])
3)删除图层: Rhino.DeleteLayer (strLayer)
4)移动物件到指定图层: Rhino.ObjectLayer (arrObjects , strLayer)
2.4.4 物件
1)拾取点: Rhino.GetPointCoordinates ([strMessage [, blnPreSelect]])
练习:(1)给定x和y两个数,如果 x>y 则A=0,否则A=1 (2)把数学成绩分为分4个等级,给定一个分数,然后评出这
个分数的等级。
2.3.2 循环控制结构
格式:for 循环变量 = 初值 to 终值 [ step步长] 循环体 next
练习:(1)列出从1到10的整数。
2.3.3 For each ….. In …..结构

0
1

0
5
6
1
9
11
那么,A(0)(0)=5 ; A(0)(1)=6 ; A(1)(0)=9 ; A(1)(1)=11 。
2.4 常用创建几何体函数
2.4.1 点
1)用坐标创建点: Rhino.AddPoint (arrPoint) (单点) Rhino.AddPoints (arrPoints) (多点)
相关文档
最新文档