Search
  • Sign In

Grasshopper

algorithmic modeling for Rhino

  • Home
    • Members
    • Listings
    • Ideas
  • View
    • All Images
    • Albums
    • Videos
    • Architecture Projects
    • Installations
    • Add-ons
  • Download
    • Rhino 7 w/Grasshopper
    • Add-ons
  • Forums/Support
    • Current Discussions
    • Legacy Forum
  • Learn
    • Getting Started
    • Online Reference
    • API documentation
    • Video Tutorials
    • Common Questions
    • Scripting and Coding
    • Books and Articles
  • Attend
  • My Page

Search Results - 🐞加🍌line:sammibaby🍌了解腹肌腰帶有用嗎🚌ems黑科技健身ptt🐌肩頸酸痛神器操捏😜收腹带🥜星期減肥食譜🍌做什麼小生意最賺錢🔸腹部健身🔹ems腰帶有用嗎

Comment on: Topic 'Beyond BIM: transitioning from 3D Generative/Parametric design to the industry…'
one approach. If you are doing residential or small retail I would recommend something completely different. Having been in the architectural business for 25 years I offer the following illustration of how I am using Rhino/Grasshopper, its strengths, and its weaknesses as I see them. My current work hovers somewhere between sculpture and small commercial architecture and involves in-house design and Digital/analogue fabrication, usually metal. In the past I have also worked for large traditional A/E firms of 100 people, and smaller 10 person Architectural Design Firms also so I understand those types of practices as well. I find the Digital Design/Fab process to be a welcome change in a profession that has been due for an evolutionary leap forward. Rhino/Grasshopper is a very intuitive (especially for users with autocad history) design tool primarily with the added feature of providing a seamless transition to digital fabrication whether in-house or not. Up until I discovered Rhino, about 7 years ago, I used AutoCad for the 10 years prior, which offered virtual 2D hand drafting with a few added CAD features. It was really still just traditional 2D drafting with a mouse instead of a pencil. During my autocad period, design did not really change much and remained a more traditional process and CDs were done in AutoCad. Once I found Rhino, my design world immediately became one anchored in 3D form. In a nut shell, Rhino and Grasshopper are a design tool and are best utilized to design 3D form well suited for CNC fabrication. It is particularly strong when the forms start to stray very far from Euclidean geometries. That being said, it is not my tool of choice for traditional architectural Construction Documents (CDs) nor does Rhino claim to be a significant CD tool. In my early years of Rhino, the ability to parametrically study a design solution did not exist. Each significant design iteration required the designer to pretty much start over with a new model unless the change was fairly simple. With the advent of Grasshopper, parametric variant studies are now one of its greatest strengths. Grasshopper provides the ability of any number of extremely complicated relationships to be established then instantaneously varied and studied without writing a single line of computer code. Hundreds of combinations can be studied in an extremely short period of time. This is the power of Rhino/grasshopper I value most. A great many Grasshopper users also choose to create incredibly complicated geometric forms. This is another of Grasshoppers great strengths however, many of these "over the top" theoretical forms, though very beautiful and stimulating, seem to remain theoretical or at least prohibitively expensive to actually construct at an architectural scale and with our current state of the art of construction technology. Since my work revolves around built form, I remain tethered to build-ability. Grasshopper paired with CNC fabrication re-catagorizes many complicated forms from "unbuildable" to "very buildable". But even with reality limiting my outcome, Rhino and Grasshopper are incredibly powerful tools able to manage challenging 3D forms while providing ease of virtual infinite variant study. The bottom line of today's architectural process analysis is that there is no silver bullet in design software. The current state of the art of the architectural process utilizes many types software even within a single project. The work flow of a particular project is as highly sensitive to project constraints and opportunities as the design solution its self. If your work varies, so will your process. And to your second point regarding industry guidelines. BIM, digital fabrication, sustainability, are all such new complexities in a profession that is changing at an unimaginable rate; never before seen in the profession. I am not aware of any guidelines to this issue but would love to hear from someone that might know of some guidelines particularly about risk and responsibilities regarding sharing digital models with the contractor. Stan…
Added by Stan Carroll at 10:29pm on March 22, 2010
Comment on: Topic 'Lists, Sets, Strings & Trees'
occur more than once in the same list, and different elements with identical values can occur more than once. Also, a list may contain lack of elements, referred to as "nulls". Sets. Strictly speaking a Set is a mathematical construct which adheres to a strict collection of rules and limitations. Basically, a Set is the same as a List, with the exception that it cannot contain the same element more than once, or indeed two or more different elements with the same values. You see, in mathematics there is no difference between a value and an instance of that value, they are the same thing. In programming however it is possible to store the number 7 in more than one spot in the RAM. Grasshopper does not enforce this rule very strongly though, you can use a lot of Set components on lists that have multiple occurrences of the same value. The big difference between Lists and Sets in Grasshopper is that Sets are only defined for simple data types that have trivial equality comparisons. Basically: booleans, integers, numbers, complex numbers, strings, points, vectors, colours and intervals. Lists can contain all kinds of data. Strings. Strings are text. There's nothing more to it. I don't know why early programmers chose to call them strings, but I suppose it's a better description of the memory representation of them. Strings are essentially sequences of individual characters. Trees. Trees are the way all data is stored in Grasshopper. Even when you only have a single item, it will still be stored in a tree. A tree is a sorted collection of lists, where each list is identified by a path. A specific path can only occur once in a tree, when you merge two trees together, lists with identical paths are appended to each other. Trees are an attempt to losslessly represent not just the data itself, but also the history of that data. Imagine you have 4 curves {A,B,C,D} and you divide each into 3 points {X,Y,Z}. Then, for each of those points you create a new line segment {X',Y',Z'} and then divide each of those line segments again into 5 points each {K,L,M,N,O}. The way data is stored in trees, it should be possible to figure out whether a point M belongs to X' or to Z', and whether that X' or Z' came from A, B, C or D. This is why paths are often quite long after a while, because they encode a lot of history. Paths. A Path is nothing more than a list of integers. It's denoted using curly brackets and semi-colons: {A;B;...;Z}. A Path should never be empty {} or have negative integers {0;-1}, but it is certainly possible to create a path like this and it probably won't even crash Grasshopper. Paths are 'grown' by components that (potentially) create more than one output value for a single input value. For example Divide Curve. It creates N points for every single input curve. In cases like this a new integer is appended to the end of the path.    In the next release the Path logic in Grasshopper is somewhat different. I fixed a number of obscure bugs (hopefully without introducing new fresh bugs) and special cased certain operations to somewhat reduce the speed at which paths grow. This may well break files that rely on a specific tree layout, but I hope the temporary sacrifice will be worth the long-term benefits.   -- David Rutten david@mcneel.com Poprad, Slovakia…
Added by David Rutten at 12:54am on June 21, 2012
Video: "907" Parametric Construction V _ Space Under Workshop (grasshopper, kangaroo)
ls. A square paper is folded to form a module, that is modelled using grasshopper3d and kangaroo live physics engine. Its triangular equilateral footprint defines the connectivity among many modules, which we decided to have variable sizes. Three connection points for each, set the topology and the constraints for their supporting frame structure. Taking advantage of the properties of CP mesh, where the incircles of adjacent triangles are tangent creating three contact points for each, the basis of the frame is determined. But since these contact points do not necessarily describe an equilateral triangle, a second step is applied to finalize the frame elements. This step, after applying and selecting the scale for each equilateral triangle centered to the CP mesh incircles, minimizes the length of each connection line, as derived from the chosen topology. Using grasshopper3d for Rhino (David Rutten, Robert McNeel & Associates) http://www.grasshopper3d.com/ http://www.rhino3d.com/ along with the following plugins: Kangaroo (Daniel Piker) http://www.food4rhino.com/app/kangaroo-physics Human (Andrew Heumann) http://www.food4rhino.com/app/human Clipper (Arend, studioavw) http://www.food4rhino.com/app/clipper-grasshopper Bowerbird (Thomas Oberbichler) https://github.com/oberbichler/Bowerbird/releases/tag/v0.6.3 Fab Tab (David Mans, neoarchaic.net) http://www.neoarchaic.net/resources/grasshopper/fabtab-triangular-tiles/ Fabrication Assistant Iro Skouloudi Supported by TUC FabLab Special thanks go to Alexandros Vazakas for his input and support. http://www.arch.tuc.gr/fablab/…
Added by ng5 Alex at 11:32am on January 13, 2017
Topic: mesh edge topology: how does it work? how is that sorted when offseting a mesh?
al surface, but this is not happening with the edge mesh list! In fact when I want to create mesh faces (the side mesh faces to close the boundaries surfaces) I can see (and I have tested/x2 checked within GH), that the corrispondent top edge and bottom edge of a determinated face are not coincident. How can I assign a consistent index list to the top and bottom mesh edge list? How the edge topology is assigned? I post here the code, FYI, even I do not think that can help to find the problem. And 2 screenshot to show you the problem.             double thickness = new double();            if (!DA.GetData(0, ref thickness)) return;                        Mesh baseMesh = new Mesh();            if (!DA.GetData(1, ref baseMesh)) return;            List<Plane> localCSPlanes = new List<Plane>();            if (!DA.GetDataList<Plane> (2, localCSPlanes)) return;            List<Mesh> solidMesh = new List<Mesh>();            List<Point3d> meshFaceCenterPlus = new List<Point3d>();            List<Point3d> meshFaceCenterMinus = new List<Point3d>();            List<Plane> localCSPlanesPlus = new List<Plane>();            List<Plane> localCSPlanesMinus = new List<Plane>();            List<Line> edgeMeshPlusLine = new List<Line>();            List<Line> edgeMeshMinusLine = new List<Line>();            Mesh offsetPlus = baseMesh.Offset(0.5*thickness, false);            Mesh offsetMinus = baseMesh.Offset(-0.5 * thickness, false);            Mesh recMesh = new Mesh();            solidMesh.Add(offsetPlus);            solidMesh.Add(offsetMinus);                        //This for-cycle creates a index-consistent list of plus-offset mesh face center points and local coordinate system mesh planes.            int nFcsPl = offsetPlus.Faces.Count;            int nEdg = offsetPlus.TopologyEdges.Count;            for (int i = 0; i <= nFcsPl - 1; i++)            {                meshFaceCenterPlus.Add(new Point3d(offsetPlus.Faces.GetFaceCenter(i)));                localCSPlanesPlus.Add(new Plane(offsetPlus.Faces.GetFaceCenter(i), localCSPlanes[i].XAxis, localCSPlanes[i].YAxis));            }                      //This for-cycle creates a index-consistent list of minus-offset mesh face center points and local coordinate system mesh planes.            int nFcsMn = offsetMinus.Faces.Count;            int nEdgMn = offsetMinus.TopologyEdges.Count;            for (int i = 0; i <= nFcsMn - 1; i++)            {                meshFaceCenterMinus.Add(new Point3d(offsetMinus.Faces.GetFaceCenter(i)));                localCSPlanesMinus.Add(new Plane(offsetMinus.Faces.GetFaceCenter(i), localCSPlanes[i].XAxis, localCSPlanes[i].YAxis));                           }            for (int i = 0; i <= nEdg - 1; i++)            {                Line lineRecPlus = offsetPlus.TopologyEdges.EdgeLine(i);                edgeMeshPlusLine.Add(lineRecPlus);                Point3d recPointA = lineRecPlus.From;                recMesh.Vertices.Add(recPointA);                Point3d recPointB = lineRecPlus.To;                recMesh.Vertices.Add(recPointB);                Line lineRecMinus = offsetMinus.TopologyEdges.EdgeLine(i);                edgeMeshMinusLine.Add(lineRecMinus);                Point3d recPointC = lineRecMinus.To;                recMesh.Vertices.Add(recPointC);                Point3d recPointD = lineRecMinus.From;                recMesh.Vertices.Add(recPointD);                recMesh.Faces.AddFace(0 + 4 * i, 1 + 4 * i, 2 + 4 * i, 3 + 4 * i);            NOTE: I know how to create a solid from a single mesh surface, but this is not what I want now, because I have to sort (for further purpose) the solid mesh in top, bottom and side faces. Thanks a lot for your help! cheers, matteo…
Added by matteo at 7:19am on June 28, 2013
Topic: Acceleration, bridge
t is to find an optimized shape of the bridge, and in order to do this we have added following parameters: The curve shape of the bridge, the cross sections, the bridge height and width, the location of the connecting bridge and a few other parameters – I think we have 40-50 parameters (I know it is to many :) ). Our design criteria’s for the bridge are as following (collected in one fitness function): Utilization, stress check < 100%  (done manually in Grasshopper by using the sectional forces from Karamba) A minimum allowable natural frequency (the frequency is calculated by Karamba) A maximum allowable acceleration (planned to be calculated by an expression in grasshopper) When the three criteria are met, the fitness function will try to reduce the weight of the bridge as much as possible. My main question is about the acceleration. Before we can calculate the accelerations we need the node point (the location) for the maximum deflection of the mode shape (ex. mode 1). Is this in any way possible?     If we have the location for the maximum deflection, we can add a load in exactly that point and hereby calculate the maximum acceleration.   Besides the main problem I also have a minor problem by showing the deformation: Deformation for the 1st mode shape – no problem, deformation figure is shown:   Deformation for a simple load case – problem, deformation figure is NOT shown: Does anybody know why this can be? Thanks in advanced. Best regards, Claus…
Added by Claus Nielsen at 2:55pm on August 20, 2013
Event: Grasshopper Training at McNeel Europe
understanding of the graphical algorithm editor, and then dive into more complex parametric models. We’ll also learn tricks to keep our project responsive and enjoyable to use. Course outline inspired in the first, visual programming part of the Grasshopper primer (http://www.grasshopper3d.com/page/tutorials-1) Duration: 3 days (24 hours). Including An understanding of the Grasshopper interface and the visual programming theory Base parameters, large numbers of points and vectors, and small geometrical instances Data flow Troubleshooting definition problems and solutions Know the main component types Be able to join, and manage connections and trees Expressions for both calculation and boolean creation Understand Data Matching and casting Managing long lists of objects within Grasshopper Have an understanding of the functioning of Grasshopper components Experience creating definitions Parametric geometry examples, like attractors and list culling Re-utilizable modeling examples: colored panelization, surface population, gradient and picture sampling and manipulation, catenary line and weaving Spline animation examples Getting ready to prepare own definitions in groups More information... …
Added by Giulio Piacentino at 5:18am on January 4, 2010
Event: Grasshopper Introductory Training at McNeel Europe
dive into more complex parametric models. We’ll also learn tricks to keep our project responsive and enjoyable to use. Course outline covering similar content as the first part of the primer (http://www.grasshopper3d.com/page/tutorials-1) novel material duration: 3 days (24 hours)   Including An understanding of the Grasshopper interface and the visual programming theory Base parameters, large numbers of points and vectors, and small geometrical instances Data flow Troubleshooting definition problems and solutions Know the main component types Be able to join, and manage connections and trees Expressions for both calculation and boolean creation Understand Data Matching and casting Managing long lists of objects within Grasshopper Have an understanding of the functioning of Grasshopper components   Experience creating definitions Parametric geometry examples, like attractors and list culling Re-utilizable modeling examples: colored panelization, surface population, gradient and picture sampling and manipulation, catenary line and weaving Spline animation examples Getting ready to prepare own definitions in groups More information... …
Added by Giulio Piacentino at 7:03am on January 2, 2012
Comment on: Topic 'Wireframe to solid operations'
ould make it solid. This is not suggested as a general rule...you should understand what the machine can do, but generally simple overlaps are absolutely fine. Yes, I hear what you are saying.... I had a process that worked very well, this was for a chair I designed which to fabricate, we needed a negative mold of it, then it was to be injected with aluminum... The process was preGH, but I wrote a Rhinoscript to do it. Essentially I first generated the rough geometry which were square pipe extrusions on each line and cubes at each node. The extrusions and node geometry were exported to Maya where I welded the whole thing together as a mesh with some scripts. After all of the geometry was joined together, then I did some smoothing... It was a very manual process (aside from the rhinoscript to generate the rough geometry, and the welding scripts) but it worked quite well. Automating this should be possible fully in Rhino or Maya with some scripting or GH. Essentially what I am suggesting is post processing the wireframe model. another way people do this is with a software called Isosurf which implements several algorithms to take image slices from a 3D model or medical scans to recreate a 3D model...I have used this successfully to make a smooth model, though the process is not fully automated yet. The key algorithm here is the Marching Cubes (or Marching Tetra.) which in a way subdivides the model into a matrix of cubes, analyzes the verticies of each cube to see whether they reside inside or outside a given set of parameters, and then it reconstructs the mesh. Usually some smoothing operations on this and you get out a smooth model. This is a rough output from Isosurf.…
Added by Luis Fraguada at 6:36am on December 14, 2009
Comment on: Topic 'vb.net: closest point from a list of points with index in list'
or all the points in the list, then find which one's closest. Personally I'd do this with two functions; one that does that will take care of the closest point to the list of points, and one that is a custom distance function that doesn't square the distance. The reason being for the second function is that removing the square (which isn't needed if you just want the index) will be faster and make it work better on longer lists of points. This solution also doesn't cross the managed code barrier (ie translation from dotNET to C++) at all, so that will help with speed a little bit as well. The "extreme" solution here is to do some space partitioning, but that will really only be useful if your testing with thousands of points and is much more work. Anyway here's the two functions Function ClosestPtToPtList (ByRef testPt as On3dPoint, _ ByRef PtList as List(of On3dPoint)) as Integer Dim minDistIDX as Integer = 0 'set to first index Dim minDist as double = Dist_NoSquare(testPt, ptList(0)) Dim currDist as double For i as integer = 1 to ptList.Count - 1 currDist = Dist_NoSquare(testPt, ptList(i)) If minDist > currDist Then minDist = currDist minDistIDX = i End If Next Return minDistIDX End Function Function Dist_NoSquare (ByRef pt1 as On3dpoint, _ ByRef pt2 as On3dpoint) as double 'This is basically the Pythagorean theorem with an extra dimension Dim dX, dY, dZ as double dX = pt2.x - pt1.x dY = pt2.y - pt1.y dZ = pt2.z - pt1.z Return dX^2 + dY^2 +dZ^2 End Function Note that I put the line continuation character (underscore) in there so that the lines wouldn't wrap, so make sure that there isn't an error there when you paste it into GH. Also, I didn't actually run this code, so there might be a typo in it or something...…
Added by Damien Alomar at 9:41pm on January 15, 2010
Comment on: Topic 'The inner workings of Delaunay Triangulation'
structure of the Delaunay component. The Delaunay component wants to take each item of the source list of points and give it its own branch in the tree. That branch then contains all the indicies of the points that the source point is connected to. If you just pass the original list of points and the output of the delaunay componet to the line component, the paths won't match up and it will make some nonsense. The reason why is that the points are all in one branch, yet the indicies that they are trying to connect to are all in separate branches. Therefore GH will try to connect the original list to each of the items in each branch. I used the Lexical Mapper to change the tree structure of the original point list so that each item was in its own branch and so the branch path matched the structure of the output from the Delaunay component. The list item component is there so that I'm no longer working with the indices of the points, but rather, the points themselves. All of the other stuff (the function and branch components) are just there so that only a single element from the point structure has its lines created. In theory, this is similar to the list item component in the sense that it will extract only the items that are specified. However, this needs to work on the tree structure, not the items within the tree, hence the different components and function needed to assemble the path (which could have possibly been done differently). Hope that explains it a little better. Remember that paths (or trees or whever you want to call them) are key to working with complex data organizations in GH. Recognizing how a components works with trees and how they creates their own trees are very important to being able to utilize them effectively. The tool that makes managing all these trees possible is the Lexical Mapper. It allows you to restructure, reorganize, and clean a tree exactly how you need it and it does so in a very sucinct way.…
Added by Damien Alomar at 9:23am on February 15, 2010
  • 1
  • ...
  • 881
  • 882
  • 883
  • 884
  • 885
  • 886
  • 887
  • ...
  • 932

About

Scott Davidson created this Ning Network.

Welcome to
Grasshopper

Sign In

Translate

Search

Photos

  • Parametric Structure

    Parametric Structure

    by Parametric House 0 Comments 0 Likes

  • Tensile Column

    Tensile Column

    by Parametric House 0 Comments 0 Likes

  • Quarter Pavilion Rhino Grasshopper Tutorial

    Quarter Pavilion Rhino Grasshopper Tutorial

    by June Lee 0 Comments 0 Likes

  • Quarter Pavilion Rhino Grasshopper Tutorial

    Quarter Pavilion Rhino Grasshopper Tutorial

    by June Lee 0 Comments 0 Likes

  • Quarter Pavilion Rhino Grasshopper Tutorial

    Quarter Pavilion Rhino Grasshopper Tutorial

    by June Lee 0 Comments 0 Likes

  • Add Photos
  • View All
  • Facebook

Videos

  • Parametric Structure

    Parametric Structure

    Added by Parametric House 0 Comments 0 Likes

  • Tensile Column

    Tensile Column

    Added by Parametric House 0 Comments 0 Likes

  • Quarter Pavilion Rhino Grasshopper Tutorial

    Quarter Pavilion Rhino Grasshopper Tutorial

    Added by June Lee 0 Comments 0 Likes

  • Circle Packs

    Circle Packs

    Added by Parametric House 0 Comments 0 Likes

  • Random Abstract 2d Pattern - Rhino Grasshopper

    Random Abstract 2d Pattern - Rhino Grasshopper

    Added by kgm 0 Comments 0 Likes

  • Inflated Diamonds

    Inflated Diamonds

    Added by Parametric House 0 Comments 0 Likes

  • Add Videos
  • View All
  • Facebook

© 2025   Created by Scott Davidson.   Powered by Website builder | Create website | Ning.com

Badges  |  Report an Issue  |  Terms of Service