background preloader

Massive Grasshopper Attack!

Massive Grasshopper Attack!

[Sub]Code | Digital [Sub]stance This page is set up to host bits of codes and sample algorithms. Those algorithms are free to be explored or even shared with proper recognition to the author.Please let me know if you reached any interesting result using any piece of the code provided. Before downloading anything from Digital [Sub]stance you consent to the following license agreement Digital [Sub]stance by Marios Tsiliakos is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. Based on a work at digitalsubstance.wordpress.com. “If you Enjoyed anf found the content of this blog useful please consider donating to keep Digital [Sub]stance up and running.” Grasshopper Definitions CNC and LC Contour Surfaces: Download CnC+LC_Contours (GH 0.8.0003)Ribbed Surface: Download Ribs (GH 0.8.0003)Evolutionary Cube: Download E-Cube (GH 0.8.0003)M.B.F. GH User objects Processing Code Python + IronPython GHA assemblies Forest Hike: Download Forest Hike GHA (GH 0.9.0066) Like this: Like Loading...

Grasshopper Resources Kangaroo Frequently occuring in nature, minimal surfaces are defined as surfaces with zero mean curvature. These surfaces originally arose as surfaces that minimized total surface area subject to some constraint. Physical models of area-minimizing minimal surfaces can be made by dipping a wire frame into a soap solution, forming a soap film, which is a minimal surface whose boundary is the wire frame. The thin membrane that spans the wire boundary is a minimal surface of all possible surfaces that span the boundary, it is the one with minimal energy. One way to think of this “minimal energy” is that to imagine the surface as an elastic rubber membrane: the minimal shape is the one that in which the rubber membrane is the most relaxed. A minimal surface parametrized as x=(u,v,h(u,v)) therefore satisfies Lagrange`s equation (1+h(v)^2)*h(uu)-2*h(u)*h(v)*h(uv)+(1+h(u)^2)*h(vv)=0 (Gray 1997, p.399) This year`s research focuses on triply periodic minimal surfaces (TPMS). Schwartz_P surface Neovius surface

n-fold geometry Grasshopper This component is developed to create a more even aspect ratio for grids by creating points through iteratively sampling proximity to adjacent curves. This view analysis component takes a user specified visual plane, field of view angle, and distance limit to test for view obstruction from input meshes. This component iteratively samples a surface, mesh, or polysurface to find the most vertical flow path along a geometry. DESCRIPTION This series of components access the sun system in Rhino and allow for control and returning of sun parameters. There are three component types, Rhino Sun Data, which returns the sun system’s current settings, Set Sun, which uses the Latitude / Longitude and Time to set the sun and Set Sun Manual, which… Read More These components allow for several types of rounding available from the expressions component, but made unique objects here for simplicity.

Grasshopper For designers who are exploring new shapes using generative algorithms, Grasshopper is a graphical algorithm editor tightly integrated with Rhino’s 3-D modeling tools. Unlike RhinoScript, Grasshopper requires no knowledge of programming or scripting, but still allows designers to build form generators from the simple to the awe-inspiring. What is Grasshopper? Example of a grasshopper model to design a sun shading system Grasshopper (GH) is a programming interface for designer. Development Since Grasshopper is still a work-in-progress project, and will stay like this for some time, this information will be updated regularly. Basic understanding of Grasshopper Component to create a surface by defining the four corner points The core feature of grasshopper are its components. one or more inputs the action; what it does with the input one or more outputs The different tabs with components A part of a larger network This is a short overview of how grasshopper works. Tutorials Download Grasshopper

Defective Use of Algorithms: TPI Disability This is based on my failure of creating an optimum solution to planar polygonal subdivisions. There is a method called Tangent Plane Intersection (TPI), explained briefly here (sometimes similar algorithms are called “planar remeshing” and “variational shape approximation”) which is effectively used in Trada pavilion (here). I tried to implement a similar method using only native Grasshopper components and no recursion, but it quickly became much more complicated than I thought. It was based on a simple idea that I can obtain the tangent plane of any point on a surface. By expanding circular planar surfaces on these planes, multiple planes intersect and create a planar polygonal subdivision eventually. However there are some cases (some angular intersections) that this logic does not work properly and has to be edited. The definition below is logical but not functional. An optimization system might allow diverse design paths to emerge when it fails.

TUTORIALS | Code of Space The current events and Grasshopper workshops you could find in PARAMETRIC EVENTS. (level: all) Digital Toolbox: all) MODELAB Education – Learning Resources: all) 3D-D Architecture from a digital point of view: all) GRASSHOPPER FORUM: (level: all) Representational Research at the University of Virginia School of Architecture: Python General/basics: Python in Rhino/Grasshopper: Autodesk DYNAMO – add-on for Building Information Modeling in Revit: dynamoprimer.com ( TU Graz courses: Like this: Like Loading... Data trees and C# in Grasshopper - James Ramsden Understanding how Grasshopper handles data is crucial for taking full advantage of GH’s capabilities. For collections of data, they can either be in the form of lists or trees. A list is a collection of items of data, in a particular order, but with no hierarchical structure. Here is a list of numbers: The component in the top-right is the param viewer. Double click it to see this: The ‘N’ denotes a list with N items. A tree is any data structure in GH with multiple branches. Now, let’s make a grid of points. Here, we have cleverly grafted the Y input to coerce Grasshopper into giving us 25 points for our list of 5 numbers. What’s happened here is that Grasshopper has created 5 branches. We can verify this using the param viewer. Trees can be created and manipulated in C# components too. The data we are saving, such as a Point3d or an integerThe path we are saving to DataTree<Point3d> myTree = new DataTree<Point3d>(); GH_Path pth = new GH_Path(2); myTree.Add(P, pth); Setting up a tree Related

Mode Lab | Grasshopper Primer This primer, titled Foundations, introduces you to the fundamental concepts and essential skill-building workflows to effectively use Grasshopper. Foundations is the first volume in a forthcoming collection of Grasshopper primers. This first volume tracks through an introduction to the Grasshopper user interface, the anatomy of a Grasshopper definition, and three chapters dealing with parametric concepts and case study examples. An appendix closes out this volume, providing you with resources for continued exploration. Current translations of the primer include: English [EN]German [DE]Spanish [ES]Russian [RU] We hope that at the very least this primer will inspire you to begin exploring the many opportunities of programming with Grasshopper. Read the Grasshopper Primer online at grasshopperprimer.com, or download for offline reading as a PDF format by choosing a link below.

GRASSHOPPER PRIMER ENGLISH EDITION The second edition of the Grasshopper Primer is out and it wouldn't have been possible without the tremendous contribution from Rajaa Issa. Rajaa is a developer at Robert McNeel and Associates and is the author of several other Rhino plugins including ArchCut and the ever popular PanelingTools. This revision provides a much more comprehensive guide than the first edition, weighing in at almost 160 pages with over 70 new pages dedicated to creating your own customized scripting components. This printing coincides with two events; the first being the new release of Grasshopper version 0.6.0007 which proves to be a giant upgrade to the already robust Grasshopper platform. Existing users will find subtle, and some not so subtle changes to how data is stored in the current version; making some previous definitions outdated or even unusable. Source Files:The Grasshopper Primer_Second Edition.pdf (size: 10.7mb - right-click and select 'Save Link As' - adobe acrobat needed)

Related: