RhinoPython学习记录
Archi_nan
科技与人文之美
展开
-
GH_Python生成六边形开孔曲面
import rhinoscriptsyntax as rsimport ghpythonlib.treehelpers as thdef find_midPt(pt1,pt2): pt1=rs.PointCoordinates(pt1) pt2=rs.PointCoordinates(pt2) mid=((pt1[0]+pt2[0])/2,(pt1[1]+pt2[1])/2, (pt1[2]+pt2[2])/2) return mid def create.原创 2021-07-22 13:57:40 · 740 阅读 · 0 评论 -
GH_Python中的数据结构转换
import rhinoscriptsyntax as rsimport ghpythonlib.treehelpers as th#将GH中的tree数据结构转为Python中的list结构y=th.tree_to_list(x,lambda x:x)print (y)print(y[0])#将Python中的list数据结构转为GH中的tree结构a=th.list_to_tree(y,source=[])...原创 2021-07-22 11:32:55 · 1274 阅读 · 0 评论 -
RhinoPython生成点干扰阵列放样曲面
#coding:utf-8import rhinoscriptsyntax as rsdef NormalSrf(Srf,intU,intV,attracts): Udomain=rs.SurfaceDomain(Srf,0) Vdomain=rs.SurfaceDomain(Srf,1) stepU=(Udomain[1]-Udomain[0])/intU stepV=(Udomain[1]-Udomain[0])/intV ptMtx={} n.原创 2021-07-21 15:39:42 · 593 阅读 · 0 评论 -
RhinoPython生成阵列放样曲面
#coding:utf-8import rhinoscriptsyntax as rsdef NormalSrf(Srf,intU,intV): Udomain=rs.SurfaceDomain(Srf,0) Vdomain=rs.SurfaceDomain(Srf,1) stepU=(Udomain[1]-Udomain[0])/intU stepV=(Udomain[1]-Udomain[0])/intV ptMtx={} normMtx={}.原创 2021-07-21 11:59:17 · 656 阅读 · 0 评论 -
RhinoPython寻找曲面法向量
#coding:utf-8import rhinoscriptsyntax as rsdef NormalSrf(Srf,intU,intV): Udomain=rs.SurfaceDomain(Srf,0) Vdomain=rs.SurfaceDomain(Srf,1) stepU=(Udomain[1]-Udomain[0])/intU stepV=(Udomain[1]-Udomain[0])/intV ptMtx={} for i in .原创 2021-07-20 22:57:09 · 711 阅读 · 1 评论 -
RhinoPython镂空曲面
#coding:utf-8import rhinoscriptsyntax as rsdef SrfPts(srf,intU,intV): ptDict={} #设定曲面的UV区间 Udomain=rs.SurfaceDomain(srf,0) Vdomain=rs.SurfaceDomain(srf,1) print "Udomain:",Udomain print "Vdomain:",Vdomain #设定曲面UV方向的步长 .原创 2021-07-19 22:44:52 · 450 阅读 · 0 评论 -
RhinoPython从UV两个方向评估曲面并生成点阵
#coding:utf-8import rhinoscriptsyntax as rsdef SrfPts(srf,intU,intV): ptDict={} #设定曲面的UV区间 Udomain=rs.SurfaceDomain(srf,0) Vdomain=rs.SurfaceDomain(srf,1) print "Udomain:",Udomain print "Vdomain:",Vdomain #设定曲面UV方向的步长 .原创 2021-07-15 15:50:36 · 827 阅读 · 0 评论 -
RhinoPython创建矩形开孔立面
#coding:utf-8import rhinoscriptsyntax as rsimport random as rnddef ptMtx(XMAX,YMAX,ZMAX): ptDict={} for i in range(XMAX): for j in range(YMAX): for k in range(ZMAX): x=i*8 y=j*10 .原创 2021-07-15 14:12:54 · 419 阅读 · 0 评论 -
RhinoPython之渐变圆筒排列
#coding:utf-8import rhinoscriptsyntax as rsimport random as rnddef ptMtx(XMAX,YMAX,ZMAX): ptDict={} ptList=[] for i in range(XMAX): for j in range(YMAX): for k in range(ZMAX): x=i*5 y=j*5.原创 2021-07-14 22:29:26 · 721 阅读 · 0 评论 -
RhinoPython创建三维点阵球体
这个案例练习会涉及物件着色、条件判定、循环语句和函数定义等内容。#coding:utf-8import rhinoscriptsyntax as rsimport random as rnddef ptMtx(XMAX,YMAX,ZMAX): ptDict={} ptList=[] for i in range(XMAX): for j in range(YMAX): for k in range(ZMAX): .原创 2021-07-14 20:55:03 · 571 阅读 · 0 评论 -
RhinoPython建立三维点阵
import rhinoscriptsyntax as rsdef ptMtx(XMAX,YMAX,ZMAX): ptDict={} ptList=[] for i in range(XMAX): for j in range(YMAX): for k in range(ZMAX): x=i*5 y=j*5 z=k*5 .原创 2021-07-12 22:42:01 · 921 阅读 · 1 评论 -
RhinoPython创建变形圆阵列
第一种方法如下:import rhinoscriptsyntax as rsptMtx={}imax=rs.GetInteger("input number in x direction",10)jmax=rs.GetInteger("input number in y direction",10)for i in range(imax): for j in range(jmax): x=i+i**2 y=j+j**2 z=0 .原创 2021-07-12 15:01:30 · 605 阅读 · 0 评论 -
RhinoPython学习记录:Dictionary字典类型运用
dictionary字典、tuple元组、list列表是常用的三种变量类型。其中dictionary与list相比,前者是通过key键寻找相对应的值(value),key-value键值对无固定的顺序,而list内的值则是有固定的顺序。newDict={}newDict["cat"]="taddy"newDict["dog"]="bobby"print (newDict["cat"])如这一段代码,先创建一个空的dictionary,然后进行赋值。而在查找值的时候,通过key进行查找。原创 2021-07-11 21:06:07 · 260 阅读 · 0 评论 -
RhinoPython绘制随机大小圆
首先绘制平面二维点阵,其后设定圆的大小随机半径,最后选定一个圆心与其他所有圆心连接直线。import rhinoscriptsyntax as rsimport randomimax=rs.GetInteger("input a number in x direction",10)jmax=rs.GetInteger("input a number in y direction",10)ptList=[]for i in range(imax): for j in range(.原创 2021-07-11 11:55:27 · 842 阅读 · 2 评论 -
将VScode与RhinoPython进行联动,更优雅地写代码!
需要地工具包括:RhinoRhino插件:Codelistenerhttps://www.food4rhino.com/en/app/code-listenerVScodeVScode插件:Pythonhttps://marketplace.visualstudio.com/items?itemName=ms-python.pythonRhinoPythonhttps://marketplace.visualstudio.com/items?itemName=desi原创 2021-07-10 15:59:17 · 1672 阅读 · 3 评论 -
RhinoPython点干扰渐变圆
在建立二维点阵的基础上,增添Attractor干扰点,进而绘制渐变圆。import rhinoscriptsyntax as rsimport mathpts=[]for i in range(15): for j in range(15): x=i*10 y=j*10 z=0 pts.append((x,y,z)) attractor=rs.GetPoint('select a point')for原创 2021-07-10 14:53:18 · 402 阅读 · 0 评论 -
RhinoPython渐变线条图案
这个小案例主要在于嵌套循环语句的使用,做出二维点阵,进而将左侧的举行线条复制(定位)到二维点阵上并做逐步旋转的操作。import rhinoscriptsyntax as rsimport mathpts=[]for i in range(15): for j in range(15): x=i*10 y=j*10 z=0 pts.append((x,y,z))#print pts#crv=rs.AddInterpC原创 2021-07-10 12:24:42 · 665 阅读 · 0 评论 -
RhinoPython圆形图案练习
绘制线条图案。#coding=utf-8import rhinoscriptsyntax as rsimport random as rnd#设定圆心位置center_pt=rs.GetObject('select a center',rs.filter.point)#绘制一个圆radius=rnd.randint(15,30)circle=rs.AddCircle(center_pt,radius)#分割这个圆segments=rnd.randint(4,10)pts=r.原创 2021-07-09 12:36:45 · 390 阅读 · 0 评论