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 - 福彩3天齐网首页正版保真『0TBH·COM』福彩三d试机号码开机号码2023年3月19日7时42分22秒.H5c2a3.kcssaaksa.com

Topic: Change End Bulge of a Curve!
er). With the command "End Bulge" I noticed that G2 moves perpendicular to G1! But with an increase which is not equal... and is different, every time, depending on the angle between G0 and G1 and G2. How do I predict the position of G2 compared to G1 simulating the "End Bulge" command? Thank you for your professional answers. ^___^   Below you can see an example with a curve crimson ... If I move G1 of 1 unit G2 moves of 0.42 units (perpendicular) .. If I move of 2 units the next step is 0.46 unit... 3 units --> step 0,50 units... etc. And each time changes depending on the initial conditions (G0/G1/G2 angle). …
Added by Lucius Santo at 4:21pm on September 20, 2012
Topic: Automate Sliders + Extract model data
.com/forum/topics/use-pythoneditor-to-run?commentId=2985220%3AComment%3A138538 For now I am considering a simple test case in which a set of sliders are added together into a GH_number component called "output": I am finding that from the Rhino Python Editor it is definitely possible to change the slider values and retrieve results in a loop. Below I copied the code that runs from the Rhino Python Editor, where I simply change the slider value of the slider with Nickname "Number Slider1" from 0 to 2. (note that grasshopper and the testfile are already open in this example) This script prints out the following results as expected: Slider value: 0.0Result value: 1.154Slider value: 1.0Result value: 2.154Slider value: 2.0Result value: 3.154 However using the exact same code in a GHPython component within Grasshopper the Grasshopper Python Script Editor's console reads: Slider value: 2.0Result value: 3.154Slider value: 2.0Result value: 3.154Slider value: 2.0Result value: 3.154 It seems that the solver doesn't recompute during each iteration but just retrieves the final state of my script. So basically I have been trying to trigger a 'runsolver' command inside my loop. I tried using the methods available trough the RhinoScript interface, as David describes here. http://www.grasshopper3d.com/forum/topics/open-a-gh-automatically I could create a loop looking like this: But running this in the Grasshopper Component crashes Rhino. I have also tried this by Disabling the solver first using the DisableSolver() method. This does disable the solver but still Rhino crashes. Also I used the ExpireSolution(True) method on the slider object like: However in this case I don't get any different results. So I guess my question is simple: Is there a way to recompute the solver after a slider change inside a GHPython script component during a loop? Any suggestions, or references would be greatly appreciated! (FYI: I am using Rhino5x64 and Grasshopper Version 0.9.0014, attached is the script I used both in the Rhino Python Editor and the GHPython component and the grasshopper file)…
Added by Dion Jansen at 5:32am on June 1, 2013
Topic: Electric lighting components for Honeybee
y using the Honeybee_Update Honeybee component. The video below (best viewed in full-screen mode) provides an idea of what these components are capable of being used for: The video below shows how these components can be used in an existing Honeybee project (for additional links please open this video in youtube): I have uploaded two examples as Hydra files that show how these components can be used for grid-point and image-based simulations: Example1 : Grid Point Calculations Example2: Image based simulation Finally, a more esoteric application is demonstrated in this video: These components are still in the beta-testing stage. Some of the limitations of the components are: 1. Only Type C photometry IES files are supported at present. 2. Rhino is likely to get sluggish if there are too many luminaires (i.e. light fixtures) present in a scene. 3. Due to the spectral limitations of the ray-tracing software (RADIANCE), simulations involving color mixing might not be physically realizable. Additional details about photometric and spectral calculations are probably an overkill for this forum. However, I'd be glad to answer any related questions. Please report any bugs or request new features either on this forum or on Github. Mostapha, Leland Curtis, Reinhardt Swart and Dr. Richard Mistrick provided valuable inputs during the development of these components. Thanks, Sarith Update 16th January 2017: An example with some new components and bug fixes since the initial release announcement can be found here …
Added by Sarith Subramaniam to Ladybug Tools at 10:25pm on January 13, 2016
Topic: Grasshopper interface freezes and it uses large amount of memory during start
mment%3A1637953 First of all, the invalid Rhino license as seen previously has been removed, and the correct educational license we have is re-installed for this test. The re-appearing issue is that RAM usage spikes once GH is open in Rhino. It seems that this happens when a series of large GH project files incrementally saved are stored in the same folder. Moving those previously saved large project files to a new folder seems to be able to solve this issue. The images below explains the issue and the hypothetical solution: 1. A series of GH files were incrementally saved in the same folder previously, and the last few GH files are the ones opened most recently: 2. The total RAM usage is at the normal 5GB level once Rhino is open: 3. Once GH is open, the RAM usage spikes, and the it becomes very slow to maneuver the GH window before even opening any one of those GH files: 4. Once GH and Rhino are closed, the RAM usage drop to the previous level before the GH interface was open: 5. Now, all the incrementally saved GH files are moved to a new folder "wip" except the last one, i.e. for the last GH file, there is no other previous GH files in the same location: 6. Now, if we open GH, there is no sudden increase of RAM usage, and the 3x3 thumbnails on the GH canvas shows "missing" as those previously opened GH files are no longer in the same location as they were before: I understand that David mentioned that the thumbnails for previously opened GH files on GH canvas will not take much RAM. Nevertheless, I'm still not sure what is causing the increase of RAM usage and slowdown of GH interface. Relocating the large project files previously saved in the same folder as the current GH file seems to be able to make this issue go away, for unknown reason ... Appreciate if anybody experiencing similar issue can help to check if this solution works. Thank you. …
Added by Grasshope at 12:49am on January 26, 2017
Group: IO
or GH with: 1. Animation Timeline 2. Rendering 3. API Summary: Animation Timeline: Smooth animation system that plays at the real-world speed; so you know the robot will run just right when you upload the code. Rendering: Extensive options and outputs; so you can generate amazing videos. API: Access our functions through Python and C# scripting; so you can manage parameters and actions for complex processes for each target. More info: Animation Timeline: Build an animation from a list of Planes, it's that easy! Get these from points, curves or surfaces. Download the example files with the trial and test it yourself. The unique Timeline component displays all the important robot warnings and the digital Input/Ouput: RED – clash detection BLUE - singularities YELLOW – over rotation ORANGE – out of reach Digital Inut/Output: red=off, green=on Rendering: IO smoothly interpolates between all the Planes you set. This means you can generate keyframes for positions between Planes too e.g. you have two planes defining a tool path, IO can generate 2000 keyframes. Smooooth! Rendered in full colour as standard, not GH red :-)  LiveBaking - let's you use Rhino render settings in real-time (can be a bit slow!) Slider animation - use the native 'Animate' option to export hi-res images and create videos easily. Just set the number of frames you need (hint: divide total time in seconds by the frames-per-second rate) Bake unlimited meshes as keyframes for export to render-pipelines in 3DS etc. API Accessing the IO functions through Python and C# let's you build more powerful definitions. You can assign data to every position the robot reaches, allowing you to control speed, acceleration, wait-times, actions and more. Examples comparing C# with Python are included in the examples files. You can also use teh API build your own plugins that use the IO timeline to do all the hard work like IK and creating valid code, while you enjoy developing your new process... Check out the website for more features and videos of the example definitions: www.robots.io Download the PDF guide: 150314_IO_Primer_v1.pdf. See www.robots.io for more info and pricing. Developed by RoboFold Ltd. Used by leading academics, researchers and professionals. …
Added by Gregory Epps at 10:15am on November 7, 2014
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
Topic: SmartGeometry 2011 Copenhagen: Workshop Applications now open!
nd the challenge "Building the Invisible: Informing Digital Design with Real World Data".  Information about each Workshop Cluster can be found here: Cyber GardensUse the ForceUrban FeedsSuspended DreamsInteracting with the CityAgent ConstructionAuthored SensingPerforming SkinsResponsive Acoustic SurfacingHybrid Space Structure Typologies The SmartGeometry 2011 Workshop will take place at CITA   http://cita.karch.dk/ Applications to attend the SmartGeometry 2011 Workshop in Copenhagen will close on 31st January 2011.  General Conference registration will open within 1 month. We hope to see you there! **************************************************** Workshop   28th-31st March Shop Talk   1 April Symposium   2 April Reception     2 April These events follow the highly successful previous SG events in Barcelona 2010, San Francisco 2009, Munich 2008, New York 2007, Cambridge/London, UK 2006 and multiple preceding events. Click here for more info... This year's Challenge is entitled:BUILDING THE INVISIBLEInforming Digital Design with Real World Data THE PREMISEVast streams of data offer a rich resource for designers. By incorporating external information into our design processes the autonomy of the design is challenged. User data, energy calculations, embedded sensing, material and structural simulation, human behaviour and perception, particle flows and force fields allows design to be situated and responsive. From the simulation of megacities to the solid modelling of material systems, design has the potential to be informed by the real. Design sits not separate from is environment but inhabits an ecological system, open, dynamic and interdependent, diverse, partially self-organising, adaptive, and fragile. Across scale and within time we now have the chance to instil architecture with an immanent intelligence creating new relationships between the user, the built and its ecosphere.THE OPPORTUNITYSystems theorists suggest that data is only a raw material. It can be differentiated from information, knowledge and wisdom. Understanding is multi-levelled: understanding of relations, understanding of patterns, understanding of principles. As digital designers our challenge is in harnessing the power of computation to assist us in informing our design process. Computers help us collect, manage and analyse the environment and inform us about an abundance of data. Our challenge is to use these inputs in a meaningful way to help us make better informed design decisions.THE AIMSG 2011 explores how the incorporation of real world data challenges existing design thinking. The SG 2011 workshop aim is to create physical prototypes of design systems to be exhibited in the SG2011 exhibition. The SmartGeometry Group is a not-for-profit educational organization dedicated to the use of computational tools in architecture and engineering.  SG brings professionals, academics, and industry together to explore the next generation of digital design.  SG Workshops are non-platform specific, believing it is the methodology, not the tool, that matters. …
Added by Shane Burger at 11:23am on January 6, 2011
Blog Post: Tree Sloth Data Structure Components, early testing

