on ... er ... Rhino fails (without any apparent reason) to do the bool intersection required. See the disabled native GH component as well that also fails. Why? You tell me.
2. Added a more realistic option for the sides:
instead of that entirely off-topic solution:
3. Added an indicative bus shelter layout that proves ... er ... that the whole approach is wrong: you should do some layout the full parametric way (not a task for a novice) and then sample the random points required ALWAYS between the bus parking places: that way inside columns are possible and functional.
PS: In order to use the test instance definitions load Rhino file first.…
eas and references:
1. The Geometry of the Envoirnment, Lionel March and Philip Steadman, Chapeter 10 - 11
2. There is a good overview on Floorplan generation methodes under this link:
http://entwurfsforschung.de/layout/
3. Have a look @Space Syntax grasshopper plugin
4. The random approch / Infinit monkey theorem
https://vimeo.com/37186522
This has its limits 100+ rooms will not realy work...
5. A more obscure math approch -> spectral Graph matching
https://vimeo.com/136231619
And the paper to read:
http://www.sss10.bartlett.ucl.ac.uk/wp-content/uploads/2015/07/SSS1...
6. Shape grammers
https://en.wikipedia.org/wiki/Shape_grammar
enjoy....
…
ne) graphs, makes a classic VV (vertex to vertex connectivity) Adjacency Matrix based on what Sandbox has to say (the Matrix is not actually required if someone wants to stay 100% in the GH world) and then ...er ... hmm ... attempts to find closed circuits as Microsoft suggests (forgot/lost the link but who cares? not me anyway [see VS stuff attached]).
It's quite faulty (like Windows) ... but is an indication on some things. Try to understand the recursion (critical in most AEC stuff). Recursion means that Matteo calls Matteo who calls Matteo ... until Matteo calls Maria and the loop is over. Notify if you need other recursion C# examples on other things (dozens available).
The working(?) chopped (minus sensitive stuff) real thing next week: just realized that this w/e there's the Malaysian MotoGP (Valentino lost the championship) AND a critical Formula 1 race in Mexico (forza Lewis).
Attached as well the original VS stuff from Microsoft (requires VS 2017)…
Profiler widget ('Display | Canvas Widgets | Profiler'):
13.6 seconds seems like a long time for only 100 geometries, not sure why... It appears to be related to the complexity of your shape; 24 faces, 57 edges, 35 vertices. Look at this little experiment comparing it to spheres and cones:
'Area' can also be slow. Whenever possible, I try to use other means to get a centroid instead of using these two. In this case, you had a grid, in other cases, there is often a point already in the right place or it can be derived by quicker means, like using 'Avr (Average)' of two or more points (vertices). If you can't avoid it, just know that this can be a bottleneck.…
Added by Joseph Oster at 2:51pm on November 17, 2017
less points there are.
Then, I want to take each point, and find its closest neighbor (closest point), and connect these two with a spline curve that will be ON the surface of the original 3D form (the egg).
Then, I want to rail a square on these curves, but I think that's not possible inside grasshopper since there is not "square" rail option, only circle....
I can do the 3D voronoi on top of the form but all these previous steps are holding me back:
1) The point list of the populate points is random, and I can't figure out how to order the point indexes from 0 to 100 so that the lowest ones are 0,1,2,3... and the topmost one is 100. I've tried distance attractor methods but I guess I can't figure it out for hours...
2) Assuming the indexes are correct, how do I cull in a sequence from bottom to top to get more culling as I go up?
3) Again a list problem - the closest points - I can't get each point to have only 1 connection to a close point, it's always many connections, so every time I don't get a collection of curves that are clear, but a huge collection of curves from many points to many points.. I only want each point to have a connection to one other point (2 way connection between a point and its closest point).
If anyone understands the problem and can maybe help me out here, I would appreciate it.
I think my knowledge of lists and domains and series etc. is pretty limited as of now, so I would appreciate an example or a solution in code so that I can understand it...
Thank you!…
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.…
o's command 'InterpCrv' manually(white line).
We had one need to make the rhino-InterpCrv curve in grasshopper.
One thing I've tried is using a python script to emulate the rhino-InterpCrv, but didn't get any results,since I didn't know how to define the arrCV1 and arrCVn1 when using the 'AddInterpCurve (knotstyle=1/2)'
knotstyle from the rhino IronPython help
knotstyle
Optional. Number. The knot style to use, and whether the curve should be periodic. If omitted, uniform knots (0) are created.
Value
Description
0
Uniform knots. Parameter spacing between consecutive knots is 1.0.
1
Chord length spacing. Requires dblDegree = 3 with arrCV1 and arrCVn1 specified.
2
Sqrt (chord length). Requires dblDegree = 3 with arrCV1 and arrCVn1 specified.
3
Periodic with uniform spacing.
4
Periodic with chord length spacing. Requires an odd degree value.
5
Periodic with sqrt (chord length) spacing. Requires an odd degree value.
did anyone tried to create a curve like native Rhino from script? or, is there a another GH component that is suitable for smooth curves?
I guess a alternative way will be using rs.Command('InterpCrv'), but wanted to know if there will be a smarter way...…
ed rhino object with a uuid - as soon as i take it into a component the point comes out as a non referenced type and the associaiton, UUID, is broken to the original baked rhino object. This happened for a simple translation action using the move component - i specified a vector and moved all referenced points, output points were no longer reference types
For addition, if you use your idea of a uuid for a user string will it matter if you use addition as the two curves will have differnet uuids for the user string. The user could iterate through the user string collection on the created object to decide on which one to use. I guess the order of the user strings on the additive object is imprtant i.e. if A + B = C, then theorder of the user strings on C should be A, B
Some thoughts about how to maintian this.
1. If a grasshopper object is a reference type - the porperty IsReference can be used - then a new instance of a grasshoper object derived from any geometry that is a reference object has the option of copying that user string.
2. May be you can specify a global option as to whether to maintain inputted reference geometry user strings in components? May be a local option when right clickign on a components inputs where you can specify maintain input reference user strings
3. Restrict copying of reference user strings to certain componens where teh order and number of input parameetrs is unaltered when outputting - as you said, this should be the case for translation, scaling operations.
Not sure what the answer is, Im sure if you dont know the answer then nobody will know!!
Steve…