other objects to figure out how many distinct states a slider can have and then also set one of these states.
For example imagine a slider from 1.000 to 2.000 with 3 decimal places. This slider can have a states like: 1.000, 1.001, 1.002, 1.003, ..., 1.578, 1.579, 1.580, ..., 1.999, 2.000
This adds up to one thousand and one different states, which you can find out by using the Grasshopper.Kernel.Special.GH_NumberSlider.TickCount property. There's another method that allows some remote actor to set a specific state. For example you can say GH_NumberSlider.TickValue = 50, which will set the slider to 1.049. Galapagos prefers to use integral numbers to floating point numbers, so it talks to sliders using these ticks. If however you want to set specific values, then you can use TrySetSliderValue() and SetSliderValue() and assign decimal values directly.
It's important to note that the remote object (be it Galapagos or Anemone or whatever) has to call these methods specifically. There's no way to create a 'reverse connection' with a slider and have it work automatically.
--
David Rutten
david@mcneel.com…
Added by David Rutten at 12:47pm on March 12, 2014
cs algorithms are ill-suited to calculating the transmission of a partially open screen. The sampling of rays required, and indeed the lack of actual wave-based movement of sound intensity makes them only suitable for large scale studies of spaces making the following assumptions, among others:
- The primary behavior of sound can be described by rays
- Diffraction lends only low significance effects
- Few, preferably no obstructions between the source and reciever
With regard to sound hitting a partially open screen, a variety of behaviors come into play. Sound moves in and out and around various points of a screen - meaning that rays can not describe the behavior of sound for such small delicate structures.
The good news is that some of the latest versions of Pachyderm also employ numerical methods. Try typing "Pachyderm_Numeric_Timedomain into the command prompt, and you'll get the controls for the Finite Volume Method. This method accounts for wave-based phenomena.
Now more bad news: The method does not have implemented an insertion loss calculation, so you would have to work in the source code to implement it, and it still does not have materials implemented (that last part may not be terribly important unless you intended to use porous sound absorptive materials).
So, in any case, I don't recommend using Pachyderm to determine the sound transmission of your design. Now for some more good news - you can do a rough calculation on a calculator, making a few assumptions, if you know the open area of your screen. Let's say that we assume your materials do not transmit at all (which they won't, but they will transmit far less than any opening in the screen). So let's assume you design a 50% open area screen. The transmission loss of the assembly, independent of octave band will be at most:
TL = 10*log10(0.5) = 3 dB
This means that the noise from your source will be 3 dB less on the quiet side of the screen than it will be on the railway side of the fence. Let's say that isn't enough... ok 20% open.
TL = 10*log10(0.2) = 7 dB
So now it is 7 dB less on the quiet side than it is on the rail side (it will probably be up to 3 dB louder at low frequencies, but this is a rough estimate).
So now the last bit of bad news - it is difficult, maybe impossible to get a strong amount of attenuation with a screen with open area. Even with a wall with no open area, the maximum attenuation will be 20 dBA. When you open it up, this will severely hamper the isolation of the screen. I hope this helps.
- Arthur…
ves (13 in the attached file)
2 - I shift the curve list, in order to be able to use points from one curve and the curve above simultaneously.
3 - I divide those curves on multiple points (50 points each in the attached file)
4 - This is where it gets messy: I want to access the points as follows:
Pick the items 1 and 2, then the items 3 and 4, and like that with all the points.
I've generated a series with a {0;0}(n) structure. The first branch goes from 0 to 13 (the number of curves) and the second tree goes from 0 to 25 (half the point quantity) and n = 2.
I've the curves in a {a} structure, where "a" goes from 0 to 13.
So, what I finally have is an item component, where the curves are provided as list set, and the series as the item input. So, for each curve, I have 25 pairs of item index (0,1;2,3;4,5;etc.).
I thought that the out would be all the points of the curve sorted in pairs, but I get just two points per curve, and also a lot of points in the last curve. I have tried with tree branch and tree item and I keep getting no results. Moreover, I think that item component has the ability to pick specific items in tree-structured lists, so I don't know what is happening.
I have attached a screenshot and the GH definition. In order to work, you must create a circle in rhino viewport and then reference it in GH.
I've been stucked with this for several days, so any help will be appreciated.
Thanks in advance.…
't have time to take on this project but hacked a few bits together that might get you started; enough to see that you're in a world of pain here when it comes to data trees!
To start with, it looks like the code that generates the second set of curves (tangents) is identical to the first except for one extra component? So I disabled the duplicate code and rewired it like this:
Then I noticed that the second point in your desired curve (red arrow below) has not been determined in the GH, either by intersection points or other means. So for now, I skipped that point:
The code on the right (below) is what I added to organize the points to make your curves. Notice the use of 'Merge' before 'MCX'; the results depend on which set of curves is 'A' vs. 'B'.
The result is not too bad (minus that one point in each curve) but there are anomalies in the data that create problems and I don't have time to figure it all out. Sorry.
One of the problems is visible in the panel below, showing the output from 'Weave'. There are 26 curves (0 to 25) and this data is pretty good up through path "{0;0;25;0}". You could either figure out why there is more data than you want, or just ignore (somehow) the rest of the 50 paths/branches in this data tree.
Another problem is that the four points in each branch/path (five when you add the missing point) are in proper sequence for all branches except {0;0;0;0}. Again, you could figure out why or just sort the points by their distance from the center point, as I did.
Sorting is probably better as it would make it easy to merge that second point... OK, I'll add and merge that missing point, and trim the tree. Oops, I did it again. OCD is a terrible thing!
There is still a problem though - curves/pipes 0 through 4 are messed up. See yellow arrows. Well, 21 out of 26 isn't bad, eh?
I REALLY need to step away from this keyboard! I left my 'Tree/List Viewer' tool in the code as it might be useful (it is to me). Good luck.…
Added by Joseph Oster at 12:47pm on March 21, 2017
.5 (50%) will make everything look half as big, a zoom factor of 3.0 (300%) will make everything look 3 times bigger.
The code I use in the Variable Parameter tip looks like this:
Dim box As RectangleF = Attributes.Bounds Dim pt As New PointF(box.X + 0.5F * box.Width, _
box.Top + 0.5F * box.Height) Dim view As New GH_NamedView("zui_zoom", pt, _
10.0F, GH_NamedViewType.center)
view.SetToViewport(canvas, 1200)
I use a fixed zoom factor of 10.0 but you'll need to compute a variable zoom level each time. Basically, the zoom level you want it the factor you need to multiply the Attributes.Bounds with in order to make them as big as the viewport.ScreenPort So if the ScreenPort is 950 pixels wide and 720 pixels high and the Bounds of the attributes are 55 pixels wide and 75 pixels high, the zoom factor to make the width and height fit exactly would be:
Dim zoomW As Single = Convert.ToSingle(950/55)
Dim zoomH As Single = Convert.ToSingle(720/75)
Dim zoom As Single = Math.Min(zoomW, zoomH)
Where zoom is the lowest of the two. I hope my math isn't wrong, I didn't test this and only just woke up... But that's the basic idea.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 2:18am on February 16, 2012
fused now because I'd like to use brute-force instead of genetic/swarm algorithms. I am worried about fitness landscape and local extremes with my variables. On the other hand Colibri Iterator would compute millions of combinations in my case.
I'd like to use Colibri brute force+Design Explorer to explore different solutions. I am not sure how many combinations there would be but I assume that up to 10^7. That is a lot of data to compute and look through. Probably impossible to do.
I looked into 3rd example on Design Explorer page (the building one) which is pretty close to what i want to do. As far as i understand the graph, there are 9 variables. Each has different domain. My calculation for number of combinations (going from left to right - from 'elevator width' to 'solid wall amount') is 3*5*5*10*6*4*10*50. That is 72.000.000 combinations. On design explorer page there are around 250 solutions. I probably do not understand something or there is a way to filter data somehow.
My questions are - Is it even possible for Colibri Iterator to go through such huge data? Have you got any tips how to filter that data so that only chosen solutions are saved to *.csv file? Maybe I am missing something and there is another way used for design explorer examples? Any tips or tricks? :)
Thank you for your time and help,
Have a nice weekend…
g energy use of electric lighting dimming system.
But I found a major mistake in my previous test file, that is, the "lighting Power" used in the daylight simulation and the E+ simulation are NOT equal by my carelessness. The former was 250w (default value in "Honeybee_Lighting control Recipe") while the later was 11.8403571*50=592.018w (lightingDensityPerArea*Areaoffloor=lightingpower).
Having corrected this mistake (by using 592.018w for both of them), the results of electric lighting energy obtained from daylight and E+ simulations are much closer with each other and more reasonable. In order to see how close they are, I made 3 tests using 3 different weather files (New York, Amsterdam, Guangzhou). The results are listed as follows respectively:
New York (3.4% difference)
Amsterdam (2.7% difference)
Guangzhou (3% difference)
It seems that the difference (around 3%) is acceptable?
You are right. Having checked the IDF file created, as you mentioned above, there is no data in the Daylighting class (since the daylight control are not implemented in the E+ simulation). But, the light is "fully/partially" on according to the "fractions" in the generated lighting schedule list, which already takes in account the dimming system by the setting in "Honeybee_Lighting control Recipe" in daylight simulation.
Then, what the E+ simulation did in terms of calculating electric lighting energy use is just as the following formulation: lightingDensityPerArea * Areaoffloor * sum of lighting schedule list (generated by daylight simulation in this case) = electric lighting energy use, which has been verified by the comparison of results obtained from E+ simulation and calculated by the above formulation. (The results are exactly the same.) Please see the updated gh file attached.
Therefore, I assume that the E+ results generated in this way (using the lighting schedule generated by the daylight simulation) are still reliable, although there exist some tiny difference (around 3%) for some unknown reason (Maybe Daysim does not follow the same formulation mentioned above? Can you imagine the possible reason?).
In addition,
- I am not clear with what you mentioned as "they definitely don't share daylight considerations". What "daylight considerations" here refer to? (sky condition / sky file? but in the annual Daylight Simulation, only weather file is required instead of sky file)
- A basic question: In E+ simulation, has the waste heat generated by the electric lighting been considered as "internal heat gain" (showed in the above image)? If so, can I say that "energy use for electrical light" is fully converted to "the waste heat" + "Illuminance in lux".
Namely, energy use for electrical light = the waste heat + Illuminance in lux (lux can be converted to electric power in watts)?
Many thanks!
Best,
Ding…
ros...Rhino es un programa 3D para modelar todo tipo de proyectos con precisión y dejarlos listos para el renderizado, la animación, el dibujo, la ingeniería, el análisis y la fabricación.Grasshopper es un software que se utiliza en las oficinas de arquitectura famosa como el de Zaha Hadid o el equipo de ingeniería de la Sagrada Familia.Curso Rhinoceros + Grasshopper 40 horasInicio: 14 de agostoFin: 30 de agosto40 hora lectivasHorario: 19 a 22hPrecio en promoción 450€ Profesionales en paro y estudiantes 250€Plazas limitadas!!!Trabajadores por cuenta ajena pueden ser bonificados hasta el l 100% de la formación a través de la Fundación Tripartita.Rellena el formulario y te damos un cupón de 50€ valido para cualquiera de nuestros cursos.Envía este evento a tus amigos, diles que pongan tu e-mail con el que te has inscrito en este formulario. Las dos personas que tengan más amigos inscritos al 13 de agosto tienen este curso gratis.http://www.studioseed.net/formacion-seed/formacion-espana/inscripcion/Contacto:Barcelona, Catalunyac/ Aribau 24 , Principal 2daBarcelona, España, 08011t.+34 930 13 00 76 (L-V: 10 a 14 y 16 a 19h)Formación y consultoria: cursoseed@krfr.org
…
The PC actually stops working because after a few seconds the simulation starts the fan inside the PC all of a sudden stops and for the next 5-10 mins I cannot do anything, even alt+ctrl+canc. After I wait for that time i get the followig error:
the ReadMe says:
{0;0;0}0. Grid-based Radiance simulation1. The component is checking ad, as, ar and aa values. This is just to make sure that the results are accurate enough.2. -ar is set to 300.3. Good to go!4. Current working directory is set to: C:\Users\Luigi\Desktop\Prova__\Prova_1\gridBasedSimulation\5. Found a trans material... Resetting st parameter from 0.85 to 0.011276004966. WMIC PROCESS get Commandline7. WMIC PROCESS get Commandline8. WMIC PROCESS get Commandline9. WMIC PROCESS get Commandline10. WMIC PROCESS get Commandline11. WMIC PROCESS get Commandline12. WMIC PROCESS get Commandline13. WMIC PROCESS get Commandline14. WMIC PROCESS get Commandline15. WMIC PROCESS get Commandline16. WMIC PROCESS get Commandline17. WMIC PROCESS get Commandline18. WMIC PROCESS get Commandline19. WMIC PROCESS get Commandline20. WMIC PROCESS get Commandline21. WMIC PROCESS get Commandline22. WMIC PROCESS get Commandline23. WMIC PROCESS get Commandline24. WMIC PROCESS get Commandline25. WMIC PROCESS get Commandline26. WMIC PROCESS get Commandline27. WMIC PROCESS get Commandline28. WMIC PROCESS get Commandline29. WMIC PROCESS get Commandline30. WMIC PROCESS get Commandline31. WMIC PROCESS get Commandline32. WMIC PROCESS get Commandline33. WMIC PROCESS get Commandline34. WMIC PROCESS get Commandline35. WMIC PROCESS get Commandline36. WMIC PROCESS get Commandline37. WMIC PROCESS get Commandline38. WMIC PROCESS get Commandline39. WMIC PROCESS get Commandline40. WMIC PROCESS get Commandline41. WMIC PROCESS get Commandline42. WMIC PROCESS get Commandline43. WMIC PROCESS get Commandline44. WMIC PROCESS get Commandline45. WMIC PROCESS get Commandline46. WMIC PROCESS get Commandline47. WMIC PROCESS get Commandline48. WMIC PROCESS get Commandline49. WMIC PROCESS get Commandline50. WMIC PROCESS get Commandline51. WMIC PROCESS get Commandline52. WMIC PROCESS get Commandline53. WMIC PROCESS get Commandline54. WMIC PROCESS get Commandline55. WMIC PROCESS get Commandline56. WMIC PROCESS get Commandline57. WMIC PROCESS get Commandline58. WMIC PROCESS get Commandline59. WMIC PROCESS get Commandline60. WMIC PROCESS get Commandline61. WMIC PROCESS get Commandline62. WMIC PROCESS get Commandline63. WMIC PROCESS get Commandline64. WMIC PROCESS get Commandline65. WMIC PROCESS get Commandline66. WMIC PROCESS get Commandline67. WMIC PROCESS get Commandline68. WMIC PROCESS get Commandline69. WMIC PROCESS get Commandline70. WMIC PROCESS get Commandline71. WMIC PROCESS get Commandline72. WMIC PROCESS get Commandline73. WMIC PROCESS get Commandline74. WMIC PROCESS get Commandline75. WMIC PROCESS get Commandline76. WMIC PROCESS get Commandline77. WMIC PROCESS get Commandline78. WMIC PROCESS get Commandline79. WMIC PROCESS get Commandline80. WMIC PROCESS get Commandline81. WMIC PROCESS get Commandline82. WMIC PROCESS get Commandline83. WMIC PROCESS get Commandline84. WMIC PROCESS get Commandline85. WMIC PROCESS get Commandline86. WMIC PROCESS get Commandline87. WMIC PROCESS get Commandline88. WMIC PROCESS get Commandline89. WMIC PROCESS get Commandline90. WMIC PROCESS get Commandline91. WMIC PROCESS get Commandline92. WMIC PROCESS get Commandline93. WMIC PROCESS get Commandline94. WMIC PROCESS get Commandline95. WMIC PROCESS get Commandline96. WMIC PROCESS get Commandline97. WMIC PROCESS get Commandline98. WMIC PROCESS get Commandline99. WMIC PROCESS get Commandline100. WMIC PROCESS get Commandline101. WMIC PROCESS get Commandline102. WMIC PROCESS get Commandline103. WMIC PROCESS get Commandline104. WMIC PROCESS get Commandline105. WMIC PROCESS get Commandline106. WMIC PROCESS get Commandline107. WMIC PROCESS get Commandline108. WMIC PROCESS get Commandline109. WMIC PROCESS get Commandline110. WMIC PROCESS get Commandline111. WMIC PROCESS get Commandline112. WMIC PROCESS get Commandline113. WMIC PROCESS get Commandline114. WMIC PROCESS get Commandline115. WMIC PROCESS get Commandline116. WMIC PROCESS get Commandline117. WMIC PROCESS get Commandline118. WMIC PROCESS get Commandline119. WMIC PROCESS get Commandline120. WMIC PROCESS get Commandline121. WMIC PROCESS get Commandline122. WMIC PROCESS get Commandline123. WMIC PROCESS get Commandline124. WMIC PROCESS get Commandline125. WMIC PROCESS get Commandline126. WMIC PROCESS get Commandline127. WMIC PROCESS get Commandline128. WMIC PROCESS get Commandline129. WMIC PROCESS get Commandline130. WMIC PROCESS get Commandline131. WMIC PROCESS get Commandline132. WMIC PROCESS get Commandline133. WMIC PROCESS get Commandline134. WMIC PROCESS get Commandline135. WMIC PROCESS get Commandline136. WMIC PROCESS get Commandline137. WMIC PROCESS get Commandline138. WMIC PROCESS get Commandline139. WMIC PROCESS get Commandline140. WMIC PROCESS get Commandline141. WMIC PROCESS get Commandline142. WMIC PROCESS get Commandline143. WMIC PROCESS get Commandline144. WMIC PROCESS get Commandline145. WMIC PROCESS get Commandline146. WMIC PROCESS get Commandline147. WMIC PROCESS get Commandline148. WMIC PROCESS get Commandline149. WMIC PROCESS get Commandline150. WMIC PROCESS get Commandline151. WMIC PROCESS get Commandline152. WMIC PROCESS get Commandline153. WMIC PROCESS get Commandline154. WMIC PROCESS get Commandline155. WMIC PROCESS get Commandline156. WMIC PROCESS get Commandline157. WMIC PROCESS get Commandline158. WMIC PROCESS get Commandline159. WMIC PROCESS get Commandline160. WMIC PROCESS get Commandline161. WMIC PROCESS get Commandline162. WMIC PROCESS get Commandline163. WMIC PROCESS get Commandline164. WMIC PROCESS get Commandline165. WMIC PROCESS get Commandline166. WMIC PROCESS get Commandline167. WMIC PROCESS get Commandline168. WMIC PROCESS get Commandline169. WMIC PROCESS get Commandline170. WMIC PROCESS get Commandline171. WMIC PROCESS get Commandline172. WMIC PROCESS get Commandline173. WMIC PROCESS get Commandline174. WMIC PROCESS get Commandline175. WMIC PROCESS get Commandline176. WMIC PROCESS get Commandline177. WMIC PROCESS get Commandline178. WMIC PROCESS get Commandline179. WMIC PROCESS get Commandline180. WMIC PROCESS get Commandline181. WMIC PROCESS get Commandline182. WMIC PROCESS get Commandline183. WMIC PROCESS get Commandline184. WMIC PROCESS get Commandline185. WMIC PROCESS get Commandline186. WMIC PROCESS get Commandline187. WMIC PROCESS get Commandline188. WMIC PROCESS get Commandline189. WMIC PROCESS get Commandline190. WMIC PROCESS get Commandline191. WMIC PROCESS get Commandline192. WMIC PROCESS get Commandline193. WMIC PROCESS get Commandline194. WMIC PROCESS get Commandline195. WMIC PROCESS get Commandline196. WMIC PROCESS get Commandline197. WMIC PROCESS get Commandline198. Runtime error (IndexOutOfRangeException): index out of range: 0199. Traceback: line 320, in script
The thing is that if I raise the -aa parameter from 0.05 to 0.1 all works fine..
Is this only related to my PC then?? What should I do to solve this issue?
Thanks again for your help
Luigi…