. The rules to dispatch the lines are the next:
I start with a list that alternate true/false; like that: true, false, true, false.
If the angles between those lines are greater than 89° I want to inverse the next part of the list:
True, False, True, False, True, False,...
become
True, False, [>89°] False, True, False, True, [>89°] True, False,...
I managed to create a true false list, to check for the greater than 89° angle, to separate the lines relatively to the angles, but I don't know how to inverse part of the list at certain index.
(In the picture, I have written 90° but it should be 89°, I check for greater than 89° and not equal to 90° because in the real rhino model, the lines won't be exactly orthogonal)
If you have another idea to to reach the same result, it's also okay, I tried to find rules to solve the problems, but I may have overlooked other solutions !
And if there is some part of the patch that are correct but there is easier solution, I would love to learn as I am still new to grasshopper.
Thanks for taking the time to read. :)
…
more complex geometries, nothing works anymore and the output is weird: every test point has the same value (97% DA) and it's impossible to visualize these values even if a text tag 3D is assigned to points (check Result.jpg)
The output that we get is a uniform mesh.
To check this output we also run an illuminance analysis using the same test surface, giving 300lux as high and low bound and some areas didn't reach the target value - which means that there must be some areas below that threshold.
Another thing: as you can see from Screenshot.jpg at one point we get the string saying *.dgp not found. Is that a problem?
Attached you can find the Grasshopper file.
Thank you all!
Simone
…
untime error:
Runtime error (PythonException): unable to add point to document Traceback: line 97, in AddPoint, "C:\Users\AKIDRIBM\AppData\Roaming\McNeel\Rhinoceros\6.0\Plug-ins\IronPython (814d908a-e25c-493d-97e9-ee3861957f49)\settings\lib\rhinoscript\geometry.py" line 136, in Point, "" line 47, in toGH, "" line 187, in RunScript, ""
Could anyone help me figure out what's causing it? The code for adding the point is below:
# Plots points/text dots def Point(self, pointSource): print pointSource, type(pointSource) pt = rs.AddPoint(float(pointSource.value.x.value), float(pointSource.value.y.value), float(pointSource.value.z.value)) return pt
pointSource is a custom object that stores information about the point. Its only relevance here is to obtain the point coordinates. I do not get this error all the time, so I'm having trouble figuring out what is exactly causing it.…
use for some typical reasons why solar access can be important:
Solar Access for Passive Solar Heating - The conditional statement should request sun vectors for any hours below the balance point of the building (the temperature at which the building starts requiring additional heating). For residences, this can be as high as 18C and for commercial/retail buildings with high internal heat gains, this can be as low as 10C. 16C is around what you might find for some residences with better insulation and is probably the reason why that is chosen in the file.
Solar Access for Outdoor Thermal Comfort - The conditional statement should request sun vectors for any hours below the lower limit of outdoor comfort (UTCI uses 9C for this lower limit).
Solar Access for Health of Plants/Trees in a Park/Garden - This is a bit of the opposite of the other metrics since you want hours of the warmer season. In this case, I usually use solar radiation as the annualHourlyData with the conditional statement and I request hours that are above a certain radiation level (where the plants are benefiting the most). I then use an analysisPeriod to get rid of any months of the year when the trees don't have leaves on them.
Hope this helps,
-Chris…
nt B2[i] so B1[i]<=0 means no new connections allowed for point i ,so point i is deleted from B1, B2 updated accordingly.
Initialization:
B1: max number of connections x number of points
B2: all the points
B3: nothing (well null or something, need to create the branch)
Algo:
Get first point in B2, get his allowed number of connections N in B1, find N closest points in B2, create lines in B3, update B2 accordingly. Erase points with max connections (including the first point)
Next
Stop when no points available
At end of loop, B3 stores the created lines.
…
current time (if the pedal is on and a key is depressed the value is halved, if the pedal is off the value is 0).
The rest of the definition is just to do something with this data. It uses these values to display each note as different floating colors that move with the wind (using Kangaroo). The strength of the wind changes as the music dynamics change.
If there are several devices connected you might have to change the line device.Open(0) to another number.
(to be displayed with a black background)…
ted in how to solve the problem keeping the structure of the grasshopper document as is in my example:
In reality, the project I'm working on is actually much more complex. In a nutshell, I have a bunch of parameters that determine the shape of a building (like the number of floors, dimensional ratios etc...). Then I perform a series of analysis on that model using some plugins, such as a solar radiation analysis with LadyBug etc. What I need is to create a spreadsheet in which I associate those initial parameters with the output of the analysis. A spreadsheet that would enumerate all the possible cases: for 4 floors, the solar radiation is 100, for 5 floors, the solar radiation is 97, for 6 floors is... I need a method to automate this process so I don't have to move the sliders and record the output manually, as each iteration requires quite some time to be computed and needs more than one slider to be adjusted.I've decided to bring up a way simpler example than the whole thing, in which I replaced all the complex geometry generation/analysis components with a simple multiplication component to avoid cluttering the thread with irrelevant logic...…