本帖最后由 月之眼 于 2018-1-8 13:53 编辑  
 
【版权声明】  作者:月之眼 本文由月之眼原创,首发于大水牛平台 如需转载请联系作者 如果觉得教程不错,欢迎分享 关注“大水牛参数化设计”微信平台,获取更多资源。 【正文】 这是回答Rhino原厂一位网友的问题,有兴趣的可以点击查看原文,源文件也在Rhino原厂论坛上。 
这个功能在rhino中并没有直接的命令可以做,但是我们可以借助RhinoPython来写一个简单的脚本,先来看看效果。 来简单翻译一下代码的意思。 - 1-2:第一句是使rhinopython能输入中文的语句,写法有好几种,我比较习惯现在这种写法,有兴趣的可以百度下
 - 3:导入写脚本需要的模块,这里我们引用rhino提供的rhinoscriptsyntax模块
 - 5:使用rhinoscriptsyntax模块下的GetObject()函数选取需要选取控制点的曲线
 - 6-8:第6句做一个判断,确保选取物件成功再进入下面的代码,第7句是不显示代码执行的过程,第8句打开曲线的控制点。
 - 9:获取曲线控制点的个数
 - 10:让用户输入一个数字,作为间隔选择的间隔数,默认值是2
 - 11-12:第11句是以间隔循环控制点个数,第12句是根据循环出来的i,选择控制点。
 
 
 运行上面的代码就可以实现这个效果了。  然后我们可以用操作轴对控制点进行缩放复制。  然后我们可以对最下面的线,间隔2和3选择控制点,并缩放一下做2个断面线,再loft就可以做出这个效果了。  原代码: - #coding=utf-8
 
 - #作者:月之眼
 
 - import rhinoscriptsyntax as rs
 
 -  
 
 - obj = rs.GetObject("需要间隔选取控制点的曲线", rs.filter.curve)
 
 - if obj:
 
 -     rs.EnableObjectGrips(obj)
 
 -     grips_count = rs.ObjectGripCount(obj)
 
 -     count = rs.GetInteger("间隔数",2,1,grips_count-1)
 
 -     for i in xrange(0,grips_count,count):
 
 -         rs.SelectObjectGrip(obj,i)
 
  复制代码 
 
 更多内容欢迎关注大水牛的微信公共号:  |