Hi everyone-

UPDATE: There is a new Tree Sloth out there as well, with quite a bit more functionality.  I've relocated it to the Milk Box, because it all layers in…

Added by David Stasiuk at 4:31am on March 5, 2013
Blog Post: mesh optimization

I figured that before Daniel Piker drops another giant pile of awesome on all of us with dynamic bottom-up mesh topology optimization in kangaroo, I'd share a little bit of some stuff I've been…

Added by David Stasiuk at 4:51pm on October 1, 2012
  • 1
  • ...
  • 901
  • 902
  • 903
  • 904
  • 905
  • 906
  • 907
  • ...
  • 911

About

Scott Davidson created this Ning Network.

Welcome to
Grasshopper

Sign In

Translate

Search

Photos

  • Tensile Installation

    Tensile Installation

    by Parametric House 0 Comments 0 Likes

  • Spike Pavilion Rhino Grasshopper Tutorial

    Spike Pavilion Rhino Grasshopper Tutorial

    by June Lee 0 Comments 0 Likes

  • Spike Pavilion Rhino Grasshopper Tutorial

    Spike Pavilion Rhino Grasshopper Tutorial

    by June Lee 0 Comments 0 Likes

  • Legal Aspects of Online Gambling Around the World

    Legal Aspects of Online Gambling Around the World

    by Maximilian Hohenzollern 0 Comments 0 Likes

  • Polyline Contour

    Polyline Contour

    by Parametric House 0 Comments 0 Likes

  • Add Photos
  • View All
  • Facebook

Videos

  • Grasshopper Tutorial for Beginners

    Grasshopper Tutorial for Beginners

    Added by Parametric House 0 Comments 0 Likes

  • Spike Pavilion Rhino Grasshopper Tutorial

    Spike Pavilion Rhino Grasshopper Tutorial

    Added by June Lee 0 Comments 0 Likes

  • Grasshopper Tutorial For beginners

    Grasshopper Tutorial For beginners

    Added by Parametric House 0 Comments 0 Likes

  • Circuit Pavilion Rhino Grasshopper Tutorial

    Circuit Pavilion Rhino Grasshopper Tutorial

    Added by June Lee 0 Comments 0 Likes

  • 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

  • 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