Giter VIP home page Giter VIP logo

clipper's Introduction

Clipper for Grasshopper

Update May 2023: The last release is from 12th of October 2021. This plugin has been stable since 2014, and is still being maintained.

Clipper is a 2D polygon Clipper offering polygon boolean operations (clipping): Intersection, Join, Difference, XOR. Offsets for polygons and Minkowski Sum and Differences.

The good stuff:

  • it accepts all types of polygons including self-intersecting ones
  • it supports multiple polygon filling rules (EvenOdd, NonZero)
  • it's very fast relative to the RhinoCommon counterparts
  • it also performs line and polygon offsetting
  • it's numerically robust
  • it's free to use in both freeware and commercial applications
  • it's open source
  • it's native .NET

What is does not do

  • Curves, Splines, Arcs need to be converted to polygons
  • No support for splines, nurbs
  • Only in-plane operations are supported (all geometry will be projected onto it's 2d space)
  • Circular fillets are represented as polygons

Installation

For windows: Install the clipper-[version].rhi, this will install both the rhino plugin and the grasshopper plugin.

For Mac OSX: Install the clipper-[version].macrhi, this will install both the rhino plugin and the grasshopper plugin

Package manager: Using rhino 6+'s experimental package manager/yak (from version 0.3.0): using the command TestPackageManager

Manual installation: Download the .zip file, and place in rhino's plugin and grasshopper component folder.

Source code is available on github, available under the open source (permissive) Boost licence, free to use for any purpose.

Usage in Rhino:

The commands OffsetPolyline and BooleanPolyline offer interactive commands for the clipper library.

Usage in Grasshopper:

Examples can be found on github in the folder examples

Offsets
  • Example 1: Simple single polygon offset (Star offset)
  • Example 2: Multiple polygon offsets (Urban plan)
Boolean operations
  • Example 3: Moire effect
Minkowski Sums
  • Example 4: Slide an object over another

Version

  • 2021-10-11: Version 0.3.3: Improved error handling and robustness when inputting zero, null or invalid curves
  • 2020-04-20: Version 0.3.2: Added offset type selector, thanks to Andrew Heumann
  • 2020-04-01: Version 0.3.1: Released new version that fixes compatiblity with ShapeDiver
  • 2019-10-09: Version 0.3.0: Released new version for yak and macrhi. Improved placement in grasshopper menu's
  • 2019-07-22: Version 0.2.3: Updated to clipper version 6.4.2
  • 2017-02-15: Version 0.2.2: Update to new clipper version (6 .4.0), release for Rhino WIP
  • 2014-07-06: Version 0.1, first beta release

Credits

  • Angus Johnson for doing 99% of all the hard and intelligent work of writing the clipper library.
  • Andrew Heumann for kindly contributing code improvements
  • Thanks goes out to the friends at APTO who triggered the requirements for this plugin, and to Maarten Filius for the initial testing.

Contact

Arend van Waart [email protected]

clipper's People

Contributors

andrewheumann avatar arendvw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

clipper's Issues

GHA version

Hi, great plugin for grasshopper.

However, is it possible to implement it into a .gha file, similar with other grasshopper plugins?
It will make life a lot easier when reinstall system or move around systems to just copy all the gha file in a flash drive.

Sincerely,

PolyOffset with different distances

Hello, i´m a AEC developer using Clipper for Grasshopper.
I need to do an offset of a polygon but with different distances for each side, is it possible?
Thanks for the great tool.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.