n due at the end of march. i am hoping to see if i can do this as a sort of "HIVE MIND" experiment with one or two or more posters to the forum. i have uploaded two files to http://www.formpig.com/nine_bar-FAR and I have the following goals:
1. To "kinematically iterate" various formal building envelopes based upon a 50' x 100' lot that "conform" to the nine bar linkage geometry.
2. This lot would have "setbacks" consisting of two 5' side setbacks, a 10' rear yard setback and a 25' front yard setback. max height on the structure is 32' and the allowable overhangs into the setbacks are 2'. I would like to find a way to use the "nine bar geometry" to construct a series of iterations for "floors", "walls" and "ceilings", which would then be tied to a volumetric (cubic volume), or a total square footage (perhaps based upon two horizontal section cuts) which was based upon a given number that I will provide per local building code.
3. Laid on top of this we would also have "mcmansion ordinance" requirements based upon the pdf enclosed. i expect to have this "tent restriction" data in digital form to upload to ftp shortly.
It would be up to you individually or collectively to determine how best to position this "in the real world" based upon the lot, setbacks, zoning requirements etc. For instance, perhaps the nine bar configuration has its vertices coplanar with the 50' x 100' x 32' envelope restrictions and then the chosen volume is "trimmed' by the setback requirements. Or perhaps the nine-bar configuration is generated completely within the setbacks, or perhaps it is generated 2' outside of the setbacks so as to take advantage of the 2' overhang allowance on the setbacks, etc.
*
Given an opportunity to develop the work in a second phase we would have an opportunity to tie this into various efficiencies such as Bill of Materials (wall floor and ceiling square foot calculations), envelope to volume calculations, solar panel efficiencies (solar orientation and envelope geometry) etc, etc (love to get suggestions for this).
*
I've become /really/ convinced that this would be a /really/ interesting entry based upon my just finishing up Kas Oosterhuis' Towards a New Kind of Building: A Designer's Guide for Non-Standard Architecture". In an ideal world I was hoping that it would be possible to hash this out discussion-wise and then literally passing it around on the list after someone eventually made the first move by tossing out a rough ghx script. My expectation would be to finalize it rapidly in the next two weeks. Something of a contemporary version of a design charette.
However, I realize this may not be workable so if you have experience in this arena and particularly if you think this is a brief that is straighforward enough to be almost literally implemented in Grasshopper, please contact me for any wage and/or contract fee requirements.
I'm getting a bit of a late jump on this but my hope is that with the right participant(s) that I can thrash it together quick enough for the first round.
info@formpig.com…
I am not knowledgeable about google maps nor google maps api, but from what I read the two components will definitely show a bit different results due to different topography sources.If it is judging by this 2010 article, your Terrain Generator component offers much higher precisions for USA. Precision goes up to a couple of meters, which is amazing!!On the global scale it offers either SRTM 1 or 3 arc-second data or 30 arc-second GLOBE data. Again this is from the mentioned article, I couldn't find this information by searching the Google Maps website.Terrain Generator 2 component always uses SRTM 1 arc-second data from opentopography.org, and it is limited to 60 degrees north and does not have data for Antarctica. It does not come with satellite image either which is another very convenient feature that you have!I couldn't find information about the allowed radius provided by the Google maps api free account. I limited the "radius_" input to 100 000 meters, even though opentopography.org provides more than that (I successfully downloaded 300 000, but Rhino 5 was not able to create a topography on my PC from such a large amount of data).Even though I couldn't compare the results from two components, by looking at your upper example_LB_terrain_generator.gh definition: set the "I" input of "Surface from points" component to True. In this way the surface will be interpolated through points, which is what we want.
Again thank you for the permission, and I look forward seeing those high precision topography that Google maps offers!!…
r availability on each orientation.
But to make thinks (hopefuly! :-) ) clearer, I attach a simplified version of my analysis using the same one surface to run the three different cases. I assume that the direction of the surface is now the same, still results are different. The top case in rhino correspond to the top case in the GH canvas, the lower in Rhino to the lower in GH..
I expected a difference in each run.. but the cases differ of 100% not 10% that would be reasonable..
Case 1 158 W/m2 for the "only test point" option
Case 2 314 W/m2 for the "test point + pts Vectors" case
Case 3 282 W/m2 for the ladybug option
The analysis is made the day 1 , hour 12h and the the solar radiation condition are:
Direct 125 W/m2
Diffuse 164 W/m2
Global Horiz 207 W/m2
The interesting thing is that the three cases made for the orizontal surface give the same results.
moreover if the materials reflectance is changed to 1, the results are very similar but the values are higher than the sum of direct + diffuse as for case 2
125+164 = 289 results give 314
(diffuse radiation is obviously calculated on horizontal surface in the weather file and the surface analysis is vertical so the percentage of diffuse radiation that the surface will receive will be even less).
Hope that I've been clearer and sorry if you already have answered my question, but I'm not understanding the results. (i'm not a GH pro-user but I'm quite familiar with analysis and these stuff)
Thank you again
filippo
…
rything works as expected.
Spread A:
{0} 10 items
{1} 5 items
{2} empty
Spread B:
{0} 3 items
{1} empty
{2} 4 items
Merged:
{0} 13 items
{1} 5 items
{2} 4 items
Fine.
But now I have the situation that the number of branches can go down to 1, resulting in simplify effectively flattening the list, but merge somehow "remembers" the data structure and will result in something like:
Merged:
{0} 1 items
{0;0;0;0;0;0} 100 items
So this is happening even though all inputs are simplified. Shouldn't simplify also reduce all the items to just {0}, even when just one branch is present?
So is this expected behaviour? Surely the number of branches should be irrelevent for simplify.
Any workaround? I tried trim tree, but it fails because there is one branch with the correct {0} identifier. Basically it should flatten in that case, but not when there is more than 1 branch.
In the screenshot, D2 contains no data, but D1 is simplified, but retains its depth information and should also be {0}, as it does for any data that has more than 1 branch. The merge component makes it visible. Flattening is not an option.
…
ingle surface. But as seen on left surfaces in attached zip screenshot "A" and proj. "6b-RnGH_Simpdatainter-TTTWriteXL_J gh.3dm", i spent more time attempting correction of the patched polysurf many errors, artifacts and lack of original surface topology, all regardless of uv count or "flexibility". Fortunately, as seen on upper right surf of screenshot A & proj., a Quad polygon Mesh patches to an accurate surface and texture (even with backside "spike" artifacts) so long as patch Spans and Flexibility are sufficient. Also, Grasshoppers patch reproduces surf's far more accurate than Rhinos (possibly due to Rhinos patch, 100 unit uv count limitation? or my ill use).Would like to send the polysurface for you as well Dave(Hello &feel free to chime in), but even zipped the .3dm is 25 mb over GH3D site 5mg limit, so i had to remove it.- is there another way, perhaps Pm, email etc. i could send this to you both?,A)WRITEXL:As seen in screenshot "2.jpg", my WriteXL output is not in the same "Set1-5" format as yours, so perhaps won't be read properly by your Simpledatainterpolation def.1) how to fill each XL cell with single x,y,z coordinate or corresponding row name and column group numbers?, ..same as your XL format. Once answered i can finally blend my surfaces in your Awesome! def.,....i've used: Right-click panel > Stream Contents to.txt format, then on Excel sheet, click empty cell Data tab > Get External Data > From Text. This imports x coordinates into a column, then y and z coord's one at a time. But please show any method to import all coord's simultaneously if possible?, and possibly how to use .xyz export format?,2) how to trim off excess Patch surface?, ..Patch > Trim is set to True but surface remains untrimmed,.B)INTERPOLATION:Screenshot 1 previews baked, Mesh deconstructed points,screenshot 3&4 shows results of Interpolation when mesh points are Set in Point component AND Set as one file path in ReadXL using "6b-RnGH_Simpdatainter-TTTWriteXL_J gh.xlsx", which contains the same "Streamed" X,Y,Z mesh points.It interpolates INcorrectly: moving vertically with the top left corner as high point, and does not change shape as your interpolated points\surface does.3) how to correct my mesh points interpolation to same as yours?,.4) how to alter your def. so it interpolates between 2 excel .xlsx containing surface xyz points?,Really impressed and appreciate your example instruction and powerful def's,hope to talk soon and learn more.Big fan, Jeff…
Karamba.
I am using your plug-in for normal forces evaluation in the transvere wires and spreaders of a sailboat. Mast is solved in another way, so I am not taking forces from Karamba in that case.
Basing on the forces value an adequate wire size (diameter) is choosen. Then masses of wires are being calculated. Loads (forces) on longitudinal wires are calculated without Karamba. The problem is when choosing transverse wires’ mass minimization as a criteria, the Octopus doesn’t get any results - is changing the sliders (genes) too fast for Karamba to calculate the forces (so Octopus gets only nulls):
When minimization of a e.g. longitudinal wires’ mass (calculated without Karamba) is taken as a criteria Octopus works fine.
Which suggests that the problem is in interaction of two plug-ins.
Any ideas how to avoid that problem?
Thanks,
M.
Below some screenshots of definition part with Karamba:
1675×807 200 K
image.png1680×789 398 KB
Despite the ‘orange warning’ the values are correct (double checked with other software).However I don't know why does it say that there is a part that can move freely without deformation,as the model looks like this:
image.png1239×343 55.5 KB
…
or of the rectangle
Here is a sketch.
I found also into rhinoscript help some script however I don't see how to manage to create such a component for a use into grasshopper.
Could you possibly help me ?
Thank you.
Marc
GetRectangle
Pauses for user input of a rectangle.
Syntax
Rhino.GetRectangle ([intMode [, arrPoint [, strPrompt1 [, strPrompt2 [, strPrompt3]]]]])
Parameters
intMode
Optional. Number. The rectangle selection mode. If not specified, all modes (0) are available. The rectangle selection modes are as follows:
Value
Description
0
All modes.
1
Corner. A rectangle is created by picking two corner points.
2
3-Point. A rectangle is created by picking three points
3
Vertical. A vertical rectangle is created by picking three points.
4
Center. A rectangle is created by picking a center point and a corner point.
arrPoint
Optional. Array. A 3-D base point.
strPrompt1
Optional. String. The first prompt or message.
strPrompt2
Optional. String. The second prompt or message.
strPrompt3
Optional. String. The third prompt or message. The third prompt used only with 3Point and Vertical modes.
Returns
Array
An array of four 3-D points that define the corners of the rectangle if successful. Points are returned in counter-clockwise order. See the image below for details.
Null
If not successful, or on error.
Example
Dim arrRect
arrRect = Rhino.GetRectangle
If IsArray(arrRect) Then
Rhino.AddTextDot "0", arrRect(0)
Rhino.AddTextDot "1", arrRect(1)
Rhino.AddTextDot "2", arrRect(2)
Rhino.AddTextDot "3", arrRect(3)…
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…
he concept, moving on to decision making and continuing with digital and generative design tools TO GET THE BEST SOLUTION for each problem.
WHY? The world is complex and ever-changing and we need to be able to handle the volume of information we receive and, of course, to find and choose the best solution. Therefore, we direct our ATTENTION TO THE CAUSE, and not only on the effects/solutions.
We will learn from NATURE, the only “company” that has not gone bankrupt in over 4000M years, and it’s GENERATIVE SOLUTIONS.
> OBJECTIVES <
The participants will work in multidisciplinary groups (ex. architect + designer + business manager + constructor + communication specialist etc.) applying knowledge management tools, different approaches and nature-based optimization methods.
Listed objectives:
1. Improving the generative way of TURNING AN IDEA INTO A PROJECT through problem-solving thinking
2. Discovering nature’s ways of shaping evolutionary solutions
3. Getting out from our comfort zone and working together with other professionals in groups in order to achieve better solutions: Multidisciplinary Design Optimization
4. Learning to use technology to manage information in the decision making process
& surviving the whole week
> ATTENDANCE & COSTS <
> Early bird – until 17th March 2013
Lecture – 15 euro (includes presentations, food& drinks)
Workshop – 100 euro (includes lecture, food& drinks)
> Late bird – until 6th April 2013
Lecture – 25 euro (includes presentations, food& drinks)
Workshop – 120 euro (includes lecture, food& drinks)
…
y be impossible to assemble otherwise :) Volume of each part for just a 1m dome is about 90x90x20mm. You'd probably lose your job if you tried printing them in the office, but thanks for the thought!
Mr Stasiuk... firstly, a huge thank you for your help... I'd been trying this for months and months but your help was the light at the end of the tunnel! The reason my meshes wouldn't boolean was thay they were not closed or manifold. I didn't have the PullVertices component you used to get the cylindrical holes to fit to a size so I tried not joining the cylinders, smoothing the rest and keeping naked edges fixed so I could join them together after smoothing. I think this left me with a non-manifold mesh with holes in. Also, under closer inspection, my panel meshes had holes in them! Eventually I created the same PullVertices effect by working out the distance and direction of the mesh vertices inside the cylinders, from the cylinders and moved the vertices... I really didn't understand how the data structure moved only the points I wanted, where I wanted them but it worked and thank you again for giving me the logic to re-create. Once all my meshes were in order then Rhino handled the booleans (my laptop would not handle trying to do all these ops inside GH so I finish them manually in Rhino - Adding the pane slots, adding the M6 bolt and nut cavities and splitting the component using the panel plane intersections).
Mateusz, they have different pricing structures... a handling fee, cost per cm3, lower price per additional print, price for total bounding box volume, etc etc... its like comparing mobile phone tarifs! Some really want to help you find the best way though, so I'll find a way!
I'll add some rendered dome assembly photos tonight and hopefully one day some photos of a real build!
Thanks again to everyone that offered help and advice!…
Added by martyn hogg at 5:05pm on January 23, 2014