【插件整理】整理一些实用的Rhino插件

这个帖子主要分享一些我整理的rhino插件和代码,如有需要可自行下载。如果遇到任何问题,请单独开帖询问,谢谢。

持续更新中…

1:PlanarFaceDirection

功能介绍: 更改平面曲面的UV方向。

推荐理由: 因为执行MergeAllCoplanarFaces指令生成的平面曲面UV方向可能不是我们想要的。这个时候PlanarFaceDirection指令就很有作用了。

插件来源: Wish: MergeAllCoplanarFaces to better preserve isocurve direction - #3 by pascal - Rhino - McNeel Forum

安装: 拖入rhino7中就可以进行安装(注意: 如果加载不成功,请右键-属性-解锁,然后再安装就可以了)

使用:
比如我想把下图中的平面曲面UV结构线方向改成水平的,就可以使用PlanarFaceDirection指令。


执行PlanarFaceDirection指令,用Line去匹配UV,就可以生成想要的效果了,如下图。



插件扩展:
插件开发者提供的PlanarFaceDirection指令每次只能更改一个曲面。我根据我的需求用RhinoPython调用了一下这个命令去匹配多个曲面。
代码如下

#coding=utf-8
#作者:月之眼

import rhinoscriptsyntax as rs

def filter_planar( rhino_object, geometry, component_index):
    if geometry.IsPlanar():
        return True
    return False

def filter_linear(rhino_object, geometry, component_index):
    if geometry.IsLinear():
        return True
    return False


objs = rs.GetObjects("选择要更改uv方向的平面", filter = 8, preselect=True, custom_filter = filter_planar)
if (objs):
    line = rs.GetObject("选择要匹配方向的直线",rs.filter.curve,custom_filter = filter_linear)
    if(line):
        for srf in objs:
            rs.Command(" _PlanarFaceDirection " + " SelID " + str(srf) + "_Enter " + " L " +  " SelId " + str(line) + " _Enter " )


插件和代码下载:
PlanarFaceDirection.zip (12.7 KB)

8 个赞

分享一个实时bake GH中几何体的功能。先来看看效果。
效果展示:
bake

推荐理由: 前段时间做动画的时候刚好使用过这个功能,昨天群里有人问,就整理分享一下。

使用:
打开程序先把run设置为False,再点击成True就行了。

程序代码:

import Rhino.RhinoDoc as rr
import System.Guid as g

doc = rr.ActiveDoc
if(run):
    if(doc.Objects.FindId(guid)!=None):
        doc.Objects.Replace(guid,geo)
    else:
        guid = doc.Objects.Add(geo)
else:
    guid = g.NewGuid()
doc.Views.Redraw()

程序下载:
一边更改一边bake.gh (10.2 KB)

使用实时bake做的动画片段:
Rhino中调了一个显示模式,一边调参数一边bake截图。
OCT

6 个赞