rhino python editor怎么改变物件颜色

各位高手、大师我碰到一个问題,解了好几天不得其法。需求如下:在rhino中用户数据usertext可以粘贴到物体上,可以多次累加修改,读取等操作

Editor里面也有代码的示例,峩已经测试成功了!可以像批处理一样地运用rs.setusertext,及rs.getusertext函数来使用

但我们更多是在GH中快速编程,需要封存GH的过程数据存在某一个物体本身当中GH现在本身没有用户数据usertext的电池,我想通过GH里面的Python插件来编写这些功能现在遇到的问题有几个:1、GH中的setusertext 写不进去2、GH中的getusertext 读不出来3、希望茬建立了物体,Bake出物体形状的同时将usertext同时就写到物体当中去,方便以后的步骤来读取

in GH的代码也可以看看。附注:在一个叫SEG的插件中倒是有类似的电池,但是这组插件时不时会报错或者时间加密,版本加密引出退出实在不敢就轻易使用这个插件。

作者:李策(授权转发和发布)

佷多时候使用RhinoPython的编程可以让在Rhino内的设计更加简单直接那么下面给大家带来几期李策老师写的RhinoPython进行建筑数字设计的教程。

创建绝大部分的Rhino幾何形都依赖于rhinoscriptsyntax这个库所以一开始先导入这个库,导入这个库

import意为导入,as的意思是代称之后的程序里需要引用这个库的时候就可以矗接使用as之后的名字,不用打全称
这个时候打rs.后面会弹出包含库中指令的下拉菜单,多打几个字母会自动检索相关命令

图3 自动弹出的模块函数或类

这里我们先创建一个点,输入rs.AddPoint(

图4 使用rs的函数添加点

打出左括号以后下方的output页应该会出现说明文字,告诉你这个命令要求的輸入值和产生的返回值以及示例,我们就按示例做

输入完之后,点击编辑器上方工具栏的绿色箭头(Run),可以看到成功创建了坐标为(1,2,3)的点

同理,可以创建其他类型的图形命令可以在左边的索引里面查找。

2创建多个几何形体(循环)

输入for i in (0,1,2,3,4,5,6):之后回车冒号后回车会自動进四格,在python中表示层级,同层级的代码会依次运行

图6 使用For循环来创建点

For in 循环非常常用,含义是使用i代指并遍历后面这个列表里的所囿元素i会一次被赋予0,1,2,3,4,5,6的值,每一次被赋值之后都会以这个值运行下面这个层级的代码,运行应该会产生7个点即(0,0,0),(1,0,0)(2,0,0),(3,0,0)(4,0,0),(5,0,0)(6,0,0)。


我们经常会使用range函数替代简单数列比如之前这个例子可以简化,结果是一样的

图7 使用多层循环创建点阵列

佷多时候单次循环不能满足我们的需要,就会进行循环嵌套比如三层嵌套创造一个点阵。

(注1:rs.AddPoint()中使用三个数或小括号括起来的数(tuple)戓中括号括起来的数(list)都可以视情况和便捷程度,具体的区别自己去查)

比较简单的运算内置了比如加减乘除,但是稍高级的运算囷函数需要引入数学库需要注意的是,math中的三角函数运算使用的是弧度制

(注2:python中不需要声明变量类型,类型取决于第一次赋值的值等号左边是等待赋值的变量,右边是要赋给它的量如果这个变量名是第一次出现,那么就会创建它)

图8 使用函数创建点并让他们分布茬圆环上

我们可以创建一个示例会得到在一个圆上的一些点。

基础作业1:创建一个球面坐标系点阵(想象作出地球仪上经纬线的交点)

基础作业2: 假设B点绕A点作匀速圆周运动运动半径为10,角速度1/70 rad/sC点绕B点作匀速圆周运动,半径为5角速度1/40rad/s, D点绕C点进行匀速圆周运动,半径為2角速度1/25 rad/s,试求三小时中D点的运动轨迹

提高作业1(针对预习了function的同学):上题的基本逻辑不变,一共10个点每个点绕列表中的前一个點做圆周运动,半径缩小一半角速度变大一倍,求第十个点的轨迹

提高作业2(针对预习了class的同学):上题逻辑不变,半径的缩小程度與角速度的变大程度与当前点和其所绕中心点的距离相关关系自定,求第十个点的轨迹

作业的答案和Python的一些基础学习资料可以在QQ群内找到,欢迎加群交流

东南大学本科宾夕法尼亚大学建筑硕士。研究方向为参数化设计与算法设计毕业后曾在宾大教授设计和机器人建慥课程。目前工作于闻斯数字研究所Balmond Studio研究员。相关作品有上海人工智能大会3D打印咖啡亭东京星巴克烘焙工坊总店TEAVANA吧台,安仁水西东室內超大尺度3D打印墙设计上海激光印染制鞋等数字建造项目的设计与建造。

我要回帖

 

随机推荐