be done easier, but later on the geometry will change and therefore this seems the better option. But coming back to the problem
First, there were some problems concerning the zone, although it seems solved still the “runenergysimulation” gives the following warning:
1. The simulation has not run correctly because of this severe error:
** Severe ** UpdateZoneSizing: Cooling supply air temperature (calculated) within 2C of zone temperature
Do one of you know what went wrong? It probably will solve most of it.
Second, “set Zone Thresholds” gives the following warning:
1. Solution exception:global name 'maxHumidity_' is not defined
However, the component is missing the max humidity input on the list, has this to do something with the error?
All the components are up to date.
I hope it will be an easy fix.
Gr Lars
“set Zone Thresholds” runtime error
{0;0;0}0. Runtime error (UnboundNameException): global name 'maxHumidity_' is not defined1. Traceback: line 80, in checkTheInputs, "<string>" line 282, in script
"runenergysimulation” report
{0;0}0. Current document units is in Meters1. Conversion to Meters will be applied = 1.0002. TypeError('Waarde kan niet null zijn.\r\nParameternaam: source',)3. Failed to copy the object. Returning the original objects...This can cause strange behaviour!4. [1 of 8] Writing simulation parameters...5. [2 of 8] No context surfaces...6. [3 of 8] Writing geometry...7. [4 of 8] Writing Electric Load Center - Generator specifications ...8. [5 of 8] Writing materials and constructions...9. [6 of 8] Writing schedules...10. [7 of 8] Writing loads and ideal air system...11. [8 of 8] Writing outputs...12. ...... idf file is successfully written to : c:\ladybug\unnamed\EnergyPlus\unnamed.idf13. 14. Analysis is running!...15. c:\ladybug\unnamed\EnergyPlus\eplusout.csv16. ......
Done! Read below for errors and warnings:
17. 18. Program Version,EnergyPlus, Version 8.3.0-6d97d074ea, YMD=2016.03.02 20:55,IDD_Version 8.3.019. 20. ** Warning ** IP: Note -- Some missing fields have been filled with defaults. See the audit output file for details.21. 22. ************* Beginning Zone Sizing Calculations23. 24. ** Warning ** GetInternalHeatGains: People="CLASSROOMOFFICEPEOPLE", Activity Level Schedule Name values25. 26. ** ~~~ ** fall outside typical range [70,1000] W/person for Thermal Comfort Reporting.27. 28. ** ~~~ ** Odd comfort values may result; Schedule="SCHOCCUPANCYSCHEDULE".29. 30. ** ~~~ ** Entered min/max range=[0.0,1.0] W/person.31. 32. ** Warning ** Calculated design heating load for zone=CLASSROOM is zero.33. 34. ** ~~~ ** Check Sizing:Zone and ZoneControl:Thermostat inputs.35. 36. ** Severe ** UpdateZoneSizing: Cooling supply air temperature (calculated) within 2C of zone temperature37. 38. ** ~~~ ** ...check zone thermostat set point and design supply air temperatures39. 40. ** ~~~ ** ...zone name = CLASSROOM41. 42. ** ~~~ ** ...design sensible cooling load = 25499.10 W43. 44. ** ~~~ ** ...thermostat set point temp = 0.000 C45. 46. ** ~~~ ** ...zone temperature = 15.334 C47. 48. ** ~~~ ** ...supply air temperature = 15.000 C49. 50. ** ~~~ ** ...temperature difference = -0.33433 C51. 52. ** ~~~ ** ...calculated volume flow rate = 197273.21341 m3/s53. 54. ** ~~~ ** ...calculated mass flow rate = 237634.19357 kg/s55. 56. ** Warning ** ManageSizing: For a plant sizing run, there must be at least 1 Sizing:Plant object input. SimulationControl Plant Sizing option ignored.57. 58. ************* Testing Individual Branch Integrity59. 60. ************* All Branches passed integrity testing61. 62. ************* Testing Individual Supply Air Path Integrity63. 64. ************* All Supply Air Paths passed integrity testing65. 66. ************* Testing Individual Return Air Path Integrity67. 68. ************* All Return Air Paths passed integrity testing69. 70. ************* No node connection errors were found.71. 72. ************* Beginning Simulation73. 74. ************* Simulation Error Summary *************75. 76. ** Warning ** The following Report Variables were requested but not generated77. 78. ** ~~~ ** because IDF did not contain these elements or misspelled variable name -- check .rdd file79. 80. ************* Key=*, VarName=ZONE PACKAGED TERMINAL HEAT PUMP TOTAL COOLING ENERGY, Frequency=Hourly81. 82. ************* Key=*, VarName=ZONE PACKAGED TERMINAL HEAT PUMP TOTAL HEATING ENERGY, Frequency=Hourly83. 84. ************* Key=*, VarName=CHILLER ELECTRIC ENERGY, Frequency=Hourly85. 86. ************* Key=*, VarName=BOILER HEATING ENERGY, Frequency=Hourly87. 88. ************* Key=*, VarName=FAN ELECTRIC ENERGY, Frequency=Hourly89. 90. ************* Key=*, VarName=ZONE VENTILATION FAN ELECTRIC ENERGY, Frequency=Hourly91. 92. ************* Key=*, VarName=EARTH TUBE FAN ELECTRIC ENERGY, Frequency=Hourly93. 94. ************* Key=*, VarName=PUMP ELECTRIC ENERGY, Frequency=Hourly95. 96. ************* Key=*, VarName=ZONE VENTILATION TOTAL HEAT LOSS ENERGY, Frequency=Hourly97. 98. ************* Key=*, VarName=ZONE VENTILATION TOTAL HEAT GAIN ENERGY, Frequency=Hourly99. 100. ************* Key=*, VarName=EARTH TUBE ZONE SENSIBLE COOLING ENERGY, Frequency=Hourly101. 102. ************* Key=*, VarName=EARTH TUBE ZONE SENSIBLE HEATING ENERGY, Frequency=Hourly103. 104. ************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.105. 106. ************* EnergyPlus Sizing Error Summary. During Sizing: 3 Warning; 1 Severe Errors.107. 108. ************* EnergyPlus Completed Successfully-- 5 Warning; 1 Severe Errors; Elapsed Time=00hr 00min 4.65sec109.…
Parametrica.Con grasshopper puoi gestire progetti complessi dal punto di vista della forma e dell'organizzazione con un solo strumento , dal design dell'oggetto , allo spazio dell'architetture , all'organizzazione urbanistica.Grasshopper è un software open source , in continuo aggiornamento da parte degli utenti , TRA POCO POTRESTI CONTRIBUIRE ANCHE TU AL SUO SVILUPPO !!!Sabato 11 MAGGIO 2013durata di 6 ore : dalle 10:00 alle 17:00presso : STUDIO REMODESIGN (via dei marsi n° 41)per prenotare chiama il numero : 3498381249oppure manda una mail all'indirizzo : contact@ivoambrosi.itvisita il sito: www.ivoambrosi.it…
variety of hardware devices. Through lectures and demonstrations, participants will learn how to sense various data sources (environmental, behavioral, web-based) and use the information to create interactive prototypes controlling actuators including servo motors and LED lights. This is an excellent workshop for both beginners to Grasshopper and Firefly as well as those who already have experience with the plugins (and/or have taken our previous workshops). Register here
Please refer to this link for further information about the workshop series and registration specifics.
…
which are a little annoying to me in the scripting environment I would like to share with you:
- when you type in a command or object type and the pop up composer shows, you can hit return to fill out the command quickly. While doing that when you're adding something in the middle of a line (with some text already present to the right), the rest of the line will be deleted. I think this is something that changed around revision 10 or 11.
- when you type in 'New' it fills itself out to 'NewLineHandling' and with List and DataTree it adds brackets <>. I know hitting the Escape prevents this, but I don't know if there's an easy way to solve this.
- when you're using .item(i) and want to use some of the properties of an object, the pop up composer never shows up (BTW 'item' isn't even an option in those menu's), in order to have a small memory support what those commands are.
I don't know if it's too much to change, but it would a huge improvement. Specially if I have a look at all the people that came about these small issues to me already.
Thanks and keep up the good work!
Jeroen…
es. There's quite a lot of work involved in making these as you have to perform layout and drawing all by yourself. Are you looking to do this in VB or C#?
It is also possible to draw pixels into the canvas at various layers. There are 13 events raised over the course of a Canvas redraw and you can draw additional shapes in 11 of them (the PaintBegin and PaintEnd are too early and too late respectively)
CanvasPaintBegin
CanvasPaintBackground
CanvasPrePaintGroups
CanvasPostPaintGroups
CanvasPrePaintWires
CanvasPostPaintWires
CanvasPrePaintObjects
CanvasPostPaintObjects
CanvasPrePaintOverlay
CanvasPostPaintOverlay
CanvasPrePaintWidgets
CanvasPostPaintWidgets
CanvasPaintEnd
Things like your Red and Green circles could be drawn in PrePaintGroups.
Ultimately, it is possible to synch objects, though probably quite difficult if you didn't write those objects. You may have to watch for GH_Document.SolutionStart events and perform your synching there, but I would hate to have to write this code if I couldn't add functionality to the objects to be synched.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Then used 'Cull i (Cull Index)' to ignore the four roof sections without floors below them.
But ran into trouble with the deck level labeled "Fläche Decke", because the number of deck surfaces is far less than the number of roof sections.
So for now, I added 'List Item' selectors for the roof ("Fläche Dach") and "Fläche Tribüne" surfaces, i=11 to match the stadium section used previously.
Note I ignored a 'Line' created using two point parameters, 'Pt Dach L' and 'Pt Dach R', and used an edge of the surface instead (yellow group). That edge will not be i=0 for all roof sections, though, so the correct edge must be selected somehow... The same thing should be done with another line parameter, 'Ln Boden Stütze', that is the edge of the 'Fläche Boden' surface. (P.S. One of these lines could be used with 'Sort Along Curve (AlongCrv )', if sorting is necessary - though I suspect it is not.)
It looks to me, though, that if you fix your Rhino model so the number of surfaces are the same for each stadium section, this GH code can easily handle them all at once.…
EP output variables are to calculate outdoorAirEnergy?
Thank you very much!
Output variables on the Read EP Results component:[1] totalThermalEnergy=cooling+heating[2] thermalEnergyBalance=cooling (-)andheating (+)[3] cooling= Zone Ideal Loads Supply Air Total Cooling Energy [J](Hourly)=Zone Ideal Loads Supply Air Sensible Cooling Energy [J](Hourly)+ Zone Ideal Loads Supply Air Latent Cooling Energy [J](Hourly)[4] heating= Zone Ideal Loads Supply Air Total Heating Energy [J](Hourly)= Zone Ideal Loads Supply Air Sensible Heating Energy [J](Hourly) + Zone Ideal Loads Supply Air Latent Heating Energy [J](Hourly)[5] electricLight=Zone Lights Electric Energy [J](Hourly)[6] electricEquip=Electric Equipment Electric Energy [J](Hourly)[7] peopleGains=Zone People Total Heating Energy [J](Hourly)[8] totalSolarGain=Zone Windows Total Transmitted Solar Radiation Energy[9] infiltrationEnergy=Zone Infiltration Total Heat Gain Energy (+)andZone Infiltration Total Heat Loss Energy (-)[10] outdoorAirEnergy= ???[11] natVentEnergy=Zone Ventilation Total Heat Gain Energy (+)andZone Ventilation Total Heat Loss Energy (-)[12] operativeTemperature=Zone Operative Temperature[13] airTemperature=Zone Mean Air Temperature[14] meanRadTemperature=Zone Mean Radiant Temperature[15] relativeHumidity=Zone Air Relative Humidity[16] airFlowVolume=[infiltrationFlow] Zone Infiltration Standard Density Volume Flow Rate+[natVentFlow] Zone Ventilation Standard Density Volume Flow Rate+[mechSysAirFlow] Zone Mechanical Ventilation Standard Density Volume Flow Rate+[earthTubeFlow] Earth Tube Air Flow Volume[17] airHeatGainRate=[surfaceAirGain] Zone Air Heat Balance Surface Convection Rate+[systemAirGain] Zone Air Heat Balance System Air Transfer Rate
Output variables on the Read EP Surface Results component:[1] surfaceIndoorTemp= Surface Inside Face Temperature[2] surfaceOutdoorTemp=Surface Outside Face Temperature[3] surfaceEnergyFlow=[opaqueEnergyFlow] Surface Average Face Conduction Heat Transfer Energy+[glazEnergyFlow] Surface Window Heat Gain Energy[4] opaqueEnergyFlow =Surface Average Face Conduction Heat Transfer Energy[5] glazEnergyFlow= Surface Window Heat Gain Energy[6] windowTotalSolarEnergy=Surface Window Transmitted Solar Radiation Energy[7] windowBeamEnergy=Surface Window Transmitted Beam Solar Radiation Energy[8] windowDiffEnergy=Surface Window Transmitted Diffuse Solar Radiation Energy[9] windowTransmissivity=Surface Window System Solar Transmittance…
tions or components.
Participants will learn concepts of object oriented programming and essential syntax of C# to endeavour into personally extending cad toolsets. The workshop will focus on introducing the .NET language C# and the Software Development Kit (SDK) RhinoCommon.
Topics
- use of Script Component within Grasshopper
- explanation to the .NET Framework
- introduction to RhinoCommon SDK
- basics of imperative / object-oriented programming
- data types, operators, properties
- variables, arrays, lists, enumerations
- methods
- objects, classes
- control structures: conditional statements (if, else, switch)
- control structures: loops (for, foreach, while, do)
- walk-through iterative und recursive code-samples
- use of RhinoCommon Geometry class library: creation, sorting, editing of Geometry (Points, Vectors, Curves, Surfaces)
- adding (baking) geometry to the active Rhino 3DM Document, including attributes (Name, Layer, Colors etc.)
- introduction to the Integrated Development Environment MS Visual Studio Express Edition
- compiling code to dll/gha files (plug-ins) / making your own Grasshopper custom components
Grasshopper wird auf der .NET Softwareplattform entwickelt, und kann ebenso wie das CAD Programm Rhinoceros mit "RhinoCommon", einem Software Development Kit, erweitert werden.
Dieser Kurs richtet sich an Designer, Architekten, Ingenieure und Techniker, welche mit dem grafischen Algorithmus-Modellierer "Grasshopper3d" sowie dem CAD-Programm "Rhinoceros" bereits vertraut sind und einen Einstieg in die Programmierung von Geometrie erlernen möchten.
Der Kurs Grasshopper II folgende Grundlagen:
Kennenlernen der Script Componente
Erläuterung zum .NET Framework
Einführung in RhinoCommon SDK
Grundlagen d. imperativen / objektorientierten Programmierung
Datentypen, Operatoren, Eigenschaften
Variablen, Reihen, Listen, Aufzählungen
Methoden
Objekte und Klassen
Kontrollstrukturen: Bedingte Ausführung, Schleifen
praxisnahe iterative und rekursive Code-Beispiele für generatives Design unter Verwendung der RhinoCommon Geometrie Klassenbibiliothek - Punkt- und Vektorgeometrie erstellen, sortieren, bearbeiten, Flächen und Netze erstellen - Geometrie in das Rhino 3DM Dokument baken, einschließlich Attribute (Name, Layer, Color)
Einführung in die Entwicklungsumgebung MS Visual Studio Express Edition
Kompilieren von Programmerweiterungen (plug-ins) als Komponenten (custom components)
Details, Anmeldung:
www.vhs-stuttgart.de
Trainer Peter Mehrtens
Kursdauer: 3 Tage x 8 h
Freitag, 21.02.2014, 9:00-17:00 Uhr Samstag, 22.02.2014, 9:00-17:00 Uhr Sonntag, 23.02.2014, 9:00-17:00 Uhr Ort: VHS Stuttgart, Fritz-Elsas-Str. 46/48
Teilnahmegebühr 510,00 €…
ocessed once Grasshopper is done with whatever it's doing now.
3) Grasshopper tells the Slider object that the mouse moved and the slider works out the new value as implied by the new cursor position.
4) The slider then expires itself and its dependencies ([VB Step 1] in this case, but there can be any number of dependent objects).
5) When [VB Step 1] is expired by the slider, it will in turn expire its dependencies (VB Step 2), and so on, recursively until all indirect dependencies of the slider have been expired.
6) When the expiration shockwave has subsided, runtime control is returned to the slider object, which tells the parent document that stuff has changed and that a new solution is much sought after.
7) The Document class then iterates over all its objects (they are stored in View order, not from left to right), solving each one in turn. (Assuming the object needs solving, but since in your example ALL objects will be expired by a slider change, I shall assume that here).
8) It's hard to tell which object will get triggered first. You'd have to superimpose them in order to see which one is visually the bottom-most object, but let's assume for purposes of completeness that it's the [VB Step 1] object which is solved first.
9) [VB Step 1] is triggered by the document, which causes it to collect all the input data.
10) The input parameter [x] is asked to collect all its data, which in turn will trigger the Slider to solve itself (it got expired in step 4 remember?). This is not a tricky operation, it merely copies the slider value into the slider data structure and shouts "DONE!".
11) [x] then collects the number, stores it into its own data structure and returns priority to the [VB Step 1] object.
12) [VB Step 1] now has sufficient data to get started, so it will trigger the script inside of it. When the script completes, the component is all ready and it will tell the parent document it can move on to the next object (the iteration loop from step 7).
13) Let us assume that the slider object is next on the list, but since it has already been solved (it was solved because [VB Step 1] needed the value) it can be skipped right away, which leaves us with the last object in the document which is still unsolved.
14) [VB Step 2] will be triggered by the document in very much the same way as [VB Step 1] was triggered in step 9. It will also start by collecting all input data.
15) Since all the input data for [VB Step 2] is either defined locally or provided by an object which has already been solved, this process is now swift and simple.
16) Upon collecting all data and running the user script, the component will surrender priority and the document becomes active again.
17) The document triggers a redraw of the Grasshopper Canvas and the Rhino viewports and then surrenders priority again and so on and so forth all the way up the hierarchy until Grasshopper becomes idle again.
[end boring]
Pretty involved for a small 3-component setup, but there you have it.
To answer somewhat more directly your questions:
- The order in which objects are solved is the same as the order in which they are drawn. This is only the case at present, this behaviour may change in the future.
- Adding a delay will not solve anything, since the execution of all components is serial, not parallel. Adding a delay simply means putting everything on hold for N milliseconds.
- [VB Step 1] MUST be solved prior to [VB Step 2] because otherwise there'd be no data to travel from [GO] to [Activate]. The only tricky part here is that sometimes [VB Step 1] will be solved as part of the process of [VB Step 2], while at other times it may be solved purely on its own merits. This should not make a difference to you as it does not affect the order in which your scripts are called.
--
The Man from Scene 24…
Added by David Rutten at 4:43pm on December 10, 2009