nter the programming world and tinker more complex, interactive solutions. We will also explore advanced programming paradigms. There is no class official programming language, as both C# and Vb.Net are possible on the participant’s side, and all examples will be provided in both C# and Vb.Net. Additionally, we will see how to get started writing full .Net plug-ins. Finally, we will have time to explore user’s own proposals on the third day.
Day 1 Morning: programming introduction in .Net
• The Grasshopper scripting components. Choosing a .Net language. Language developments
• Variables declaration, assignment and utilization. Operators. Methods [functions]. Calls
• Classes: declaration and instancing. Constructors. Importing a namespace. On3dPoints, OnLines
• Arrays declaration and usage. Lists. Adding to arrays and lists, advantages and opportunities.
Afternoon: patterns
• About OOP (object oriented programming) as opposed to procedural programming. Discussion
• Example of OOP good code reuse: sorting points by coordinates using the .Net SDK classes
• Lists as input parameters. Trees as input parameters. Usage and limitations
• Finding resources: on the net with website that can help getting started and troubleshoot. And books
Day 2 Morning: extending Grasshopper functionality with our definitions
• Store data between updates. The use of fields [globals, or static locals]
• Examples on how to use stored data between updates: a simple agents simulation
• Baking geometry with scripting directly into the Rhino document. Baking with names
• Passing custom types from a scripted component to another one. Our own code reusability
• Rendering an animation from Grasshopper. How to get started and final results
Afternoon: customizing our tools
• Our Rhino plug-in with Visual Studio C# [Vb.Net] Express Edition & wizard. Parametric mesher
• Writing a custom Grasshopper component: hacking an exporter for our data to Excel
Day 3 All day: personal project
• Rehearsal on any example from the first two days. A project that you want to start on your own, being it a Rhinoceros plug-in, a Grasshopper assembly or a script. Example might be to send data through network with UDP to Processing
MINIMUM REQUIREMENTS
A good foundation of Grasshopper visual programming is mandatory. You will need a level which corresponds to the Grasshopper 101 course outline. Examples of things that will not be covered in this course are: sorting document spheres by diameter, paneling of a surface with grasshopper components. You are expected to already know these from the Grasshopper course.…
eaningful. Humans must interact with it. Information arises when humans examine the data. Knowledge is created when information is transformed through human social interactions.”
Richard Gayle via spacecollective
The space in which we live can be monitored in many aspects and appears to be to be a gradient of data in continuous evolution and change. One of the major advantages of parametric tools is to be able to inform the design processes with accurate, specific and variable, in space and time, data streams .
DATA BODIES is a Grasshopper workshop that will focus on how its nature as an information processor and how it can be (ab)used in order to manipulate data, streaming inputs from various sources and use datafeeds to inform geometry or data structures from the very simple up to more complex ones. The aim is to give an understanding of information and data articultion as already a spatial and architectural operation; results may range from pure data communication protocols, dataviz or data-driven geometries depending on the skill levels and aspirations of each participant. The brief is also open to the suggestions and opportunities that may rise during the workflow.
DETAILS: http://www.superbelleville.org/dataworkshop/…
them can be addressed before winter.
Bugs:
. Vector preview is great, but it doesn't refresh (clear) when you disconnect components. You must delete the component or reconnect to refresh the vector previews.
. When passing values through a note pad, note pad fails to update continuously. Moving the notepad updates the display.
. Cannot pass a notepad integer into an fx1
. Point preview in RH5 appears as large red blocks, not as red crosses. (This is an old bug, may have been fixed with RH5 update in the meantime.)
. After adjusting Graph in dialog box, graph appears to be a solid grey object until moved.
. After copying and pasting, a lot of components are broken, return nulls. Requires reconnect to recompute (haven't had this problem in a while, will see if I can find a file that recreates it)
. BIG ONE: Loading a graph mapper with a file not found creates broken file... graph mapper disappears off canvas and the output wire appears turns orange and appears to be coming from the 0,0 pixel of the canvas. This happens any time you try to port a .ghx file to another system with different drive letters/paths, etc.
Wish list:
Mass addition for vectors
Interactive domain control for Image Sampler (like with Gradient Mapper)
Allow Addition Component to handle String values (A + B = AB)
BIG ONE: Request Override for Icon display for Parameters, Wireless receiver, and script components if you change the name
BIG ONE: Add new behavior for Stream Filter and Stream Gate: Allow multiple index numbers. The Index number picks the value/object in the corresponding index position in the selected list.
For instance:
List 0: A, B, C, D, E
List 1: 1, 2, 3, 4, 5
List 2: .1, .2, .3, .4, .5
Index Stream: 0, 2, 2, 1, 1, 2, 1, 0, 1
Results: A, .2, .3, 4, 5 (This is new behaviour and more useful than Weaving)
I have attached a GHX that includes VB components that do this, but it would be better to have GH components with I/O manager options and data matching behavior, etc.
Thanks,
Marc Syp
Knowlton School of Architecture
The Ohio State University
Columbus, OH…
curves A and B.
For each point pA on curve A,
you need the corresponding tangent vector tA on curve A, and the lists of "cone" vectors pB(j)-pA and tangent vectors tB(j) on curve B. so you have three vectors tA, tB(j) and AB(j)
these three vectors define a parallelogram thas varies along j
3d determinant of the three vectors above gives you the volume of this parallelogram. When 3dDet = 0 then it means it's flat, the vectors are coplanar. Thats what we're looking for.
So you just need to plot the curve 3Ddet = f(pB) , still for each point on A
'pB is the parameter here'
graphically solve these cuves to find the zeros and you feed back the resulting parameter in curve B. draw te line, done.
You can manage double solutions or cusps directly on the plot by using clostest point and >= conditions to kill unwanted results.
I do it twice, from crv A to crrv B and from B to A to make sure I catch start and end generatrices each time.
The videos you posted are interesting. I don't understand how it works with just 2 slider to tune the curves.
…
as passing this extra check and because of that it was running faster. It doesn't mean that the first analysis is totally wrong as it depends on the analysis case and should be checked and optimized before running the final analysis.
You can read more about radiance parameters here (http://radsite.lbl.gov/radiance/refer/Notes/rpict_options.html), and here (http://radiance-online.org/community/workshops/2011-berkeley-ca/pre...). Since you have a light-shelf I suggest you to add to the number of ambient bounces (ab).
Now back to your wish to have the analysis run faster you can comment the line hb_writeRADAUX.checkInputParametersForGridBasedAnalysis() inside Honeybee_runDaylightSimulation and it won't overwrite the initial values but make sure that you run a number of test cases and compare the results between the runs.
Back to your definition, it looks good to me. You could have saved yourself some time by using MassToZone component and then just adding the ceiling separately but there's nothing wrong with your approach.
The main place in the definition that can change is how you're generating the vertical fins. I imagine you can use a single set of components to generate every group of the fins but again your definition will work.
I updated your file to the latest version, which means you also need to update Honeybee and Ladybug in case you're looking to modify the file.
Hope it helps,
Mostapha…
ky.exe did not accept -p parameter and made empty sky.cal file.
----
Edit: solved run problem, Bee did not download OpenStudioMasterTemplate.idf
Get it here: https://github.com/mostaphaRoudsari/Honeybee/issues/119
Now get empty HDR:
C:\ladybug\prox\imageBasedSimulation>rpict -i -t 10 -vtv -vp 245.129 -226.458 20 0.405 -vd -0.549 0.656 -0.518 -vu -0.332 0.397 0.855 -vh 42.862 -vv 26.991 -v l 0 -vs 0 -vl 0 -x 800 -y 600 -af prox_RAD_Perspective.amb -ps 8 -pt 0.15 -pj 0.6 -dj 0 -ds 0.5 -dt 0.5 -dc 0.25 -dr 0 -dp 64 -st 0.85 -ab 2 -ad 1024 -as 175 -ar 150 -aa 0.200 -lr 4 -lw 0.050 -av 0 0 0 prox_RAD.oct 1>prox_RAD_Perspectiv e.unf rpict: 0 rays, 0.00% after 0.0000 hours rpict: skybright`c__ladybug_skylib_cumulativeSkies_SINGAPORE_SGP_SINGAPORE_SGP_1 : undefined variable rpict: 1020 rays, 4.91% after 0.0000 hours
----
Hi friends,
trying to get a cumulative sky image metric to run and encountered an issue with the image-based metrics component. It throws:
Runtime error (KeyNotFoundException): honeybee_materialLib Traceback: line 768, in main, "<string>" line 1442, in script
I guess this is some sort of setup issue on my end, or I messed up the definition? Any help appreciated.
Thanks,
Max
…
ace when I start running Galapagos/Octopus (below is "room orientation optimization" shared at http://hydrashare.github.io/hydra/viewer?owner=mostaphaRoudsari&fork=hydra_1&id=Room_Orientation_Optimization&slide=0&scale=1&offset=0,0) It may take quite some time to see some results. That's fine for the above simulation. But my real challenge is, when I am going to optimize room dimension with respect to ASE and sDA calculations, either Galapagos or Octopus goes wildly and never come up with a solution. I believe the time-consuming calculation, especially sDA with higher -ab numbers, trigger the lag a lot? Any suggestion/trick to improve it?
Most importantly, based on your experience, for example to optimize window/exterior shades sizes and achieve ASE<10% and sDA>55% (LEED v.4 requirements), Octopus (due to its capacity of multiple objectives) is the only choice? Any other approaches within grasshopper?
The alternative approach in my mind as a GH beginner is as follows. But I am not sure whether it is doable. Again, your comments will be greatly appreciated.
Since all my room/window/shades dimension are controlled by number sliders, I am thinking whether a component from GH will trigger these number sliders (not necessary to be all of them but one by one) automatically. If this is possible, I can do "data recorder" to record outputs from ASE and sDA. Eventually I will have a database of the input parameters and sDA/ASE results.
Does it make sense? Is there a component which can trigger number slider output at certain step?
Many thank!
Cheney …
ng (It's a bit similar to the Knapsack problem):
I have a Variable --> XandI Have fix numbers (can we call "pieces") 9,12,15,18
I'd like to reach the X, with the summing of these numbers and using the minimum pieces ,it can't be lower than X, but it can be higher, maximum with 3.After this it has to found the most optimal combination which mostly use the same pieces
E.G.
X=98
The wrong solution is like = 1pcs of 18 = 9pcs of 9
Sum of pieces are 10
OR
= 3pcs of 18 = 1pcs of 15 = 1pcs of 12 = 2pcs of 9
Sum of pieces are 7
The right solution in this case = 5pcs of 18 = 1pcs of 9
(5*18)+(1*9)=99 it's good beacuse it's over with maximum 3 and uses the minimum pieces
Then it sends to a list like18 : 5pcs15 : 0pcs12 : 0pcs9 : 1pcsCan somebody help me ? Or is it possible to make this ?
Thank you…
Added by Petrik Kollár at 1:09am on November 10, 2017
llowing for higher skyline and construction areas along public transportation corridors. Up until now, neighborhoods once characterized by two-story houses, gardens and ground- floor open shopfront programs, have been completely transformed by the introduction of fortressed monolithic residential and office towers, which lack any sort of urban street life.
The new master-plan, however, now requires buildings to have an open street façade to accommodate multiple programs. Led by tutors from UNStudio (www.unstudio.com), the AA Visiting School São Paulo will address the changes being prescribed by the new masterplan through the redefinition of the tower typology in the extending of the ground of street culture, green landscapes and ecological mediation along the vertical axis of these buildings. For this, the workshop will teach advanced digital design and fabrication techniques to explore a series of novel differentiating structural and environmental organizations in the redefinition of the São Paulo skyscraper.
For more information:
saopaulo.aaschool.ac.uk
Applications:
https://www.aaschool.ac.uk/STUDY/ONLINEAPPLICATION/visitingApplication.php?schoolID=303
For any queries, please email: brazilvisitingschool@aaschool.ac.uk.…