n requires ASCII format STL files, a Rhino export option.
(4) Compared to the bunny, your mesh was huge so I scaled it down 1/100th, so the same maximum tetrahedron size setting would blow up the output.
(5) I updated the Python to make Voronoi and Tetrahedron meshes output optional and added a file path input.
So I reduced your mesh after saving as an STL, using Autodesk Meshmixer, to half the number of triangles.
Before reducing the triangles I got a very fine tree that took a long time, with some segments so short it was hard to make a mesh pipe without artifacts:
After reducing:
Shortest walk won't yet work with the more open and direct path Voronoi diagram lines, since the target points are not the same surface mesh points and thus I can't specify each path endpoint yet.
The Tetgen internal Python -q quality setting dominates internal tetrahedron size unless you specify a very small maximum tetrahedron size input such as 0.01. With such an overly fine mesh, there were quite a few internal tetrahedra, since the angle quality settings won't let it expand to bigger ones very fast away from the surface.
…
Added by Nik Willmore at 3:16am on February 6, 2016
ill be curves not lines. But it could be fixed if necessary
1 Generation of a torus
2 Generation of Voronoi in 3d and calculation of intersection between cells and torus
3 Cut of the curves with 2 planes
4 Projection of the curves in XY planes between 0 and 2*PI
5 Scale in X of this pattern and array
Main variables are
Little radius of torus
Number of points for Populate 3d component
And the scale in X
It seems quite a simple way to generate a Seamless Voronoi.
Happy ?
For the question about symetry, cut, rotate ... you will have to draw things , seek on internet ... figure it by yourself. …
ges can have much stronger impact on the final design.
The problem is that usually the more "nonlinear" the mapping is the more interesting the result usually are because a definition with a very "linear" mapping doesn't have so much potential for surprise and unforeseen solutions.
It can be a random number as you stated, but also some like for example a slightly different point coordinate leads to different typology in a delaunay triangulation, now the strength of the impact also depends on the total sum of the delaunay points as well on how early the triangulation happens in the definition.
I seen that a shape analysis is a not easy at all not only technical but especially by defining the criteria. Looking forward to see your approach compare genotype and phenotype 'solution' spaces. Maybe an additional approach could be to have something like a gene manager where you can narrow down ranges of certain genes, weight them or freeze them.
to 4) and 5) looking forward to see the history once its ready. I think it could be beneficial to also be able to insert solution "by hand" for further crossbreeding and saving.
What i found myself doing quite often was taking solutions from the biomorpher and then tweaking one or more parameters "by hand" because then you can really see the impact and then you would like to have the possibly to bring that solution back into the biomorpher process.
I will go on testing and get back to you guys in some weeks! I attached you the my definition in case you want to have a look. Its needs kangaroo1, lunchbox, heteroptera and wb. Its more a graphical formal exercise:
best, chris…
branch. The weird part is that when I add stuff to the "trail" branch, the path "p" gets rewritten, and if I comment(trail) out it maintains its proper structure.
The structure normaly goes{0;0}-{1;0}-{2;0} and so on, when I enter the if statement it should be {0;0}-{0;1}-{1;0}-{1;1}-{2;0}-{2;1}, but what I get is {0;0}-{0;1}-{0;2}-{0;3}-{0;4}-{0;5}
The code in question is bellow(it is a part of a bigger whole).
For i As int32 = 0 To trail.BranchCount - 1 For j As int32 =0 To trail.Branch(i).Count - 1 Dim ghi As GH_Path = trail.path(i) Dim v As Vector3d = vL.Branch(i).item(j) Dim pw As New Polyline(trail.Branch(i).item(j)) Dim agent As New point3d(pw.Last) Dim p As New GH_Path(ghi(0), ghi(1) + 1) v.Unitize v *= seg agent += v If (count Mod math.Ceiling(conrate * div) = 0) AndAlso _
(stopper.Branch(i).item(j) = 0 AndAlso count > 0) Then print(p.ToString) Dim dupPw As New polyline duppw.Add(pw.Last) duppw.Add(pw.Last + v * seg) vl.Add(v, p) gen.add(gen.Branch(i).item(j) + 1, p) stopper.add(0, p) stopper.Branch(i).item(j) = 1 trail.Add(duppw, p) Continue For End If pw.Add(agent) vl.Branch(i).item(j) = v trail.branch(i).item(j) = pw NextNext
I am looking foreward to hear any suggestions.
Sincerely…
n get the correct results with cooling loads:
3. After I update LB+HB, a warning is given for the set EP construction component:
4. so I replaced it with the latest one (Feb 05, 2017):
5. Now the cooling loads is missing from the result for reason unknown ...
May I ask if the missing cooling loads is related to the latest update of LB+HB? What component update is causing this problem?
BTW, I'm using Singapore's epw file, and for a tropical city, there should be no heating energy at all. So, sth clearly is wrong over here ...
Thanks.
…
actually can perform using a dedicated software:
in 3D:
https://www.facebook.com/francescopiasentini/videos/523532707845171/
in 2D:
https://vimeo.com/189618609
The output of Modal Analysis (at a given frequency) is a list of point (x,y,z), each of them has the three coordinates and the maximum displacement in the direction normal to the surface (that's not flat)
Point number x y zmax1 24,007565 337,876028 -0,6545572 -28,0404705 337,947773 0,7760153 57,141457 316,757768 -0,8413914 18,667466 314,814543 -0,235288
My idea is:
-import stl surfaces of the object (violin)
-import Modal Analysis data
-deform stl (or Nurbs) surfaces using something like a customized CageEdit
-animate this deformation from zero to maximum displacement
-give a color to deformation (or first-second derivative of the interpoled deformation curves)
My wish is to have closed surfaces at any steps, and to create "natural" deformation shapes.
I just tried to import MA data. I was trying to create an array of circles with given x,y,z and radius, I could not figure how to separate information of position and radius when importing the file:
file content:
0,1,0; 5;2,1,3; 2;5,2,6; 4;
thanks for yout attention.
Looking forward to hear you soon!
Francesco
…
to convert nested arrays ?
For intance if I have 5 times nested array, do I need to another method, or there is a short quick version that combines all three methods below into 1?
public static DataTree<T> IEOfIEToTree<T>(IEnumerable<IEnumerable<T>> list, int iteration = 0) { DataTree<T> tree = new DataTree<T>(); int i = 0; foreach (IEnumerable<T> innerList in list) { tree.AddRange(innerList, new GH_Path(new int[] { iteration, i })); i++; } return tree; }
public static DataTree<T> IE3<T>(IEnumerable<IEnumerable<IEnumerable<T>>> list, int iteration = 0) { DataTree<T> tree = new DataTree<T>(); int i = 0; foreach (IEnumerable<IEnumerable<T>> innerList in list) { int j = 0; foreach (IEnumerable<T> innerList2 in innerList) { tree.AddRange(innerList2, new GH_Path(new int[] { iteration, i, j })); j++; }
i++; } return tree; }
public static DataTree<T> IE4<T>(IEnumerable<IEnumerable<IEnumerable<IEnumerable<T>>>> list, int iteration = 0) { DataTree<T> tree = new DataTree<T>(); int i = 0; foreach (IEnumerable<IEnumerable<IEnumerable<T>>> innerList in list) { int j = 0; foreach (IEnumerable<IEnumerable<T>> innerList2 in innerList) { int k = 0; foreach (IEnumerable<T> innerList3 in innerList2) {
tree.AddRange(innerList3, new GH_Path(new int[] { iteration, i, j ,k})); k++; } j++; }
i++; } return tree; }…
rce=activity
Basically, I want to create a workflow to automatically subdivide a building mass envelope geometry into different floors which will be further subdivided as perimeter zones and core zones.
But I encountered an error for a particular building mass geometry (a quite regular form) which doesn't work with the split building mass component (see item 4&5 below):
The workflow is:
1. import building mass geometry:
2. divide the building mass into floors (one zone per floor) using one of the two different methods depending on whether the floor surface has holes or not:
3. use the split building mass component to further divide the zone for each floor into perimeter zones and core zone:
4. I tested several building forms which work for this workflow as shown below, except for one form C05 which is a courtyard block with small tower blocks on top of it:
5. in the last step, there is an error from the split building mass component saying that "solution exception: index out of range: 0" ...
So, I wonder if this is error is related to the split building mass component or related to the way the building mass geometry is created.
Appreciate your kind advice!
Thank you!…
is also takes place in own system. However, this action can be also carried out successfully by a foreign reference, if this considers the focused system as own. Hence, these two criteria are considered in my reflexions, to make your criticism handier for me.
First the question must be put up, how is it in your case? Of friendly manner you answer this question perpetually with the statement that you are not a partial of the system of the architecture.
Furthermore the question would be appropriate, whether an external reference (eg CAD) determined architecture. This can be answered with no, because determining and influencing are different things.
Because you stress now your criticism as a foreign criticism, within the architecture the assuption must be put up, that this criticism is not unusual new on the one hand (because this condition were also in other times like that, and presumably also always so remain) and further more a lack of goodwill in your criticism comes to light, which perhaps distinguishes an external reference.
Based on your critique, it would be also desirable in the system of the architecture if the academic rules become satisfyingly followed, even if this is no guarantor for good academic works. Nevertheless, there is an aspect which at least tolerates the evident lack in the Interdiziplinarität of the architecture. This is the classical and still valid determination of the architecture, presumably regulates not only the actions of the architects, but also those who want to become it.
Many who stand in your criticism (the students, as well as the teachers, ... ), live in the awareness that architecture is a profession that combines as many areas around the topic of Building, and the architect is even only one dilettante among the external specialists. In this determination dilettantism is revalued rather positively, because this state the architects enables to assess the facets of a complicated building project better and to form thereby the whole result positively. To be a good architect, you should have circumspect specialists around yourself. And exactly this knows the system of the architecture, because "THE ARCHITECT" helps himself with the logic of other systems (to repair on the one hand his own deficits), and to create an artificial complexity, which ultimately aims to be the complexity of human beeing.
Here "THE ARCHITECTS" becomes a quality-spoken, which currently seems the external reference (CAD, BIM) would like to take claim for themselves.
........
If would not thought about it, this might be helpful:http://www.amazon.com/The-Alphabet-Algorithm-Writing-Architecture/dp/0262515806/ref=sr_1_1?ie=UTF8&qid=1376920450&sr=8-1&keywords=mario+carpo"Finally, I’d like to restate my criticisms in general terms. If we are serious about moving architecture and urbanism away from purely artistic considerations and into a more rational arena, there has never been a better time than now. All of us have access to immense computational power which can be applied to problems that have been —until quite recently— intractable. But of course the garbage-in-garbage-out adage holds true; computation can be used to generate large amounts of complexity, but complexity does not equal worth. The only time when it makes sense to invoke computation in the design process is when there is some relevant data that needs to be computed" (David Rutton)I want to make it short, and just ask a few questions, and hope that the following questions are relevant also for you, and not be considered outside your system. i think that the weighting to such questions seem to be more valuable, not for the architects.1. What is wrong from a pure artistic intention?2. What is any sense in purely architectural discourse?3. strictly looked, can be determined sense generally in a purely architectural discourse?4. What is purely architectural discourse?5. What is Funktionalismus or Rationalismus without philosophical support? 6. Would not be the pure functional fulfilment empty ? 7. Would be not a critical position on the promise of purely rational algorithms applied?…
hat aren’t completely there. BIM will have to continue to evolve some more if their supporters want to get to realize the promise that still is. I can’t say much about PLM, but I would say that both BIM and PLM should be considered in future developments of GH and Rhino. David has said several times that some GH limitations regarding geometry and data structures (central to interoperability) are actually Rhino limitations. So, I wouldn’t put so much pressure on David for this, or at least I would distribute the pressure also on the core Rhino development team.
Talking about Rhino vs. GH geometry, there is one (1) wish I have: support for extrusion geometry. GH already inputs extrusion elements from Rhino, but they are converted to breps. Is not a bad thing per se. The problem is when you need to bake several breps that make the Rhino file to weight several hundred MB. When these breps are actually prismatic, extrusion-like solids, is a shame that they aren’t stored as Rhino V5’s extrusion geometry in a file of just a couple of MB (I overcame this once with an inelegant RhinoScript that wasn’t good for other people). This was one of RhinoBIM’s main arguments. We can develop a structural model made of I-beams in GH using the Extrude components. We should be able to bake them as extrusions. That would also work for urban models with thousands of prismatic massing buildings (e.g. extruded footprints). Even GH’s boxes are baked as breps! Baking boxes as extrusions could be practical for voxelated or Minecraft-like models.
(2) Collaborative network support. Maybe with worksession handling, or something that aloud project team members to work on a single definition or in external references or something alike. I know there is another Rhino limitation on this, but maybe clusters are already going in that direction?
And maybe on the plug-ins domain:
(3) Remote control panel that could be really “remote”, like from other computer or device. There is an old Android App for that, but is not only a matter of updating. I mean, it would be great to control a slider with the accelerometer of an Android phone, but to have that on an iPhone will require another development team. If GH could support networks, a remote counterpart of a RCP plug-in could be developed as a cross-platform web app. I don’t know if you can access accelerometer functionality through HTML5 already, but for now, asking a client (or an spectator or any stakeholder for that matter) to control your sliders from gestures of his/her own phone would be awesome (maybe Firefly will fill that hole?).
(4) GIS support. GH already imports .shp files. Meerkat can even access the database, but what about writing to shapefiles or generating our own with databases processed/generated in GH?
(5) SketchUp support. Not only starchitects and corporations are using GH in the AEC. There are a lot of small firms, freelancers and students interested. Most of them use SketchUp for 3D modeling (not CATIA, neither Revit). Yes, you can import/export .skp from Rhino, but if GH could support nested block at bake time (also mentioned by others), it could write .skp files with complex relations of blocks (that are called components in SketchUp) and nested groups, going beyond what Rhino can export.
(6) Read/Write other formats. There are some challenges with proprietary formats that are not completely supported by Rhino, but they’re still a lot of open formats that are relevant to the fields of GH users, like stl and ply for 3D-printing. It could be nice to write mesh colors to a ply for 3D-printing a colored prototype based on GH colors. There are others, like IGES, STEP, COLLADA, etc. and 2D, like svg, odg and pdf. Some of them could offer special formatting options like custom data that the format supports but nobody uses just because is impractical to access this from direct modeling environments (but not from visual programming).
--Ernesto…