【插件整理】整理一些实用的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)

7 个赞