this occasion, but it could be converted for DT in no time). Requires some minutes more as regards ... some things, but the usual update is due to some days.
Bad news: it's C#
Good news: User's Manual :
1. That thing (the C#, not me) after sorting (in a "sequential way", so tho speak) the panels (their order was chaotic) allows you to start the massacre by locating a focus of interest (and the user controllable +/- Range derived from it).2. The Range is variable (obviously) and takes care not to exceed the indices of the panel list (OK, that's elementary).
3. If you click the right button (Sadistic Q: where is it? he he) things are deleted and a new constantly self-updating list is your new List. Thus the massacre of panels is totally controllable. An autoZoom thing is also included (free of charge, but it's a bit nerve braking). Zoom factor is variable as well.
4. Then you move over (via the index slider) and start the massacre again. Notice the change of Range.
5. If you turn begin to false (initialization) and then begin to true > start all over again.
6. The other C# thing allows you to increment the index slider in a rather more convenient way. It's a bit weird: it uses delegates (A delegate is an object that knows how to call a method) and events (An event is a construct that exposes just the subset of delegate features required for the broadcaster/subscriber model - but don't ask what this means, he he) in order to talk with your slider (with a defined NickName) and perform the required value control.
NOTE: without realizing it you've just (indirectly) asked one of the most important questions even exposed in this Noble Forum. I hear you : what question? Well ... wait some days for the mother of all threads: "Total control in collections on a per Item basis"
may the Force (the dark option) be with you (and me)
best, Peter…
Rubicon (ii.e. some programming language [I would strongly recommend C#] > the Dark Side > years of pain + tears > hell or heaven?).
Back to that pile or worms of yours (I hate "simple" cases, he he).
0. if you want rounded lips ... Styrofoam is the only solution (+ sanding [buy a mask and some decent cigars ... path is long and hilly]). if not > goto 5/6.
1. by what means you think that you can shape Styrofoam? Do you have access to some CNC foam cutter? Or the only tools that you have are ... 2 hands and a knife? (or a thermal cutter). Accuracy is a BIG issue here: chances are that panels won't "fit". Solution is available in the forthcoming V3.
2. male "protrusions" on Styrofoam is kinda 3rd marriage > AVOID at any cost > this would end up in tears.
3. female ones are safe ... thus we need a proper "insert stripe" that must be compatible with the Styrofoam adhesive and strong enough to hold the pieces until the glue cures (it takes time, there's no instant Styrofoam adhesives around). Maybe aluminum (hard to cut by hand) or balsa (very expensive) or plywood (best option).
4. Some CNC foam cutters they can't shape the female "crevices" > be prepared (a thermal tool may(?) cut the mustard).
Note: panels made with Styrofoam look miserable because reality and theory differ. They also look miserable as well (and kitsch and miserable).
5. making the panels with (marine) plywood ... well this yields far superior accuracy and therefor aesthetics but (a) yields max panel thickness constrains, (b) introduces max panel dimensions constrains (c) yields packing issues [waste material] and (d) requires a totally different "connection" approach: it doesn't make sense to do some female crevice ... unless the plywood is very thick (expensive + heavy).
Note: Designing (pro option) self supporting "rib" reinforced sandwich composite panels ... well this is a bit far and away from what you can handle at present time.
So ... I've suspended the male/female thingy until you decide the final policy: it's the material/detailing that should dictate the method(s) AND the whole design and not the other way.
This is what we call bottom-top design approach (dinosaur Architects follow the top-bottom: disastrous + naive + naive + naive + avoid).
6. Plan ZZTop: make a stand alone autonomous perimeter frame per panel (marine plywood: imagine "thickening" these abstract beams shown inwards per panel) then join these frames by means of bolts (easy) and fill the "gaps" with Styrofoam (hmm). Note: you can reinforce the frames by a variety of means (say: a secondary "beam" sub-structure) achieving a rather elegant all overall solution.
This is the best solution by roughly 666 miles.
…
.
as you can see I devided it into 3 parts.
part1: when I try to connect the new shape to the rest of your definition,the plan z,which gives the panels individually when baked(so I can work them individually)doesn't work,apparently there is something missing when I want to explode it.
that is why I connected it to the definition that I already had(part2)( the only cool part about that one is the attractor point)well it kind works,but not really(if you zoom in you can see that there are some parts overlapped and really not looking good).however I much rather your definition because of the option it gives me to work with individual panels when baked(planz).
however it's around 4 am. and I have decided to make some major changes in design (to prepare some closed and open space,I'm talking about part3 that works with the fibonacci like shape,I know it doesnt look really good,but seriously 4am.!).the major problem is that I tried to make a form like that with kangaroo so the shape would be smoother but I wasnt really able to make it with kangaroo,that's why I made it manually in rhino.I was wondering if you can help me make something like this ( not exacly like this) with kangaroo or (if impossible to be made with kangaroo)even helping me optimizing it so it doesnt look as bad,as you can see when I try to work the grasshopper definition on this shape,it gives me different panel sizes for each surface and all of them are to small compared with the overall size of the so-called pavillion(give it 200-500 sq feet (20-50 sq.m).and any suggestions about the shape would be appreciated,please forgive my basic knowledge of rhino and grasshopper,and let's say I wanted to make a shape like these(don't laugh please!)
u promised not to laugh!!!
please help me find the right way!
…
make-this-form-...
Other than that:
1. Tensegrity is a "static" thingy in the sense that you use some module (let's call it "mode") and repeat. Creating some code that does INVENT new modes for T trusses (Pulitzer/EMMY/Nobel on sight, he he) ... I would strongly suggest to forget that THIS VERY MOMENT.
2. Applying some T "mode" on something (see my examples in the above thread where I use surfaces for the T nodes) is another animal. If you intend to use Kangaroo to "relax" that something (NOT the T itself) well ... you can do it but has nothing to do with T.
3. The Kangaroo def provided is a "way" to test the "rigidity" of the T in use. It's a "post-processing" thing NOT a T solving thing.
4. I have a terrible feeling: are you saying that (a) without knowing a thing (or two) from C#, (b) without knowing K1/K2, (c) with a limited GH experience ... your goal is to write down from scratch a FEA ("Femap") thingy that ALSO does node "relaxation" ? If so ... well ... what about sky diving (without parachute) or that classic Russian roulette "game"?
PS: shown double tetra (classic) and XFrames (classic) T trusses applied in open and closed surfaces.
But of course these are abstract stupid "arrangements" utterly out of question in real-life: read CAREFULLY the discussion in the thread provided above AND also study the 3dPDF attached (with a system out of many available) in order to get the gist about what real-life means (Note: EVEN if no real-parts are used ... the node calculation is different from the abstract "star" connections pictured above - by "star" I mean that cables meet at a single point in space without any "offset" etc etc).
Moral: Seppuku
Plan Z: Skype ASAP
…
d the ObjectName of a selected set of objects from a Rhino model in CSV format.
2) Opened this in Excel, Column-A contains the GUID, Column-B contains ObjectNames.
3) Modified and revised the ObjectNames in Excel.
4) Using another GH-solution, Wrote a VB script to push this modified data back into the model. However after baking, the objectName is not getting updated.
Though the solutions do not show any runtime errors, after baking, the ObjectNames are not updated. However, if I try selecting the object using:
obj.Select < - this gives an error
--------------------------------------------------------
Here is the code to my GH-solution (see attached image)
WriteToXL module:
------------------------------------------------------------------------------
Private Sub RunScript(ByVal id As Object, ByRef mName As Object, ByRef GUID As Object, ByRef A As Object) Dim obj As Rhino.DocObjects.RhinoObject = doc.Objects.Find(id)'Dim A As StringDim mP1(2) As DoubleDim mP2(2) As DoubleDim mCurve As Rhino.DocObjects.CurveObjectIf obj Is Nothing ThenmName = "Obj not found"ElseIf obj.ObjectType = Rhino.DocObjects.ObjectType.Curve ThenmCurve = objmP1(0) = mcurve.CurveGeometry.PointAtStart.XmP1(1) = mcurve.CurveGeometry.PointAtStart.YmP1(2) = mcurve.CurveGeometry.PointAtStart.Zmp2(0) = mcurve.CurveGeometry.PointAtEnd.Xmp2(1) = mcurve.CurveGeometry.PointAtEnd.Ymp2(2) = mcurve.CurveGeometry.PointAtEnd.ZEnd IfmName = CType(obj.Name, String)GUID = obj.idA = GUID.ToString & ", " & CStr(mName) & ", " & mp1(0) & ", " & mp1(1) & ", " & mp1(2) & ", " & mp2(0) & ", " & mp2(1) & ", " & mp2(2)End IfEnd Sub -------------------------------------------------------
ReadFromXL module:
-------------------------------------------------------
Private Sub RunScript(ByVal activate As Object, ByRef A As Object, ByRef B As Object, ByRef C As Object) If activate = True Then Dim XLApp As Object Dim XLSheet As Object
xlApp = System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application") Dim strSheet As String = "ObjectName+GUID" XLSheet = xlApp.Worksheets(strSheet)
Dim strGUIDColumn As String = "A" Dim strObjectNameColumn As String = "L"
Dim iRow As Int16 Dim nRows As Int16 = XLSheet.usedrange.rows.count Dim obj As Rhino.DocObjects.RhinoObject ReDim B(nRows - 1) ReDim C(nRows - 1) ReDim A(nRows - 1) For iRow = 1 To nRows
Dim strGUID As String = XLSheet.Range(strGUIDColumn & iRow).Value Dim objGUID As Guid = New System.Guid(strGUID) Dim strObjectName As String = XLSheet.Range(strObjectNameColumn & iRow).Value obj = doc.Objects.Find(objGUID) obj.Attributes.Name = strObjectName B(iRow - 1) = objGUID C(iRow - 1) = obj.Attributes.Name A(iRow - 1) = obj Next
End If
End Sub
----------------------------------------------------------------…
a reply.
Q1. I run two generations in my generation 0 I can distinguish 3 lines...what do they refer to? I got my Fitness as 5 values Heating, Cooling etc and thought there will be 5 lines
Q2. What are values on X/Y/Z axis and color legend? What colors means I got black 409.87 and red 33.63 amd tis dot 99.2:5 and green 2.27:4?
Q3. I can see that in every generation my values are condensed ...of course I shall run this for many more generations... but as result of my simulation which is minimize energy will be the last one that head down?
Q4. I was reading this forum and there is no current way of savings all results for each run ?
Q5. If there are some any general advice how I shall tackle my problem this would be great!
Ps. I will try to run this example over the weekend to see what is the result.
…
hat differ in shapes, sizes and height the facade would be a mess. Some spaces need some light while other can't have any. I would like to have full freedom of creation inside the building, to make it as functional as possible. Thats why i decided the parametric "skin" solution would be best. Since the location has industrial past (factories made of brick) i decided that brick would give interesting result.
I tried creating the definition on my own but since i lack skill in GH i got some problems (especially multiplication of bricks and the diffrence between each "level" (half a brick on y axis) caused problems for me.
I post my simple sketch explaining the idea of definition i would like to create (sorry about quality):
1 - Brep - I would like to use 25x12x6cm (classic brick) but as well experiment with diffrent shapes - like the one on the right with hole inside - that would give more light. Thats why i think the best solution would be using brep for this definition.
2- Multiplication - biggest problem for me - I don't know how tall the wall would be, what will be the final shape of Brep (brick) and that's why i would like to manipulate this with sliders as well. All the walls are flat (maybe it would be easier to use surface?). As i managed to multiply the bricks easy way i don't know how to gain control over height of the wall - for example that it is 30 bricks high, but has each second row moved on x axis by the distance of 1/2 brick. I tried using Series but with no success. Could you help me with that please?
3 - Rotation - i would like to use image sampler for that so i can "paint" where i want more sun and where i dont need it at all (black and white). The rotation has to be limited to 180 degrees as well. Obviously i didn't get here yet, but i never used image sampler so if you could give me some advice how to use component and how to create such images i would be really grateful.
4 - More of a concept thing - since the connection angles differ from 90 degrees i will have to figure out how to connect the parts of the wall at sides ;).
I would like to ask you for help with the defintion, since i am totally stuck at step 2. I post what i came up with so far. Thank you for your time and help!
PS. I post an image that is pretty similar to one of options i would like to check for my building.
…
new component "OSM 3D roof"):
2) Simplified 3D roads can be created by using the network of OSM polylines (through new component "OSM 3D road"):
3) 3D forest.Up until now, Gismo supported generating a single 3d tree whenever such tree was present in openstreetmap.org database. Now it is possible to generate 3d trees in forest areas, by randomly positioning the 3d trees (through new component "OSM 3D forest"):
4) Boolean 3d shapes.Gismo's "OSM 3D" component generates shapes as parts: for example, if a building has irregular shapes across its height, they will all be created individually. Trying to merge them with Grasshopper's "Solid Union" component can sometimes fail.New Gismo "Rhino Boolean Union" components tries to overcome this issue by using a much better Rhino version of this command.
5) Library of common GIS color palettes (gradients).A single component containing 22 of the common color palettes used in GIS applications as ArcGIS and QGIS. For example: elevation, aspect, precipitation...
6) Url to location.Thanks to idea by Alex Ng, it is possible to extract location from a link of the following map websites: Openstreetmap, google maps, bing maps, wego.here, waze:
Version 0.0.3 can be downloaded from here:
https://github.com/stgeorges/gismo/zipball/master
Example files from here:
https://github.com/stgeorges/gismo/tree/master/examples
New suggestions, testing and bug reports are welcome!!…
Added by djordje to Gismo at 1:39am on January 29, 2019
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)…
t. So here we go!
1. Honeybee is brown and not yellow [stupid!]...
As you probably remember Honeybee logo was initially yellow because of my ignorance about Honeybees. With the help of our Honeybee expert, Michalina, now the color is corrected. I promised her to update everyone about this. Below are photos of her working on the honeybee logo and the results of her study.
If you think I'm exaggerating by calling her a honeybee expert you better watch this video:
Thank you Michalina for the great work! :). I corrected the colors. No yellow anymore. The only yellow arrows represent sun rays and not the honeybee!
2. Yellow or brown, W[here]TH Honeybee is?
I know. It has been a long time after I posted the initial video and it is not fun at all to wait for a long time. Here is the good news. If you are following the Facebook page you probably now that the Daylighting components are almost ready.
Couple of friends from Grasshopper community and RADIANCE community has been helping me with testing/debugging the components. I still think/hope to release the daylighting components at some point in January before Ladybug gets one year old.
There have been multiple changes. I finally feel that the current version of Honeybee is simple enough for non-expert users to start running initial studies and flexible enough for advanced users to run advanced studies. I will post a video soon and walk you through different components.
I think I still need more time to modify the energy simulation components so they are not going to be part of the next release. Unfortunately, there are so many ways to set up and run a wrong energy simulation and I really don’t want to add one new GIGO app to the world of simulation. We already have enough of that. Moreover I’m still not quite happy with the workflow. Please bear with me for few more months and then we can all celebrate!
I recently tested the idea of connecting Grasshopper to OpenStudio by using OpenStudio API successfully. If nothing else, I really want to release the EnergyPlus components so I can concentrate on Grasshopper > OpenStudio development which I personally think is the best approach.
3. What about wind analysis?
I have been asked multiple times that if Ladybug will have a component for wind study. The short answer is YES! I have been working with EFRI-PULSE project during the last year to develop a free and open source web-based CFD simulation platform for outdoor analysis.
We had a very good progress so far and our rockstar Stefan recently presented the results of the work at the American Physical Society’s 66th annual DFD meeting and the results looks pretty convincing in comparison to measured data. Here is an image from the presentation. All the credits go to Stefan Gracik and EFRI-PULSE project.
The project will go live at some point next year and after that I will release the Butterfly which will let you prepare the model for the CFD simulation and send it to EFRI-PULSE project. I haven’t tried to run the simulations locally yet but I’m considering that as a further development. Here is how the component and the logo looks like right now.
4. Teaching resources
It has been almost 11 months from the first public release of Ladybug. I know that I didn't do a good job in providing enough tutorials/teaching materials and I know that I won’t be able to put something comprehensive together soon.
Fortunately, ladybug has been flying in multiple schools during the last year. Several design, engineering and consultant firms are using it and it has been thought in several workshops. As I checked with multiple of you, almost everyone told me that they will be happy to share their teaching materials; hence I started the teaching resources page. Please share your materials on the page. They can be in any format and any language. Thanks in advance!
I hope you enjoyed/are enjoying/will enjoy the longest night of the year. Happy Yalda!
Cheers,
-Mostapha
…