Clipper for Grasshopper 和 Rhino 犀牛软件
Clipper 是一个提供多边形布尔运算(裁剪)的 2D 多边形剪辑器:交集、合并、差集、异或。多边形的偏移以及 Minkowski 和差集。
从本页面下载, 从 github(无需登录),或使用 Rhino 6 的实验性包管理器(输入命令:TestPackageManager。
如需安装此插件的支持,请使用 grasshopper 和 rhino 论坛 discourse.mcneel.com,并使用标签clipper。
优秀之处:
- 接受所有类型的多边形,包括自相交的多边形
- 支持多种多边形填充规则(EvenOdd、NonZero)
- 相对于 RhinoCommon 对应功能来说非常快速
- 也执行线和多边形偏移
- 数值稳健
- 在免费软件和商业应用中免费使用
- 开源
- 原生 .NET
不支持的功能
- 不支持曲面形状,曲线形状将被转换为多段线
- 仅支持平面操作
安装
**Windows 系统:**安装 clipper-[版本号].rhi,这将同时安装 Rhino 插件和 Grasshopper 插件。
**Mac OSX 系统:**安装 clipper-[版本号].macrhi,这将同时安装 Rhino 插件和 Grasshopper 插件。
**包管理器:**使用 Rhino 6+ 的实验性 包管理器/yak(从版本 0.3.0 开始):使用命令 TestPackageManager
**手动安装:**下载 .zip 文件,并放置在 Rhino 的插件和 Grasshopper 组件文件夹中。
源代码可在 github 上获取,根据开源(宽容)Boost 许可证,可免费用于任何目的。
在 Rhino 中的使用:
命令 OffsetPolyline 和 BooleanPolyline 提供了 clipper 库的交互式命令。这意味着多组曲线/多段线将被
在 Grasshopper 中的使用:
示例可在 github 的 examples 文件夹中找到。
偏移:
- 示例 1:简单的单个多边形偏移(星形偏移)
- 示例 2:多个多边形偏移(城市规划)
布尔运算:
- 示例 3:莫尔纹效果
Minkowski 和差集:
- 示例 4:将一个对象滑过另一个对象
在 python 中的使用:
组件可在 ClipperComponents 命名空间中找到
import ghpythonlib.components as ghcomp
ghcomp.ClipperComponents.PolylineOffset
ghcomp.ClipperComponents.PolylineBoolean
ghcomp.ClipperComponents.PolylineContainment
ghcomp.ClipperComponents.MinkowskiSum
ghcomp.ClipperComponents.MinkowskiDifferenceOffsetPolyline 的示例用法
版本:
旧版本可以从 github 发布页面 下载。
2021-10-12: 版本 0.3.3: Polyline Boolean 组件在 A 输入列表为空时不再抛出异常。 2020-04-20: 版本 0.3.2: 添加偏移类型选择器,并提高了与 RhinoInside 和 RhinoCompute 的兼容性,感谢 Andrew Heumann 2020-04-01: 版本 0.3.1: 发布新版本,修复了与 ShapeDiver 的兼容性 2019-10-09: 版本 0.3.0: 发布新版本,适用于 yak 和 macrhi。改进了 grasshopper 菜单中的放置位置 2019-07-22: 版本 0.2.3: 更新到 clipper 版本 6.4.2 2017-02-15: 版本 0.2.2: 更新到新版本的 clipper(6.4.0),发布 Rhino WIP 2014-07-06: 版本 0.1,首个 beta 版本
API 可能会改变,组件可能会改变,未来可能会停止现在的方式工作。
待办事项:
- API 文档
致谢:
Angus Johnson 编写了 clipper 库。
Andrew Heumann 友好地贡献了代码改进
感谢 APTO 的朋友们触发了这个插件的需求,以及 Maarten Filius 进行的初步测试。
联系方式:
Arend van Waart arend@studioavw.nl