ure here: http://www.openfoam.com/download/install-binary-windows.php
This I found by following the instructions here:
https://github.com/ladybug-tools/butterfly/wiki/Getting-started-with-butterfly-in-grasshopper
HOWEVER:
At home here on my newer, faster Windows 10 machine - no such luck. This is becoming quite frustrating as I feel I am failing some obscure intelligence test.
I have attached what I suspect is the likely problem identifier - not that it has helped me identify the fix. What I believe is the salient message is appears in the OF_Env_Create Powershell Window (Running as Administrator) , which is step 3 on the Windows 10 special instructions found here:
https://github.com/ladybug-tools/butterfly/wiki/Windows-10-Installation-Notes
The message (in red as can be seen in the attached picture) states:
Set-ExecutionPolicy : Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope. Due to the override, your shell will retain its current effective execution policy of "Unrestricted". Type "Get-ExecutionPolicy -List" to view your execution policy settings. For more information , please see "Get-Help Set-ExecutionPolicy." At C:\Users\Michael\AppData\Local\Temp\Quest Software\PowerGUI\18d7ce54-562c-4f2b-b985-3c24b83cae50\of_create_container.ps1:1 char:20 + Set-ExecutionPolicy <<<< bypass + CategoryInfo : PermissionDenied: (:) [Set-ExecutionPolicy], SecurityException + FullyQualifiedErrorId : ExecutionPolicyOverride,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand
M…
gh, when I bake, the geometry suddenly exists in rhino.
Second, I can seem to figure out how to set default numeric values in the component.
Protected Overrides Sub RegisterInputParams(pManager As Grasshopper.Kernel.GH_Component.GH_InputParamManager)
pManager.AddPointParameter("Focal Point", "FP", "The focal point", GH_ParamAccess.item)
pManager.AddNumberParameter("Focal Point Horiz Dist", "D", "Focal point distance from performance boundary", GH_ParamAccess.item)
pManager.AddNumberParameter("Focal Point Height", "H", "Focal point height above performance boundary", GH_ParamAccess.item)
pManager.AddPointParameter("First Row Start Point", "FR", "Location of first row in tiered seating", GH_ParamAccess.item)
pManager.AddNumberParameter("First Row Horiz Dist", "FRD", "First row distance from performance boundary", GH_ParamAccess.item)
pManager.AddNumberParameter("First Row Height", "FRH", "First row height above performance boundary", GH_ParamAccess.item)
pManager.AddNumberParameter("C Value", "C", "C value", GH_ParamAccess.item)
pManager.AddNumberParameter("Row Width", "RW", "Row width", GH_ParamAccess.item)
pManager.AddIntegerParameter("Number of Rows", "RN", "Number of Rows", GH_ParamAccess.item)
pManager.AddIntegerParameter("Construction Tolerance", "CT", "Construction Tolerance: 1=1in, 2=1/2in, 4=1/4in, 8=1/8in", GH_ParamAccess.item)
pManager.AddNumberParameter("Max Riser Height", "MR", "Maximum riser height allowed", GH_ParamAccess.item)
pManager.AddGeometryParameter("Spectator", "S", "Seated/Standing spectator", GH_ParamAccess.item)
End Sub
Protected Overrides Sub RegisterOutputParams(pManager As Grasshopper.Kernel.GH_Component.GH_OutputParamManager)
pManager.AddLineParameter("Sightlines", "SL", "Sightlines", GH_ParamAccess.list)
pManager.AddLineParameter("C Value", "CL", "Line represents C value height", GH_ParamAccess.list)
pManager.AddLineParameter("Ground Line", "GL", "Ground Line", GH_ParamAccess.list)
pManager.AddLineParameter("Tier tread", "TR", "Line represents tier treads", GH_ParamAccess.list)
pManager.AddLineParameter("Risers", "RI", "Line represents risers", GH_ParamAccess.list)
pManager.AddGeometryParameter("Spectators", "SP", "Seated Standing Spectators", GH_ParamAccess.list)
End Sub
Protected Overrides Sub SolveInstance(DA As IGH_DataAccess)
Dim newLine As New List(Of Line)
Dim newCValue As New List(Of Line)
Dim rowWidthLineList As New List(Of Line)
Dim floorLineList As New List(Of Line)
Dim riserLineList As New List(Of Line)
Dim leghtList As New List(Of String)
Dim newSeated As New List(Of GeometryBase)
Dim inputPoint As Point3d
If (Not DA.GetData(0, inputPoint)) Then Return
Dim viewPointY As Double
If (Not DA.GetData(1, viewPointY)) Then Return
Dim viewPointZ As Double
If (Not DA.GetData(2, viewPointZ)) Then Return
Dim firstRowPoint As Point3d
If (Not DA.GetData(3, firstRowPoint)) Then Return
Dim firstRowY As Double
If (Not DA.GetData(4, firstRowY)) Then Return
Dim firstRowZ As Double
If (Not DA.GetData(5, firstRowZ)) Then Return
Dim cValue As Double
If (Not DA.GetData(6, cValue)) Then Return
Dim rowWidth As Double
If (Not DA.GetData(7, rowWidth)) Then Return
Dim numberOfRows As Integer
If (Not DA.GetData(8, numberOfRows)) Then Return
Dim M As Integer
If (Not DA.GetData(9, M)) Then Return
Dim maxHeight As Double
If (Not DA.GetData(10, maxHeight)) Then Return
Dim seated As GeometryBase
If (Not DA.GetData(11, seated)) Then Return
Call addNewRow(newLine, newCValue, inputPoint, viewPointY, viewPointZ, firstRowPoint, firstRowY, firstRowZ, cValue, numberOfRows, rowWidth, rowWidthLineList, floorLineList, riserLineList, M, maxHeight, seated, newSeated)
DA.SetDataList(0, newLine)
DA.SetDataList(1, newCValue)
DA.SetDataList(2, rowWidthLineList)
DA.SetDataList(3, floorLineList)
DA.SetDataList(4, riserLineList)
DA.SetDataList(5, newSeated)
End Sub
Public Sub addNewRow(---constructor----)
---additional code----
end Sub…
8.3.0 ************* IDF Context for following error/warning message: ************* Note -- lines truncated at 300 characters, if necessary... ************* 829 Construction, ************* indicated Name=PELLE001 ************* Only last 10 lines before error line shown.....
************* 832 AIR WALL2, !- - Layer 2 ************* 833 X-LAM, !- - Layer 3 ************* 834 POLYSTYRENE2, !- - Layer 4 ************* 835 PANNELLO VIP, !- - Layer 5 ************* 836 POLYSTYRENE2, !- - Layer 6 ************* 837 X-LAM, !- - Layer 7 ************* 838 LANA DI ROCCIAS, !- - Layer 8 ************* 839 VANO IMPIANTI, !- - Layer 9 ************* 840 LANA DI ROCCIAS, !- - Layer 10 ************* 841 LASTRA IN GESSOFIBRA, !- - Layer 11 ** Severe ** IP: IDF line~841 Error detected for Object=CONSTRUCTION ** ~~~ ** Maximum arguments reached for this object, trying to process ->LASTRA IN GESSOFIBRA<- ************* IDF Context for following error/warning message: ************* Note -- lines truncated at 300 characters, if necessary... ************* 985 Construction, ************* indicated Name=ROOF001 ************* Only last 10 lines before error line shown..... ************* 988 TRAVETTI, !- - Layer 2 ************* 989 TAVOLATO, !- - Layer 3 ************* 990 POLYSTYRENE2, !- - Layer 4 ************* 991 PANNELLO VIP, !- - Layer 5 ************* 992 POLYSTYRENE2, !- - Layer 6 ************* 993 X-LAM, !- - Layer 7 ************* 994 LANA DI ROCCIAS, !- - Layer 8 ************* 995 VANO IMPIANTI, !- - Layer 9 ************* 996 LANA DI ROCCIAS, !- - Layer 10 ************* 997 LASTRA IN GESSOFIBRA, !- - Layer 11 ** Severe ** IP: IDF line~997 Error detected for Object=CONSTRUCTION ** ~~~ ** Maximum arguments reached for this object, trying to process ->LASTRA IN GESSOFIBRA<- ** Warning ** IP: Note -- Some missing fields have been filled with defaults. See the audit output file for details. ** Severe ** IP: Possible incorrect IDD File ** ~~~ ** IDD Version:"IDD_Version 8.3.0" ** ~~~ ** Version in IDF="8.3" not the same as expected="8.3" ** ~~~ ** Possible Invalid Numerics or other problems ** Fatal ** IP: Errors occurred on processing IDF file. Preceding condition(s) cause termination. ...Summary of Errors that led to program termination: ..... Reference severe error count=3 ..... Last severe error=IP: Possible incorrect IDD File ************* Warning: Node connection errors not checked - most system input has not been read (see previous warning). ************* Fatal error -- final processing. Program exited before simulations began. See previous error messages. ************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors. ************* EnergyPlus Sizing Error Summary. During Sizing: 0 Warning; 0 Severe Errors. ************* EnergyPlus Terminated--Fatal Error Detected. 1 Warning; 3 Severe Errors; Elapsed Time=00hr 00min 0.34sec
My question is how i can fix it ??? and why it tell me that:
** Severe ** IP: Possible incorrect IDD File** ~~~ ** IDD Version:"IDD_Version 8.3.0"** ~~~ ** Version in IDF="8.3" not the same as expected="8.3"** ~~~ ** Possible Invalid Numerics or other problems** Fatal ** IP: Errors occurred on processing IDF file. Preceding condition(s) cause termination....Summary of Errors that led to program termination:
Help me pleaseeeeeeee
Happy new year!!!!!…
8.3.0************* IDF Context for following error/warning message:************* Note -- lines truncated at 300 characters, if necessary...************* 829 Construction,************* indicated Name=PELLE001************* Only last 10 lines before error line shown.....
************* 832 AIR WALL2, !- - Layer 2************* 833 X-LAM, !- - Layer 3************* 834 POLYSTYRENE2, !- - Layer 4************* 835 PANNELLO VIP, !- - Layer 5************* 836 POLYSTYRENE2, !- - Layer 6************* 837 X-LAM, !- - Layer 7************* 838 LANA DI ROCCIAS, !- - Layer 8************* 839 VANO IMPIANTI, !- - Layer 9************* 840 LANA DI ROCCIAS, !- - Layer 10************* 841 LASTRA IN GESSOFIBRA, !- - Layer 11** Severe ** IP: IDF line~841 Error detected for Object=CONSTRUCTION** ~~~ ** Maximum arguments reached for this object, trying to process ->LASTRA IN GESSOFIBRA<-************* IDF Context for following error/warning message:************* Note -- lines truncated at 300 characters, if necessary...************* 985 Construction,************* indicated Name=ROOF001************* Only last 10 lines before error line shown.....************* 988 TRAVETTI, !- - Layer 2************* 989 TAVOLATO, !- - Layer 3************* 990 POLYSTYRENE2, !- - Layer 4************* 991 PANNELLO VIP, !- - Layer 5************* 992 POLYSTYRENE2, !- - Layer 6************* 993 X-LAM, !- - Layer 7************* 994 LANA DI ROCCIAS, !- - Layer 8************* 995 VANO IMPIANTI, !- - Layer 9************* 996 LANA DI ROCCIAS, !- - Layer 10************* 997 LASTRA IN GESSOFIBRA, !- - Layer 11** Severe ** IP: IDF line~997 Error detected for Object=CONSTRUCTION** ~~~ ** Maximum arguments reached for this object, trying to process ->LASTRA IN GESSOFIBRA<-** Warning ** IP: Note -- Some missing fields have been filled with defaults. See the audit output file for details.** Severe ** IP: Possible incorrect IDD File** ~~~ ** IDD Version:"IDD_Version 8.3.0"** ~~~ ** Version in IDF="8.3" not the same as expected="8.3"** ~~~ ** Possible Invalid Numerics or other problems** Fatal ** IP: Errors occurred on processing IDF file. Preceding condition(s) cause termination....Summary of Errors that led to program termination:..... Reference severe error count=3..... Last severe error=IP: Possible incorrect IDD File************* Warning: Node connection errors not checked - most system input has not been read (see previous warning).************* Fatal error -- final processing. Program exited before simulations began. See previous error messages.************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.************* EnergyPlus Sizing Error Summary. During Sizing: 0 Warning; 0 Severe Errors.************* EnergyPlus Terminated--Fatal Error Detected. 1 Warning; 3 Severe Errors; Elapsed Time=00hr 00min 0.34sec
My question is how i can fix it ??? and why it tell me that:
** Severe ** IP: Possible incorrect IDD File** ~~~ ** IDD Version:"IDD_Version 8.3.0"** ~~~ ** Version in IDF="8.3" not the same as expected="8.3"** ~~~ ** Possible Invalid Numerics or other problems** Fatal ** IP: Errors occurred on processing IDF file. Preceding condition(s) cause termination....Summary of Errors that led to program termination:
Help me pleaseeeeeeee
Thanks and Happy new year!!!!!…
er" logic but it miss when comes the copy or offset.
Here is my following logic
Take the square of 25 m x 12 m ; make it a surface
I divide it in "blades" of 20 cm
I take the edges of the "blades",
I divide this edges in 40 points (or equivalent) (A)
I identify my curves (curves) which are on the floors, which are curves (B)
First i do this "test" :
for each crossroad between A and B, i make a circle of X cm (slider) of diameter and the rule is the following :
* In this circle, the future movement of my A curve must be at Z = 0
Second step :
for each next point, i have to : leave a copy on Z = 0 and rise the second one for a heigh of Y cm (slider) from the ground.
the next (W = slider to chose every each number of point, i decide to do the following point) point, which is a little bit farer from the previous point, must duplicate the same height of Y ; and also be copied to Y + Y cm.
There is a Z number (slider) which is the max height possible for these points, which mean that the next point must be at this very same level except ... The third step scenario.
The purpose is to be able to have flat area, like step in a stairway.
Third step :
The grasshopper must test if the A points are between two or more "area at Z = 0". Why ?
The goal is to obtain something like screen "side view" if there are two starting points at Z = 0.
Which also mean that if there is an odd number of points, the remaining odd number must be at the top of the "stairs"
At this point of the grasshopper, we might be able to obtain, thanks to the sliders the "staircase form" regarding :
- The size of the test circle between A and B curves
- The "footstep" of each points (height)
- The number of points before a "copy of the point + the next footstep rise"
- The max heigh possible for all the point off B curves
And at this moment i have a new problem in my logic. You will get my idea, but it might be wrong as well...
Therefore, and after that, we should be able to link every point by a straight line.
To fillet with P (angle) a line with the following one
To join all the line of a same B curve
To cut it at the center of each circle at Z = 0 (the crossroad of A and B)
To offset it with Q (distance)
To rise a line from the center of each circle at Z = 0
To cut the extra part of each Offset"ed" curve to get an offset curve "aligned in Z" with the original one.
To create loft the original and offset"ed" one
To extrude the surface to a distance of R
And grasshopper "should be done" because, i will duplicate it for the ceiling, reverse the form with a -Z vector to the Y value and modifie my Z in Z' to modify my max height
Could you help me ?
…
Introduction to Grasshopper Videos by David Rutten.
Wondering how to get started with Grasshopper? Look no further. Spend an some time with the creator of Grasshopper, David Rutten, to learn the
and I here is what I have to share:
Thanks! Thank you for being awesome! When I released Ladybug two years ago I could never imagine how this project will take over my life! It has been such an invaluable experience for me so far and it wasn’t possible without you - so thank you so much.
What’s next? Recently I get this question more and more and here is my fairly long answer! Chris is pushing the boundaries with comfort tools. Chien Si is working on HVAC systems integration. Chris, Anton and Alejandra will figure out how to effectively get natural ventilation to be modeled. Patrick, Sandeep, Michal and Boris are working on their developments. I’m working on getting 3 Phase method integrated, and Butterfly will be out at some point, but... they are not going to be what makes the next step. The next step is up to you. It is what you will do with the development. So go ahead and let us know what’s next!
If you can help someone on the group please do! Doing so you are not only helping another person (and potentially yourself) but also the developers. The more you can help each other here the more we will have time for development and documentation.
Best place to send your questions is this group. If you are using the latest version from github then you may want to sent it to github. Please consider emails as the last option. Go back to number 3 again! Thanks.
Don’t be nice to us! Well, I mean don’t just be nice to us. I love your nice comments like anybody else and please keep them coming ;) but what we also need next to nice comments is your critiques, wishes and insight. I feel that recently we are getting less wishes and critiques than what it used to be. You can post them here in the group or on github and either way we will know about it. Thank you to all of you who has already done this.
Thanks again! Before I let you go I want to specially thank all of you who contributed to the project by your development, thoughts and support. You are great and I can’t thank you enough.
David Weinberger in his book “Too Big to Know” says: “When an expert network is functioning as its best, the smartest person in the room is the room itself.” Reading some of the discussions on the group gives me the feeling of staying inside a smart room. Thank you and let’s keep the room growing!
Cheers,
Mostapha
PS: To avoid sending another post, I just post the updates about the two upcoming workshops here:
I will lead a workshop in LA next Friday (Feb. 6) and there is still few seats left. If you want to learn more about energy and daylighting simulation with Honeybee here is your chance. Here is more information who to register: (http://www.facadesplus.com/technology-workshops/).
Chris will lead a 3 days intense and comprehensive Ladybug and Honeybee workshop in Mexico City this March. You have probably watched Chris’s tutorials and already know what you can expect from a workshop with Chris so I don’t have to speak for that! I would take this workshop if I was around that area. If you are around Mexico City or know a friend who might be interested please let them know. Here is more information about the workshop: (https://www.facebook.com/LadyBugforGrasshopper/photos/a.442320969114095.107084.413910668621792/919318878080966).
…
, but at the lowest level computers only manipulate ones-and-zeros according to exact and unambiguous rules. As a result of this it is actually impossible to generate true random numbers using a computer. Computers use algorithms that create sequences of pseudo random numbers, numbers that appear to be random, but in fact are created by the application of a deterministic algorithm.
One of the major benefits of pseudo random numbers over actual random numbers is that it's easy to reproduce a sequence of numbers. If you generate the first 50 numbers in the pseudo-random sequence with seed=5 they will be exactly the same as when you did it last week. If you want different random numbers, you have to use a different seed. In Grasshopper I thought it important that the same random numbers are always generated, as that minimizes the 'surprise'. However, since the default numbers might not be to your liking, you can always play around with the seed value until you find a pseudo random sequence that suits you.
If you generate 8 random numbers between 1 and 10, you might get a sequence like this:
{5, 8, 2, 4, 2, 7, 3, 10}
The pseudo random number generator guarantees that the spread of the numbers in the sequence is equal everywhere, but only when you generate an infinite amount of numbers. Since every sequence you care to generate in one human lifetime will not be infinite, there will always be some 'clumping' of values. A small stretch along the number line that is somewhat more densely populated by random numbers than the adjacent stretch.
There is also absolutely no guarantee that you won't get the same number more than once. Obviously this is impossible if you were to generate 50 values between 1 and 10 (there are only 10 possible unique numbers), but even if you generate only 2 values between 1 and 10 you might still get the same number twice.
Indeed in my example above the value 2 occurs twice, whereas the value 1 doesn't occur at all. If you want a range of numbers without overlaps, it's better to not use the Random component, but instead generate all the numbers using a Range or Series component and then Jitter the list, thus randomizing the order of the values, but not the values themselves.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
rder to deal with the contents of the MERO structure (like glass, panels, polycarbonate). That is what the C# does already.
3. Vectors (a la "Umbrella" sticks) in order to place correctly your MERO nodes (the "hexagon" brackets - so to speak). That is what the big C# (the one that I've send to you some time ago) does already.
4. Calculations (lengths, angles) for each node against the other related nodes and the points derived from dividing the MERO square "tubes". For a given node these points are variable (from 2 [when in the "bounds" of mesh] to 6 ["typical" middle point, so to speak].
5. Demo block instances in order to see first hand what GH can actually do (that's WOW stuff: you slide a slider and "several" real-life components are placed in 3d space in real-time, he he).
6. Node connectivity data for the obvious (assembling the MERO on site).
7. Some assembly "simulation" capability (we do this today and this tomorrow ...)
So forget the single carrot (plenty carrots for you soon) for a while and answer to the most critical question: Based on what you've displayed to me (Skype) what is your policy against the MERO node itself?
I mean: we don't deal with a classic MERO ball type here (meaning variable drilling axis per ball). Meaning that the "hexagon" bracket (if I may use the term) IS VARIABLE. Meaning: you need a "module" that can being adapted against "every" possible (logical) angle value? (and compose the bracket?) Or you gonna fabricate the "brackets" on a per node basis?
And what if we had a planar glazing system? (same principle, more expensive, 100 times more WOW).
BTW: The best man in the world to do "similar things" with "hinged" custom aluminum systems (like doing the blue facade that you've displayed to me with some semi structural/structural system) he's a very close friend of mine. He's based in Dubai UAE.…
rder in which these polylines are drawn is not important (correct me if this is not the case).
2. We explode the polylines. This outputs all the line segments and all the endpoints (both groups with duplicates inside them). So we have 204 lines (including duplicates) and 246 points (including duplicates). We flatten both outputs in order to get 2 simple lists.
3. We use [dupPt] to remove all duplicates from the points list. So we get a list of all the nodes with each node contained one time, so we have 108 points.
3a. We can use [pointList] to display the index of each node on screen.
4. For each line segment we find the 2 endpoints and put them together in a list. So we have 204 lists with 2 points each. (We graft the list of lines so that the endpoints of each one will be in a different branch/list)
5. We use [closestPoint] and so for each endpoint we get the index number of the corresponding node. So we have 204 lists with 2 indices each.
6. We get each couple of indices and join them as text with a comma separator. (We flatten the data so that we have a single list with 204 texts)
7. BUT some of these 204 texts are duplicates (because they originate from duplicate lines), so we use [cSet] which returns the unique values from a list. So we end up with a list of 180 texts (one for each unique line). Instead of using [cSet] you could also eliminate duplicate lines using kangaroo's [dupLn] (which is the equivalent of [dupPt] but for lines) before step 4.
Hope it is more clear like this. I am not sure I understand what you mean by "But they are not connected in the order to form the tessellation.". If you still have problems with the definition please explain this a little better.
cheers, Nikos
…