cause of this I haven't understood your C# blocks correctly.
Maybe this will help, until Giulio or some other expert arrive:
import Systemimport Rhinoimport clrPC = Rhino.Geometry.PointCloud()PC.AddRange(Pts)n = Vector3d.ZAxisif VP == None: BBox = PC.GetBoundingBox(False) BoundingB = Rhino.Geometry.Box(BBox) VP = BoundingB.PointAt(0.5, 0.5, 0.5) VP.Z = BoundingB.Z.T1 * 100NP = clr.StrongBox[Rhino.Geometry.Plane]()Dev = clr.StrongBox[System.Double]()Normals = []for point in Pts: Neighbors = [pt for pt in Pts if (V>= V.DistanceTo(point)) and (V.DistanceTo(point) < D)] Plane.FitPlaneToPoints(Neighbors, NP, Dev) if Dev > MD: n = NP.Normal if n*(VP-point) > 0: Normals.append(n) else: Normals.append(-n)A = Normals
On SharpDevelop, I tried using it for VB.NET to Python some time ago, and was not satisfied with results (maybe something changed from 3.1 version). Be sure to put your C# code in a class before trying to convert it.
Also, it would be nice if you would edit your initial post (upper right angle -> Options -> Edit discussion) and change the topic category (move it to the VB, C# and Python Coding category). Thanks.…
ices" which i found very intresting , I have your thesis and it will be the base of my futur work, I'm a graduate student in bioclimatic architecture and environment in Constantine -Algeria , I will prepare a thesis for my master degree in the theme of " parametric design, the dynamic envelope and intelligent façade" and really I need your help, if you can send me your work in grasshopper in(.ghx) mentioned in the "APPENDIX D SOLAR CONTROL VISUAL DEFINITION "(GRASSHOPPER),because i can't download it from the web site , I'm juste a beginner in grasshopper so I want to master the link between all the elements ,for this reason I would like to master your exemple in grasshopper as beginning , and I'll work with daylighting + thermal comfort in my thesis which is the continuity of your work, can you share your exemple with me please ? and why did you choose a 200 btu/ft² as a limits for direct normal irradiance , what is the formula ? I'm waiting for your response because it's so importante for my work , and i promise you , i will put your name in my references . thank you karla. the files needed are: the part which contains: 1-Solar Irradiance / TMY3 Excel Data (in grasshopper) 2-:Surface Geometry Analysis / Grid Pattern Selection (in grasshopper) 3-: Solar Profile Angles (in grasshopper)
4- Shading Geometry Profile Angles (in grasshopper) …
to panelize & planerize in Grasshopper using the Kangaroo plug-in.
I’d like the “funnels” to taper upwards from a small base circle to a larger square. The problem is very similar to the one tackled in another post:http://www.grasshopper3d.com/forum/topics/how-to-get-continuous-panels
So far I have simply attempted to apply the tutorial at the address below to my surface…which resulted in a wild simulation where no equilibrium was reached. I’ve played around with tolerances but to no avail.
Going forward I have some very broad questions:
1. Quite simply; how would you experienced types recommend I model the initial funnel? (Revolution surface? Mesh? Successive lofts?…)
2. Would you recommend paneling with a particular shape? Maybe it is my choice of working with only hexagons that is geometrically instable?
3. Would you apply a different technique than that used in the tutorial below, or simply change some elements? I’ve heard that the Weaverbird plug-in can be useful for use with Kangaroo for this sort of problem?
Tutorial followed: “How to create planar Honeycomb Shells using Kangaroo´s Planarization Forces” by ThinkParametric https://www.youtube.com/watch?v=MsbyfC2usUk
Thanks in advance for any feedback!…
pproach is not working.
Here is my code:
List<List<Point3d>> currentGeneration = handoverPopulation.ToList();
foreach (List<Point3d> generation in currentGeneration)
{
Random r = new Random();
int index1;
int index2;
index1 = r.Next(0, generation.Count);
index2 = r.Next(0, generation.Count);
if (index1 != index2)
{
Point3d cache = generation[index1];
generation[index1] = generation[index2];
generation[index2] = cache;
}
}
Why does it not work? The list before and after swapping are still the same (see Picture below). I tried it with a for Loop and put <Random> out of the Loop, however no difference.
Thanks for your help,
Tülin
Tags:…
uest Tutors: Olga Kovrikova (AL_TU), Alexandr Kalachev (AL_TU), Tudor Cosmatu (AL_TU)
Materialized Algorithm - Digital Tectonics workshop focuses on finding an appropriate design algorithm by implementing and embedding the material qualities into the design process.
Through the Rhino software tutorials, participants will get a short introduction to the nurbs-surface modeling techniques, which will be further used as a basis for form-finding and component development.
Grasshopper is a graphical algorithm editor tightly integrated with Rhino’s 3-D modeling tools which requires no specialized knowledge of programming or scripting. Sinceits existence it has been helping more and more professional designers to understand and use parametric modeling techniques. This workshop will start with the basic operation of Grasshopper integrating specific examples (Kangaroo, KingKong) which will help develop the concepts into built proposals.
Participants will have to start designing with physical models, creating a constant feedback loop between the physical and digital world allowing for the creation of differentiation and achievement of the desired geometric complexity. Finally a number of maximum two projects will be thoroughly developed and built.
For more information visit:
http://zhan.renren.com/damlab?gid=3674946092080649725&checked=true…
Added by Tudor Cosmatu at 12:28pm on August 28, 2013
ructural member. It can only be used as a Veneer / Cladding. You may observe from my sketch that structural member is only a timber frame. Hence we do not need to have a valid bond as long as the brick veneer is tied together with each other and to the timber structural frame behind.
Nevertheless, though i understood the components used in the definition, i only partially understood the logic behind your definition i.e. only until 'Divide Dist' and Extracting the points. After that I did not understand the logic behind using
a) Extracting 40 random values and than using those values as input for Seed to extract another set of 40 random values.
b) Extracting list length, subtracting with random values created in (a) above and then dividing with number 3.
c) Duplicating the Datas
d) The most perplexing is using above logic (a,b,c) to to extract number of branches (number-40) by using Tree Statistics. If number 40 is the input we required for 3rd Random component Why couldn't we connect the List Lenght to Pramviewer and extract the number of branches (40) and connect the output to the Random Component?
e) Finally i did understand the logic behind creating 2 Vector to create the bricks. But i did not understand the addition following the vector.
f) Why do you use the function 'simplify'? - what does it do? I know it simplifies the data tree, but what does simplifying a a data tree do to the entire definition?
Hannes, i know this is quite comprehensive list of doubt, but your help is and will be always appreciated.
Cheers
AB
…
( http://en.wikipedia.org/wiki/Honeycomb_(geometry) )To fill a 3d space you can use structure already existing, like cubic or octahedra and tetrahedra.Starting from cubic structure then (the easiest).
1 - make few(x) random points
2 - 3dArray them
3 - make voronoi cells wih all the points
4 - extract just the (x) cells at the center
now you get x cells with a random shape, but that completely fill a 3d space with a cubic pattern
(the same thing can be done with octahedra and tetrahedra pattern, just its a bit harder to do the array)
Change seed to achieve a decent initial result.
You can then manually "fix" those cells removing small faces.
(by moving small parts of volume to one cell to another)
Those cells will just have a single orientation, the final pattern maybe will still look cubic-ish.
there are also structures with standard cells but non-repetitive patterns:
http://en.wikipedia.org/wiki/Penrose_tiling
but i have no idea to how to apply this in 3d (even in 2d! :S )…
e. What is the interesting thing with these? Well since are created by iterating trough the mesh faces (mesh face Normal * d + flip option ... etc etc) ... their enumeration (order) in the resulting wPtsList list ... is exactly the same with the enumeration (order) of the mesh Faces list.
2. So a ff connectivity Tree [Lord way or Sandbox] (where f(ace)-to-f(ace) actually means: neighbor faces(indices) that a given mesh face has) is the only thing that we need in order to achieve this type of "top" struts layout. Spot the extra crude List.Distinct().ToList() "clean" up method (but why bother? he he).
3. The other way ("top" layer struts - option: ballPivot) well ... it does the obvious.
…
ion of surfaces and/or "solids" : it's a very complex assembly of "components" either bespoke or widely available in the market. This demo combo summarizes the "common" cases (but the insulation for the opaque parts is WRONG 100%):
2. Contemporary trends (a bit of nonsense) point towards "liquid" forms. These ARE NOT made via "classic" linear systems. Very few actually can do it (I mean: do it yielding a building that doesn't leak]). Here's a totally wrong take on that matter from a very reputable Swiss facade maker:
And er ... hmm ... this :
3. Facade systems (curtain walls, that is) are classified in 4 classes: (a) the good old known humble stuff like the one shown in the first image (b) semi structural [yes], (c) structural [NO] and (d) planar frame-less systems.
4. Designing any proper facade is impossible with Rhino/GH: you'll need totally different software apps to do it - in real life - despite what most people believe/hope/wish.
5. Designing anything without a proper bottom-top approach (I.e. : first do the pistons then the engine) is the best recipe for not becoming (ever) a pro .…