暂无封面

Clipper for Grasshopper and Rhino

探索 Clipper for Grasshopper 和 Rhino 犀牛软件,一个强大的 2D 多边形剪辑器,提供布尔运算、偏移和 Minkowski 和差集功能。开源且免费,适用于 Rhino 犀牛软件和 Grasshopper 草蜢插件。

分享

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.MinkowskiDifference

OffsetPolyline 的示例用法

版本:

旧版本可以从 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