Search
  • Sign In

Grasshopper

algorithmic modeling for Rhino

  • Home
    • Members
    • Listings
    • Ideas
  • View
    • All Images
    • Albums
    • Videos
    • Architecture Projects
    • Installations
    • Add-ons
  • Forums/Support
    • Current Discussions
  • My Page

Search Results - 11选5开奖结果爱彩乐-『1TBH·COM』11选5前三直最大遗漏多少期--2023年3月19日5时52分52秒.H5c2a3.t93brrchr

Event: Parametric Modulations LONDON - Rhino+Grasshopper3d+Maya
os3D + Grasshopper3D + Maya + Advanced Plugins & Demo Toolkits] ​ ​ // Level Basic, Intermediate & Advanced (Previous parametric design knowledge not obligatory - Studio is adaptive to basic & advanced users)   // Agenda The workshop aims to provide a detailed insight to ‘parametric design’ and embedded logics behind it through a series of design explorations using Rhinoceros & Grasshopper platforms, along with understanding of data-driven design strategies. An insight to Computational Design and its subsets of Parametric Design, Algorithmic Design, Generative Design and Evolutionary Design will be provided through presentations, technical sessions & studio work. Studio work will be focusing on modulation of geometry and iterative form using Parametric Design methods that will lead to explorations of spatial geometries that can be articulated as architectural constructs or abstract artistic interventions. There will be a demonstration of Fluid Form Modelling using Autodesk Maya on Day03. The 1st batch of workshop in London took place in January 2020 with an exploratory learning output for ~20+ participants that travelled from different parts of the world to be a part of 3-day workshop titled Parametric Modulations. V2.0 is the evolved workshop with new toolkit add-ons for the 2nd batch and demonstrative tools & examples for future use of participants to get a deeper understanding of Computational & Parametric Design.  // Methodology The 3-day studio / workshop shall focus on inculcating the following aspects as a part of curriculum: Computational Design Techniques & Parametric Design Data, Mathematics & Geometry Geometry Rationalization Iterative Form Development Digital simulation of forces Environmental Analysis (Tool-kits & Example files for future use) Collaborative Design Exercises to understand application of the learnt tools Documentation and Presentation Hands-on Demonstration of Maya (Polygonal Mesh Modelling) The workshop is suitable for beginners, intermediate as well as advanced users of these tools and very helpful for anyone planning to start their Masters in UK as this 3-day workshop would serve as a bootcamp to kick-start anyone's journey in Computational Design. …
Added by rat[LAB] EDUCATION at 4:43am on September 8, 2022
Topic: Ladybug Photovoltaics components released !
nts for Ladybug too. They are based on PVWatts v1 online calculator, supporting crystalline silicon fixed tilt photovoltaics. You can download them from here, or use the Update Ladbybug component instead. If you take the first option, after downloading check if .ghuser files are blocked (right click -> "Properties" and select "Unblock"). You can download the example files from here. Video tutorials will follow in the coming period.   In the very essence these components help you answer the question: "How much energy can my roof, building facade, solar parking... generate if I would populate them with PV panels"? They allow definition of different types of losses (snow, age, shading...) which may affect your PV system: And can find its optimal tilt and orientation: Or analyse its performance, energy value, consumption, emissions... By Djordje Spasic and Jason Sensibaugh, with invaluable support of Dr. Frank Vignola, Dr. Jason M. Keith, Paul Gilman, Chris Mackey, Mostapha Sadeghipour Roudsari, Niraj Palsule, Joseph Cunningham and Christopher Weiss.   Thank you for reading, and hope you will enjoy using the components! EDIT: From march 27 2017, Ladybug Photovoltaics components support thin-film modules as well. References: 1) System losses: PVWatts v5 Manual, Dobos, NREL, 2014   2) Sun postion equations by Michalsky (1988): SAM Photovoltaic Model Technical Reference, Gilman, NREL, 2014 edited by Jason Sensibaugh   3) Angle of incidence for fixed arrays: PVWatts Version 1 Technical Reference, Dobos, NREL, 2013   4) Plane-of-Array diffuse irradiance by Perez 1990 algorithm: PVPMC Sandia National Laboratories SAM Photovoltaic Model Technical Reference, Gilman, NREL, 2014   5) Sandia PV Array Performance Module Cover: PVWatts Version 1 Technical Reference, Dobos, NREL, 2013   6) Sandia Thermal Model, Module Temperature and Cell Temperature Models: Photovoltaic Array Performance Model, King, Boys, Kratochvill, Sandia National Laboratories, 2004 7) CEC Module Model: Maximum power voltage and Maximum power current from: Exact analytical solutions of the parameters of real solar cells using Lambert W-function, Jain, Kapoor, Solar Energy Materials and Solar Cells, V81 2004, P269–277   8) PVFORM version 3.3 adapted Module and Inverter Models: PVWatts Version 1 Technical Reference, Dobos, NREL, 2013   9) Sunpath diagram shading: Using sun path charts to estimate the effects of shading on PV arrays, Frank Vignola, University of Oregon, 2004 Instruction manual for the Solar Pathfinder, Solar Pathfinder TM, 2008   10) Tilt and orientation factor: Application for Purchased Systems Oregon Department of Energy solmetric.com   11) Photovoltaics performance metrics: Solar PV system performance assessment guideline, Honda, Lechner, Raju, Tolich, Mokri, San Jose state university, 2012 CACHE Modules on Energy in the Curriculum Solar Energy, Keith, Palsule, Mississippi State University Inventory of Carbon & Energy (ICE) Version 2.0, Hammond, Jones, SERT University of Bath, 2011 The Energy Return on Energy Investment (EROI) of Photovoltaics: Methodology and Comparisons with Fossil Fuel Life Cycles, Raugei, Fullana-i-Palmer, Fthenakis, Elsevier Vol 45, Jun 2012 12) Calculating albedo: Metenorm 6 Handbook part II: Theory, Meteotest 2007   13) Magnetic declination: Geomag 0.9.2015, Christopher Weiss…
Added by djordje to Ladybug Tools at 2:04pm on June 15, 2015
Topic: Memory exception in a custom plugin, manipulating Rhino layers
. Things have been working swimmingly in many areas of the plugin, but one particular problem has been tough to solve.  I have two components that are trying to read/write to the same memory at the same time, causing Rhino exceptions and crashes. The conflicts appear to be happening between two components -- one is a "Layer Events Listener" that reports essentially what type of layer event just happened.  The other is a "Set Layer Visibility" component that toggles the visibility of a list of layers. The code: public class LayerTools_LayerEventsListener : GH_Component { /// <summary> /// Initializes a new instance of the LayerTools_LayerListener class. /// </summary> public LayerTools_LayerEventsListener() : base("Layer Events Listener", "Layer Listener", "Get granular information about the layer events happening in the Rhino document.", "Squirrel", "Layer Tools") { } /// <summary> /// Registers all the input parameters for this component. /// </summary> protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager) { pManager.AddBooleanParameter("Active", "A", "Set to true to listen to layer events in the Rhino document.", GH_ParamAccess.item, false); pManager.AddTextParameter("Exclusions", "E", "Provide a list of exclusions to stop reading specific events (Added, Deleted, Moved, Renamed, Locked, Visibility, Color, Active).", GH_ParamAccess.list); pManager[1].Optional = true; } /// <summary> /// Registers all the output parameters for this component. /// </summary> protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager) { pManager.AddBooleanParameter("Initialized", "I", "Whether the listener changed from passive to active.", GH_ParamAccess.item); pManager.AddTextParameter("Document Name", "doc", "Name of the Rhino document that is changing.", GH_ParamAccess.item); pManager.AddTextParameter("Layer Path", "path", "Path of the modifed layer.", GH_ParamAccess.item); pManager.AddIntegerParameter("Layer Index", "ID", "Index of the modified layer.", GH_ParamAccess.item); pManager.AddIntegerParameter("Sort Index", "SID", "Sort index of the modified layer.", GH_ParamAccess.item); pManager.AddTextParameter("Event Type", "T", "Type of the modification.", GH_ParamAccess.item); pManager.AddBooleanParameter("Added", "A", "If the layer has been added.", GH_ParamAccess.item); pManager.AddBooleanParameter("Deleted", "D", "If the layer has been deleted.", GH_ParamAccess.item); pManager.AddBooleanParameter("Moved", "M", "If the layer has been moved.", GH_ParamAccess.item); pManager.AddBooleanParameter("Renamed", "R", "If the layer has been renamed.", GH_ParamAccess.item); pManager.AddBooleanParameter("Locked", "L", "If the layer locked setting has changed.", GH_ParamAccess.item); pManager.AddBooleanParameter("Visibility", "V", "If the layer's visibility has changed.", GH_ParamAccess.item); pManager.AddBooleanParameter("Color", "C", "If the layer's color has changed.", GH_ParamAccess.item); pManager.AddBooleanParameter("Active", "Act", "If the active layer has changed.", GH_ParamAccess.item); } /// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param> protected override void SolveInstance(IGH_DataAccess DA) { bool active = false; List<string> exclusions = new List<string>(); DA.GetData(0, ref active); DA.GetDataList(1, exclusions); RhinoDoc thisDoc = null; bool initialize = false; string dName = null; string activePath = null; int layerIndex = -1; int sortIndex = -1; string eventType = null; bool added = false; bool deleted = false; bool moved = false; bool renamed = false; bool locked = false; bool visibility = false; bool color = false; bool current = false; if (active) { thisDoc = RhinoDoc.ActiveDoc; initialize = (!previouslyActive) ? true : false; RhinoDoc.LayerTableEvent -= RhinoDoc_LayerTableEvent; RhinoDoc.LayerTableEvent += RhinoDoc_LayerTableEvent; previouslyActive = true; } else { RhinoDoc.LayerTableEvent -= RhinoDoc_LayerTableEvent; previouslyActive = false; } if (ev != null) { dName = ev.Document.Name; layerIndex = ev.LayerIndex; eventType = ev.EventType.ToString(); if (!exclusions.Contains("Active")) { if (ev.EventType.ToString() == "Current") { // active layer has just been changed current = true; } } if (!exclusions.Contains("Moved")) { if (ev.EventType.ToString() == "Sorted") { // active layer has just been changed moved = true; } } if (!exclusions.Contains("Added")) { if (ev.EventType.ToString() == "Added") { // layer has just been added activePath = ev.NewState.FullPath; added = true; } } if (!exclusions.Contains("Active")) { if (ev.EventType.ToString() == "Deleted") { // layer has just been added deleted = true; } } if (ev.EventType.ToString() == "Modified") { // layer has been modified activePath = ev.NewState.FullPath; //skip sortindex eventType = ev.EventType.ToString(); if (ev.OldState != null && ev.NewState != null) { if (!exclusions.Contains("Locked")) { if (ev.OldState.IsLocked != ev.NewState.IsLocked) locked = true; } if (!exclusions.Contains("Visibility")) { if (ev.OldState.IsVisible != ev.NewState.IsVisible) visibility = true; } if (!exclusions.Contains("Moved")) { if (ev.OldState.ParentLayerId != ev.NewState.ParentLayerId) moved = true; } //if (ev.OldState.SortIndex != ev.NewState.SortIndex) moved = true; if (!exclusions.Contains("Renamed")) { if (ev.OldState.Name != ev.NewState.Name) renamed = true; } if (!exclusions.Contains("Color")) { if (ev.OldState.Color != ev.NewState.Color) color = true; } } } } DA.SetData(0, initialize); DA.SetData(1, dName); DA.SetData(2, activePath); DA.SetData(3, layerIndex); DA.SetData(4, sortIndex); DA.SetData(5, eventType); DA.SetData(6, added); DA.SetData(7, deleted); DA.SetData(8, moved); DA.SetData(9, renamed); DA.SetData(10, locked); DA.SetData(11, visibility); DA.SetData(12, color); DA.SetData(13, current); } static bool previouslyActive = false; Rhino.DocObjects.Tables.LayerTableEventArgs ev = null; void RhinoDoc_LayerTableEvent(object sender, Rhino.DocObjects.Tables.LayerTableEventArgs e) { ev = e;this.ExpireSolution(true); } And for the layer visibility component: public LayerTools_SetActiveLayer() : base("Set Active Layer", "SetActiveLayer", "Set the active layer in the Rhino document.", "Squirrel", "Layer Tools") { } /// <summary> /// Registers all the input parameters for this component. /// </summary> protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager) { pManager.AddBooleanParameter("Active", "A", "Set to true to change the active layer in Rhino.", GH_ParamAccess.item, false); pManager.AddTextParameter("Path", "P", "Full path of the layer to be activated.", GH_ParamAccess.item); } /// <summary> /// Registers all the output parameters for this component. /// </summary> protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager) { pManager.AddIntegerParameter("Layer ID", "ID", "Index of layer that has been activated.", GH_ParamAccess.item); pManager.AddBooleanParameter("Status", "St", "True when the layer has been activated.", GH_ParamAccess.item); } /// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param> protected override void SolveInstance(IGH_DataAccess DA) { bool active = false; string path = ""; if (!DA.GetData(0, ref active)) return; if (!DA.GetData(1, ref path)) return; int layer_index = -1; bool status = false; if (path != null) { Rhino.RhinoDoc doc = Rhino.RhinoDoc.ActiveDoc; Rhino.DocObjects.Tables.LayerTable layertable = doc.Layers; layer_index = layertable.FindByFullPath(path, true); if (layer_index > 0) { // if exists RhinoDoc.ActiveDoc.Layers.SetCurrentLayerIndex(layer_index, true); status = true; } } DA.SetData(0, layer_index); DA.SetData(1, status); } Now originally I was getting exceptions when changing multiple layers' visibility properties, which would cause the Event Listener to fire and try to read the Visibility property before the memory has been released by the Set Layer Visibility component.  That led me to add an "Exceptions" input, that would allow me to disable the reading of Visibility events at the source in the Layer Events listener.  That helped me manage about 95% of the crashes I was getting, but I still get strange crashes in other event properties, even when that property shouldn't be affected.  For instance, I am getting a crash here on the Name property in the event from the delegate function, even though I am only changing Visibility at any one time: I have a few ideas but they all seem pretty hacky.  One is to try to set a flag that is readable by any component in the plugin -- so that the event listener can see if a "set" component is currently running and abort before causing an exception.  The other is creating a delay in the event listener, somthing like 200ms, to allow any set components to finish what they are doing before reading the event.  Neither seems super ideal. Any ideas? Thanks, Marc …
Added by Marc Syp at 10:45pm on July 5, 2017
Blog Post: call for chapter _ DWD 2018 _ Digital Wood Design

The editorial proposal we intend to undertake concerns the digital representation strategies that can change the future of wooden architectures, by combining…

Added by marco filippucci at 7:07am on December 8, 2017
Blog Post: Masterstudio "Inhabitable Skin" at Institut of Buildings and Energy

Added by Igor Mitrić Lavovski at 4:12pm on September 30, 2016
Blog Post: Workshop FormFinding Strategies MILANO - ITALIA

only compression vault arturo tedeschi

FORM FINDING STRATEGIES WORKSHOP…

Added by Arturo Tedeschi at 3:55am on November 12, 2015
Topic: Teaching trees and debugging them
u can still find some wonky behaviour in GH related to datatrees. My experience is that new users quite quickly get the hang of it once they learn that a tree is in fact not a tree but in the first place set of lists, where the path shows how the pieces of data used to be grouped. Branch Count checking A component has multiple tree inputs, but has different amount of branches, each having branch count > 2. (While I understand the logic of combining multiple trees, I've not once encounted once that combining a component with e.g. an input of 2 branches and an input of 4 branches to give any kind of sensible output. Desired behaviour: If a component has branches (each being > 2 path count), the component should throw a warning. ("Strict branches behaviour?). For example: take an offset component, with 6 branches of curves and 5 branches of offsets. It is extremely likely that this is the result of an error earlier in the definition. This works however without a problem - the last branch is repeated again, and it's later on quite hard to discover something went wrong. Checking branch Count The most important numeric is the amount of branches, and the amount of items in the tree. It's desired that the hovers show the amount of data and the amount of branches. Desired behaviour Trees with paths of different rank Trees that contain {0;0} and {0} and {0;0;1} is usually a sign of trouble of not well merged trees, faulty C# components, or just nasty coding habits. Trim as undo graft instead of flatten Having the trim in the context menu would provide an easy way to undo a graft. Right now the easiest way for many people is to flatten it, and then start all over again - while just getting rid of the last index keeps the underlying history and makes it easier to write reuseable pieces of code when you prepend datatrees to it. Component to get branch by index, not by path Would be great. Suppose you have a grid of points, grouped by row. It would help to show: "look, this is in the first path, it's called {0;0;1}, it's got 10 points, these points are the first row". Analogue to using list item to show what is the first point, second point, and so on. Semantic path names (maybe far fetched) But what if we can add a short name of each method that was executed to the path list, so it can show: {Slider 0; Series 0; Point 0}{Slider 0; Series 0; Point 1} {Slider 0; Series 0; Point 2} {Slider 0; Series 0; Point 3} {Slider 0; Series 1; Point 0} {Slider 0; Series 1; Point 1} {Slider 0; Series 1; Point 2} {Slider 0; Series 1; Point 3} Make the input/data matching inside components explicit Can we make it even more obvious that a component is not a black box that's executed once, but in fact an iteration machine that tries to make sense of the inputs that's fed to this box? Show data combination. How data input A relates to data input B and data input C, is currently very implict and is just plain hard to learn., and required the ability to be able to relate the output back to the input. If we can textually or even graphically show what data matching occured inside a component, it would greatly help the understanding (and debugging) of "what's going on here in this component" A verbose explanation of the data matching in component A Iteration one: - Geometry: We take the data item from Branch 0, Position 0: (Point 0,0,0) - Motion: We take the data item from Branch 0, Position 0: (Vector 0,0,0) Iteration two: - Geometry: We take the data item from Branch 0, Position 0: (Point 0,0,0) - Motion: We take the data item from Branch 0, Position 1: (Vector 10,0,0) Iteration three: - Geometry: We take the data item from Branch 0, Position 0: (Point 0,0,0) - Motion: We take the data item from Branch 0, Position 1: (Vector 20,0,0) etc. A verbose explanation of the data matching in component B Iteration one: - Geometry: We take the data item from Branch 0, Position 0: (Point 0,0,0) - Motion: We take the data item from Branch 0, Position 0: (Vector 0,0,0) .. Iteration seven: - Geometry: We take the data item from Branch 0, Position 0: (Point 0,0,0) - Motion: We take the data item from Branch 7, Position 0: (Vector 0,70,0) .. Iteration 27: - Geometry: We take the data item from Branch 0, Position 7: (Point 80,0,0) - Motion: We take the data item from Branch 2, Position 0: (Vector 0,20,0) …
Added by Arend at 12:41pm on August 7, 2014
Blog Post: Algunas observaciones en torno a la reunión del 15-V-09
Bién, ayer estuvimos reunidos unos cuantos participantes del taller para pensar qué proyecto desarrollar durante el workshop.



No llegamos a una conclusión clara, aunque creo que hablamos…
Added by Leceta at 4:21pm on May 16, 2009
Page: ND_Examples
A repository of generic or complex examples. Example 01: Attractor Values ND_001_AttractorValues.gh Example 02: Curve Values ND_002_CurveValues.gh Example 03: Point Attractor ND_003_PointAttract
Added by Marios Tsiliakos to Nudibranch at 5:34am on January 29, 2013
Event: COLLABORATIONS | The Art and Science of Building Facades
RESENTERS PETER ARBOUR seele  KEITH BOSWELL Skidmore Owings & Merrill  MARK E. DANNETTEL Thornton Thomasetti  LISA IWAMOTO IwamotoScott  JASON KELLY JOHNSONFuture Cities Lab/California College of the Arts  HAO KO Gensler  BILL KREYSLER Kreysler & Associates  ANDREW KUDLESS Matsys/California College of the Arts  CHRIS LASCH Aranda\Lasch  ARNOLD LEE HOK  MIC PATTERSON Enclos, Corp.  M. MIN RA Front  GEOFF ROSSI Element DENNIS SHELDEN Gehry Technologies  ANN SMITH Cambridge Architectural  MARCELLO SPINAP-A-T-T-E-R-N-S  SANJEEV TANKHA Buro Happold  BEN TRANEL Gensler  PHIL WILLIAMS Webcor Builders & Consulting Group   DIGITAL FABRICATION WORKSHOPS 8 LU/HSW or 8 LU credits (depending upon workshop choice) Friday, July  27th 2012  9:00 AM – 6:00 PMCalifornia College of the Arts  San Francisco, California PARAMETRIC ENVELOPES WITH GRASSHOPPERANDREW KUDLESS Matsys Design/California College of the Arts COMPOSITE FACADES IN ARCHITECTUREBILL KREYSLER & JOSHUA ZABEL Kreysler & Associates RESPONSIVE BUILDING FACADESJASON KELLY JOHNSON Future Cities Lab/California College of the Arts SCRIPTED FACADESCHRIS LASCH Aranda/Lasch PARAMETRIC FACADE TECTONICSKEVIN MCCLELLAN & ANDREW VRANA Digital Fabrication Alliance BIM MODELING WITH REVIT/INTRO TO VASARIGERMAN APARICIO California College of the Arts & Autodesk Fellow   Facade technologies are developing at a more dynamic rate than almost any other issue related to construction today with an impact on performance, sustainability, materials, fabrication, design, delivery and much more. What was once thought impossible is now an everyday reality, and the future promises accelerating change.   Presented by Enclos and The Architect’s Newspaper, COLLABORATION will bring together in a two-day event, the industry, the profession, and the academy to explore the evolution and the issues surrounding today’s high tech building envelope through case studies and lectures presented by foremost practitioners, as well as panel discussions, and workshops conducted by leaders in the AEC profession.   Aimed at architects, building owners and developers, general contractors, engineers, fabricators, material suppliers, educators, and students, the event’s panels and sessions address the transformative opportunities created by new technologies and resources. From using BIM for communicating effectively with fabricators, to energy modeling, to retrofitting practices and the latest design tools, the COLLABORATION conference offers an unprecedented opportunity to survey the possibilities of designing in the digital age.   Who Should Attend Architects, designers, engineers, building owners, developers, and facade consultants interested in gaining increased understanding of cutting-edge building envelope technologies.…
Added by German at 12:53pm on July 5, 2012
  • 1
  • ...
  • 626
  • 627
  • 628
  • 629
  • 630
  • 631
  • 632
  • 633
  • 634
  • 635

About

Scott Davidson created this Ning Network.

Welcome to
Grasshopper

Sign In

Translate

Search

Photos

  • Vase

    Vase

    by Andrey Zotov 0 Comments 2 Likes

  • Vase Mesh

    Vase Mesh

    by Andrey Zotov 0 Comments 1 Like

  • Patterns

    Patterns

    by Andrey Zotov 0 Comments 0 Likes

  • Text1

    Text1

    by Andrey Zotov 0 Comments 0 Likes

  • Plate

    Plate

    by Andrey Zotov 0 Comments 2 Likes

  • Add Photos
  • View All
  • Facebook

Videos

  • Floating Mobius Pavilion Rhino Grasshopper Tutorial

    Floating Mobius Pavilion Rhino Grasshopper Tutorial

    Added by June Lee 0 Comments 0 Likes

  • Magnet Shade Pavilion Rhino Grasshopper Tutorial

    Magnet Shade Pavilion Rhino Grasshopper Tutorial

    Added by June Lee 0 Comments 0 Likes

  • Ngon Mesh

    Ngon Mesh

    Added by Parametric House 1 Comment 0 Likes

  • Minimal Surface

    Minimal Surface

    Added by Parametric House 0 Comments 0 Likes

  • Wind Pavilion

    Wind Pavilion

    Added by Parametric House 0 Comments 0 Likes

  • Mobius Cutout Pavilion Rhino Grasshopper Tutorial

    Mobius Cutout Pavilion Rhino Grasshopper Tutorial

    Added by June Lee 0 Comments 0 Likes

  • Add Videos
  • View All
  • Facebook

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

Badges  |  Report an Issue  |  Terms of Service