.5,-3.0; 2.1,-6.7;0.35: 2: 7.2,-8.1; 6.2,-7.0; 5.7,-2.3;0.5: 0: 1.5,3.5; 2.3,-0.4; 2.6,-1.2;0.5: 1: 5.6,-3.1; 5.2,-1.5; 6.3,-6.0;0.5: 2: -3.4,6.4; -3.0,5.5; -2.9,7.6;The first number of each line is the z value. Each z value is used multiple times with a list of x,y values. That second number is the index of the list of points for the z value, and the following ordered pairs are the x,y values.
I attached my script, which outputs each line of data as a branch containing the points on that line (paired with the z value at the start of the line). The paths output are {0;0;#} where # ranges from 0 to 799. I'd like to collect all the lines with the same z values into one branch, however, resulting in something like {0;$;#} where $ ranges from 0 to 7 (the number of different z values) and # ranges from 0 to 99 (the number of lists of points associated with each z value), rather than having them all compressed into one list.
I'm reading the input line by line, but if I read it all at once, I could create a loop that examines each line's z value and stores the line into a list specific to that z value, then output all those lists of lists as a list/DataTree? Is that what you are suggesting, David Stasiuk? …
Added by Mark Bank at 2:55pm on September 27, 2012
y to heaven (or hell) is full of pain,frustration and tears. In plain English: if you are not totally committed (and willing to pay the heavy price) ... well ... what about forgetting all that freaky stuff? (the best option, trust me)
Note: 99% of beginners dream to learn programing in order to make geometry. But the truth is that this is the least (and rather the most insignificant) that you can achieve especially when working in teams with lot's of CAD/MCAD apps (and verticals) in the practice of tomorrow (bad news: tomorrow is already yesterday).
Anyway: How to go to Hell in just 123 easy steps
Step 1: get the cookiesThe bible PlanA: C# In depth (Jon Skeet).The bible PlanB: C# Step by step (John Sharp).The bible PlanC: C# 5.0 (J/B Albahari) > my favoriteThe reference: C# Language specs ECMA-334The candidates:C# Fundamentals (Nakov/Kolev & Co)C# Head First (Stellman/Greene)C# Language (Jones)Step 2: read the cookies (computer OFF)Step 3: re-read the cookies (computer OFF)...
Step 122: re-read the cookies (computer OFF)Step 123: Open computer > burn computer > computers are a bad thing (not to mention the Skynet trivial thingy).May The Force (the Dark Option) be with you.
…
ore simplest way, for example i need to declare min distance (minDist) like huge number to avoid overlapping values. may be find way do not use second loop in script at all . In the neoarchaic's script has line 99 (j = pts.ClosestIndex(pt)) but i have no idea how to do it in C#.
2. In a file i prepared GH+Hoopsnake and GH+Anemone solution for this script . Can i use the same principle in C# (shipt list with wrap values )? This solution I need for studying list operations in C#.
Thank you for helping .
ps..My script:
int num = x.Count; double minDist,dist; int minI = 0; int i = 0;
Point3d pt; List<Point3d> z = new List<Point3d>();
while (i < num) { i++; z.Add(x[minI]); pt = x[minI]; minDist = 1000000000000; x.RemoveAt(minI);
for (int n = 0; n < x.Count; n++){
dist = x[n].DistanceTo(pt);
if ( dist < minDist) { minI = n; minDist = dist; } } } A = z;
…
umbrella of Urban Heat Island (UHI) and I am going to try to separate them out in order to give you a sense of the current capabilities in LB+HB.
1) UHI as defined as a recorded elevated air temperature in an urban area:
If you have access to epw files for both an urban area and a rural area, you can use Ladybug to visualize and deeply explore the differences between the two weather files. Ladybug is primarily a tool for weather file visualization and analysis and it can be very helpful for understanding the consequences of UHI on strategies for buildings or on comfort. This said, if you do not have both rural and urban recorded weather data or you want to generate your own weather files based on criteria about urban areas (as it sounds like you want to do), this definition might not be so helpful.
2) UHI defined by air elevated air temperature but viewed as a computer model-able phenomenon resulting primarily from urban canyon geometry, building materials, and (to a lesser degree) anthropogenic heat:
This definition seems to fit more with they type of thing that you are looking for but it is unfortunately very difficult and computationally intensive such that we do not currently have anything within Ladybug to do this right now. I can say that the state-of-the art for this type of modeling is an application called Town Energy Budget (TEB) and this is what all of the advanced UHI researches that I know use (http://www.cnrm.meteo.fr/surfex/spip.php?article7). Unfortunately for those trying to use it in professional practice, it can take a while to get comfortable with it and it currently runs exclusively on Linux (this does mean that it is open source, though, and that you can really get deep into the assumptions of the model). A couple years ago, a peer of mine translated almost all of TEB into Matlab language making it possible to run it on Windows if you have Matlab. He wrapped everything together into a tool called the Urban Weather Generator (UWG), which can take an epw file of a rural area and warp it to an urban area based on inputs that you give of building height, materials, vegetation, anthropogenic heat, etc. I would recommend looking into this for your project, although, bear in mind that is it not open source like the original TEB tool and that you may need to get a (very expensive) copy of MATLAB (http://urbanmicroclimate.scripts.mit.edu/uwg.php).
3) UHI as defined by a thermal satellite image of an urban area depicting an elevated average radiant environment that reaches a maximum a the city center and changes by land use:
This is the definition of UHI that I am most familiar with and was the basis of much of my past research. I feel that it is also a definition of UHI that is a bit more in line with where a lot of contemporary UHI research is headed, which is away from the notion of UHI as a macro-scale meteorological phenomena that is averaged as an air temperature over a huge area towards one that accepts that different land uses have different microclimates and (importantly) different radiant environments. While the air temperature difference between urban and rural areas usually does not change more than 1-4 C, the radiant environment can be very different (on the order of 10-15 C differences). The best way to understand UHI in this context is with Thermal satellite images, for which there is ha huge database of publicly available data on NASA's glovis website (http://glovis.usgs.gov/) or their ECHO website (http://reverb.echo.nasa.gov/reverb/#utf8=%E2%9C%93&spatial_map=satellite&spatial_type=rectangle). I tend to use thermal data from LANDSAT 5-8 and ASTER satellites in my research. Unfortunately, there is a lot f bad data with a lot of cloud cover mixed in with the really good stuff and it can take some time to find good images. Also, there aren't too many programs that read the GeoTiff file format that you download the data as. I know that ArcGIS will read it, a program called ENVI will read it (I think that the open source QGIS can also red it). I have plans to write a set of components to bring this type of data into Rhino and GH (I may get to it a few months down the line).
4) UHI as a computer model-able notion of "Urban Microclimate" with consideration of local differences and the local radiant environment:
This is where a lot of my research has lead and, thankfully, is an area that Honeybee can help you out a lot with. EnergyPlus simulations can output information on outside building surface temperatures and these can be very helpful in helping get a sense of the radiant environment around individual buildings. Right now, I am focusing just on using this data to fully model the indoor environments of buildings as you see in this video:
https://www.youtube.com/watch?v=fNylb42FPIc&list=UUc6HWbF4UtdKdjbZ2tvwiCQ
I have plans to move this methodology to the outdoors once I complete this initial application to the indoors. For now, you can use the "Surface result reader" and the "color surfaces based on EP result" components to get a sense of variation in the outside temperature of your buildings.
I hope that this helped,
-Chris
…
ce issue with Rhino and shouldn't make an issue with EnergyPlus but just to have cleaner geometries, I untrimmed base surfaces so zones are closed brep now.
I also noticed that when you are adding multiple openings to a surface, the surface doesn't show-up in the output of createHBZoneFromHBSurfaces. The surfaces are there though and show up once you explode the zone! Again should be a tolerance issue for join. I need to take a closer look to both of these.
Also, in a number of the zones you had wall surfaces connected to createZoneFromHBSurfaces both before and after adding glazing. I removed parent surfaces so you don't end up having duplicate surfaces.
Back to adjacency which was your question, the issue happens since you have couple of zones with the same name so component was assuming them to be the same zone so it wouldn't solve the adjacency (Yes! it shouldn't. That was a bug which is fixed now). I changed the names and now it should find the surfaces that you are looking for.
Moreover, once you solve the adjacency, next solveAdjacency won't overwrite the BC unless you set remCurrentAdj to True.
Mostapha…
ey eventually recover and you can continue to working normally. This however is not very practical...
(Additional information: We have a virtualized Windows SPS environment, might this be the problem? Locally - on my hard drive - it works fine.)
Futhermore we've discovered the following bug/feature:
We export a cluster and reference it back into our .gh file, then copy the .ghcluster file to a different location and rename the copy (without opening or changing it), then also reference the copied version back into the .gh file. Now Grasshopper shows two clusters with two different file paths, but claims that they both are the same ("this cluster occurs twice in this document"). If I double click one of them, make a change and save, both clusters get changed, even though they are separate .ghcluster files.
This would follow the logic that David laid out in this entry (http://www.grasshopper3d.com/page/clusters09), that GH identifies a cluster not by its file name or location but by its internal ID.
An addition we would very much appreciate for the next GH update, would be the option to right click a referenced cluster and then not only be able to "update" it but to also to "relink" it to a new or different source.
Right now you have to rename or delete the .ghcluster file in order to relink a cluster via the update option. You can also overwrite the old cluster und update. However, sometimes we want to keep the old version or disentangle one of a clusters many instances and relink just one, with out loosing its various inputs and outputs by referencing the new version and reconnecting it.
Thanks, BB.…
he picture (4).
Previously, I had a problem with generating intersections between the two directions of the beams, but a colleague helped me by extending beams, so there was no problem with lines of intersection. But this solution has generated curl (5) at the highest vertex geometry, which I ignored in order to repair it before printing, perhaps this mean my problem with my beam spread properly. Only when the beams is 19, does not jump no problem, but I still can not distribute them properly.
(1)
(2)
(3)
(4)
(5)
I tried to show as simply as possible by removing or signing my code in GHX file.
Thank you in advance for your help
…
tunities offering new tools and ways to understand dataflow, performance analysis, logic constructions, etc. Over that statement, I've always observed that a definition is full of information at component level or small groups, but that informed-user-feeling disappears exponentially while you zoom out an get a more general picture of a big definition (small definitions are not a problem due to the good level of information supplied at that zoom factor).
So I though, why not to use this graphic potential to lead to a more complete data representation at low zoom factors in big/very big definitions? Have you ever noticed how annoying is to review big definitions captures printed in A1 project panels? These captures lack any kind of useful information (even if you are an expert in GH)...you can only conclude looking at them how organized or well planed was the definition coding process...but nothing else (not really, you can conclude other stuff, but not at the level that you could expect from a graphic-centric coding tool). Some users has invented ways to give more data to third-person users/tutors...: using panels with text scaled up, using scribble components, importing drawings from rhino...is even more frustrating if you want to explain how the definition works using one of those captures...there are not landmarks, etc to support your speech.
All this lead us to include certain components search (by name, plugin, tab...) into our mapping tool. Could be nice to be able to stack several layers of information visually, and it could lead to a better understanding on GH definitions as a whole and not as small pieces linked together.
Sorry for the big "tocho"...like we say in Spanish.
By the way, the histogram thing sounds great :D…
Added by Ángel Linares at 5:36am on November 6, 2015
uld draw, lets say opening locations which would then trigger certain code. Its fairly easy to convert formating, a cell with a certain color, to code, so in a way I would be using excel as a super basic cad program to manage lists of data. In order to do this I need to be able to call some Excel commands from Rhino and to add some functionality to LAN's rhino to excel script (http://www.livearchitecture.net/archives/1516) I would like to be able to get the Ubounds and dimension of an array or a list. . . ie somehow get the equivelenat number of rows and columns of an incoming list of data and then use this to generate some graphics in excel but . . . . It seems that the sytax for excel Vb script via interoperability
marshaling is a bit different:1)I can not use
the set command ie Set range 2) it does not allow me to use the typical excel
syntax such as:
Worksheets("Sheet1"). Range("A1:D4").BorderAround
ColorIndex:=3, Weight:=xlThick
I get the following errors
Error: Method arguments must be enclosed in parentheses. (line 114)
Error: Name 'xlThick' is not declared. (line 114)
Is their an alternate way to write the Excel commands? Or is there something I need to do in Rhino? Any advice would be appreciated.
Best,
Ben…
Added by Ben Fortunato at 11:10am on February 27, 2010
rection: there's no visible demand. Explanation: a lot of AEC oriented people (Smart Geo daydreamers) they think - potentially - about GH but they are rejecting it for more than obvious reasons: our job is 1% about the smart thing and 99% about the structured aspect of the smart (or stupid thing).
Back to that "hangar" : The primary role of this GH definition provided herein (and hopefully some future updates) is NOT to outline some academic solution (via some abstract collection of pipes/lines/points/surfaces) ...but to place in 3d space - properly structured - all the real-life (hmm, he he) bits that can compose the actual project. Of course if the bits could be parametrically driven assemblies ...well...you get the gist of the message.
All in all: I think that Engineers who are GH skeptics could see GH with a totally new perspective if, say, a collection of similar examples/test cases could be available for demo/evaluation/whatever > Ah! at last : this appears to be a real thing > what software did it? > say it again - Grass Components you said? > what sort of name is this? ... etc etc etc.
But since a similar development is quite expensive (and requires a team of several gurus), maybe this is rather a future potential task for the GH/Rhino people if they think that the AEC market segment could be beneficial for their products. Combine a similar capability with tools like yours and/or Evolute (planar quads are "a-la-mode" these days).
PS: forget trivial stuff > what about Stefanie? (plan B : better something than nothing)…