t-m...
The addon and the C# script behave identically and take the same amount of time.
Ball pivoting does not seem to handle intersecting point clouds of populated surfaces:
It's very tweaky, and the bigger you set the ball, the more likely it is to bridge deep into the interior instead of stick to the surface. It simply is not robust, since no, it does not really roll along the surface, but searches locally, assuming it is dealing with a single shell, which here it is not. A Boolean union of course saves it, but then Rhino can quickly mesh a polysurface anyway. Pivoting ball surfacing is just another triangulation method for uniform single surface point clouds, not a way to find an outer surface of a 3D point cloud. Occasionally it works when your ball size and point cloud happen to relate to one another so that outer points in the intersection area happen to be the closest ones, but tweaking it to achieve that quickly blows up the script and you have to quit Rhino.
When it does occasionally work, it too creates an inner mesh artifact of the intersection area, like my system still does since I don't know how to filter those out yet.
…
go and sulk in the corner, my C# is non existent, although i am making progress on python unfortunately slower than my grasshopper.
Attached is a typical relatively simple planar grillage model for a bridge form that is common in Australia/NZ/Asia. The analysis package has a good graphical interface, however i am looking at replicating the process ideally with GH. I am getting there.
There are a few constraints in the use of a super T, the precast mould is governed by two critical dimensions:
1. from the beams soffit to the underside of the precast flange, normally Depth -75 or 100mm. Depths that are common are 1200/1500/1800.
2.The real sweet spot dimension is the 1027mm dimension to the outside of the webs, this is a constraint
The actual shapes of the prestressed beams are governened by AS5100:5 Appendix H (from memory)
In my definition I included the super T cross section which is parametric.
The other definition is where I have got to with the grillage.
I am a little one dimensional: point-line-surface-volume. I think I am getting to grips with manageing data i lists.
My ulimate aim is to:
generate basic geometry in gh, the type of analysis will be a space frame or FE, these analysis types require different geometries imported to a structural analysis package
ideally utilise IFC, for materials, 2D, 3D drawings and project documentation
At the moment I am looking to generate all of my gemetry in GH, that seems to generate a lot of doubled up geometry. Deconstruct Brep may become my favourite.
A little excesive is the inclined members spilt into the same no. of points at the grillage length.
again thanks for you time, oh! took a a few minutes to work out how to plug your def's in.
kenyon
…
Added by Kenyon Graham at 7:57pm on December 3, 2015
lot - therefore I can not really understand what they did. I really like what you did but you took it too far. I am more interested in the circle and the square points and how you got them to change the shape along the curve. I will dissect your file and see if I can transfer the idea into one plane - as flat as it gets - probably going to take me a while.
What I want to do is this - in simple 2d - I will extrude it after I pick the shape that I like best that can be obtained from this morphing of 2d shapes
And I have managed to do it in a 3d form see cube (run the galapagos simulator) and the galapagos files - galapagos will make my shape move from a circle to a whatever shape - but i don't know what parameters I can input before that.
I just need to morph or whatever it is called the base of the future building or/and each level - individually - extruding after and placing in the right position should not be so difficult. I tried with loft before I wrote this post but if you open the file you will see my little disaster - please don't laugh too hard I am still new at this :P - that is also why my explanation of what I want is not that accurate.
…
ntended for an easier application of BF and not really for learning how to use BF, hope it was helpful. Not sure what this error is though as I can't reproduce it in my computer. Are you sure you have the latest Human components? I'll try and look it up when I can for you.
Concerning your results, they do look as expected. A heavy wake area behind the building has been created as you can see, with a quite clear pattern of wind deceleration and a recirculating vortex. This is a standard pattern in outdoor wind and something that generally we try to either minimize or plan activities around since these areas tend to have lower wind velocities and less recirculation, thus leading to debris/dust deposition and potentially higher pollutant concentration.
There are a lot of nice examples of urban wind patterns online you can check, it makes easier for you to help validate the results you get.
Finally, the k and epsilon values for outdoor studies are currently being calculated with (pretty) standard equations for the k-e family of turbulence models. I believe you can find these in the BF source code. Unfortunately I don't have access right now to check where exactly but I would look before the blockMesh component, since the case folder with all the values is created at that point.
Good luck in your CFD journey! Please keep posting results and issues!
P.S.: Btw if you are interested on the effect of your building geometry at a section parallel to the wind direction you could also try a 2D simulation. You can do that either by manually editing your blockMeshDict and setting 1 cell width on the direction perpendicular to your wind or by simply assigning a 1m wide windTunnel (centered at your geometry). This will allow you to refine your model much more than possible in a 3D case with lower run times as well. Ofc it's not as accurate as a 2D case but it's nice for experimentation.
Kind regards,
Theodore.…
h 'Cap Holes (Cap)' to close the ends. The cube is arbitrary too; I used 'BBox (Bounding Box)' for the capped, revSrf (might be a good idea to scale that a bit larger?). Then I rotated the revSrf 45 degrees just to make it more interesting, before 'SDiff'.
There is still no "grid" at that point. To create the grid, I used three edges of the 'BBox' corresponding to X, Y and Z directions and divided them using 'PFrames (Perpendicular Frames)'. The frames are planes used by 'Brep | Plane (Sec)' to intersect the 'SDiff' result.
You can hide the 'Preview' of 'SDiff' to leave only the intersection curves.
You can feed those intersection curves to 'Boundary' to get surfaces from many of them (the ones that are "Closed Planar"). Add 'Shift Paths', then 'Shift List' twice (1 and -1) with 'Wrap=False' to ignore the six outer surfaces.
A few simple tips for understanding GH code:
Enable/disable preview one component at a time to see what each one does.
Use a 'Panel' to see a text version of what is coming out of each component. This also helps to understand data/tree structures (essential to grasp 'Shift Paths').
Try the attached 'vuTreeList' tool I wrote to examine the geometry being generated along the way, by path and item.
Have fun!
P.S. I just realized I haven't really matched your desired result, which is a 3D grid of pipes... Will have to give that a little more thought.…
Added by Joseph Oster at 10:04am on March 13, 2017
ing around with a 3dvoronoi model and I have generated a few model rocks that I want to use to generate a kind of growth system but I'm sure that with Grasshopper this solid connection will be much easy.
I’m attaching a definition and a rhino file, the problem is that I’m just able to connect one rock at a time; I can’t connect them all together...
I attach an image of Aranda Lasch's work with Grotto.....this is basically what I’m looking for but I'm not able to!!!!!
Thanks for your help first of all and I hope someone’s knows how!!!Thanks, thanks, thanks....
Gracias a todos!…
e unfolded pattern). I think I would like to achieve something like the software Rigid Origami does, but using Rhino+Grasshopper instead.
Although being an architect myself I am a beginner in Grasshopper and therefore I would like to ask you for some advice on where to start, how to define the paper folding behavior in GH.
I am doing some research into paperfolding and make paper models with the students at the Brno University of Technology Faculty of architecture:
http://www.flickr.com/photos/palacky/sets/72157625651230046/
I found this website of Tomohiro Tachi very inspirational, especially this article:
http://www.tsg.ne.jp/TT/software/index.html#origamizer
I found some descriptions that I think are useful here (however I would like to be able to change the geometry in 2D-unfolded pattern instead):
http://livecomponents-ny.com/category/4-folding-components/
I also liked one example (the outcome) made by Michele Calvano and left a message on his grasshopper3d.com page but he did not reply:
http://www.grasshopper3d.com/photo/parametric-origami-by?xg_source=activity
Could you please advice me?
Thank you.
Jiri
24.6.2011 update:
I have been researching and experimenting a little bit however got stuck, could anyone please advise on simplification? Here is the discussion post:
http://www.grasshopper3d.com/forum/topics/paper-stripe-bending-need…
=0 ++1 if x = lifespan then remove from list but in Vb i dont know where to start with that ,should i make class for this or something alse.
Any ideas or reference for this function
my code
Private Sub RunScript(ByVal inPt As Point3d, ByVal run As Boolean, ByVal rndSpray As Double, ByVal dir As Double, ByVal vel As Object, ByVal modifier As List(Of Object), ByVal lifespan As Integer, ByRef A As Object)
If (run) Then
Dim vec As New Vector3d(1, 0, 0)
Dim rndRot As Double = Rnd * rndSpray - (rndSpray / 2)
vec = vec * vel
vec.Rotate(degToRad(rndRot), Vector3d.ZAxis)
vec.Rotate(degToRad(dir), Vector3d.ZAxis)
vecList.Add(vec)
Dim pt As Point3d = inPt
ptList.Add(pt)
For i As Int32 = 0 To ptList.Count - 1
forceSUB(modifier, ptList(i), vecList(i))
ptList(i) = ptList(i) + (vecList(i))
Next
A = ptList
Else
vecList.Clear
ptList.Clear
End If
End Sub
'<Custom additional code>
Dim vecList As New List (Of Vector3d)
Dim ptList As New List(Of Point3d)
Function degToRad(ByRef deg As Double) As Double
Dim rad As Double = deg / 180 * Math.Pi
Return rad
End Function
Sub forceSUB (ByVal modData As List(Of Object), ByVal particle As Point3d, ByRef particleVec As Vector3d)
Dim modNode As Point3d = modData(0)
Dim modRange As Double = modData(1)
Dim modForce As Double = modData(2)
Dim dist As Double = modNode.DistanceTo(particle)
If (dist < modRange) Then
Dim vecForce As Vector3d = modNode - particle
vecForce.Unitize
Dim attForce As Double = modForce / dist ^ 2
vecForce = vecForce * attForce
particleVec = particleVec + vecForce
End If
End Sub
'</Custom additional code>
End Class…
Added by Jan Kozerski at 6:24am on October 26, 2011
mbine them to create a spring with multiple rest-lengths.
There is a (hidden) legacy spring component so files created with the previous version should still open.
The wind force now has the option 'relative', which when set to true means relative motion between the triangle and the air will create a reaction force.
So you can make various flying/sailing machines...
helicopter.gh
helicopter.3dm
Wind also now has the option 'Waterline'. This lets you create effects which apply only above or only below the ground plane. So for sailing simulations you can have a different wind velocity above the surface, and another 'wind' force with higher strength for the effects of water drag on the hull.
There is a new force 'Hydro', which is a depth dependent pressure.
So the further below the ground plane the surface is, the stronger the force. This allows for the simulation of buoyancy, and things that float.
Finally, there is a 'level set' force as shown here http://www.grasshopper3d.com/profiles/blogs/metaballs-in-kangaroo
Level sets / implicit surfaces / isosurfaces are contours of a 3D scalar field. Instead of sampling the field at the corners of the cells of a grid (the usual way of finding these surfaces), this force uses the gradient function of the field to pull particles towards a particular level. If the particles are linked together with springs and given a reasonable starting configuration, then they can be used to create a nice mesh of the level set.
levelset_demo.gh
levelset_demo.3dm…
dy stuck.
The basic concept is to create a 3D boundary(a box),
by generating random differnt values(length) and vectors(xyz),
such as (0,0,2), (-3,0,0), (0,1,0), then connect these points in order,
so there will be a snake(polyline) running in the boundary and
keeps growing longer through looping.
However, I can't quite understand how to use hoopsnake to achieve such action.I tried many times but all of them doesn't work.
About the 2 gh files below,
Gourmet Snake 3D.gh is before I use Hoopsnake,I tried to run it without boundary.
Test snake.gh is that I tried to generate a random number for every loop, then save them all and sum them up every loop, so I can check if the result is out of boundary,
if true, then I can mutiply -1 to let it decrease till it's in the boundary.But I can't achieve it through Hoopsnake.
Sorry for the poor english expression,if you understand my problem,any suggestion will be appreciated.
Tien
Gourmet_Snake_3D.gh
test_snake.gh…