algorithmic modeling for Rhino
BTW: A simple thingy the scales, planes eh?
Not so:
What about the document tolerance? Since the random nature of the graph (+ the loops) could yield very small lines ... AND ... each line should "host" a relatively complex sardine > a min size filtering mechanism is a must. See filtering active (1 cm min sardine) and inactive (1.2mm sardine: just 8 times the doc tolerance (0.0001 in this occasion) > recipe for troubles).
http://www.food4rhino.com/app/fox
I made a plug-in for the link you quoted.
There are different methods, but one of them works by taking one plane as a "root".
And orienting tile on other planes. Plane z vectors always point outwards from the geometry. And at each step objects (geometry + planes = tile) are rotated by 90 degrees. Collision detection and orienting in a field is bit trickier but it was included for fabrication purpose too. I am just wondering why everybody start from creating tile that looks like letter Y...
The image you posted was influenced by method used in AA Aarhus workshop developed by Anders Holden Deleuran using NetworkX graphs(python). I used similar method for Complex Modelling project while working at CITA http://petrasvestartas.com/Inflated-Restraint . Then I wrote my graph library in C# that has graph algorithms such as shortest paths(dijktra's, bfs, dfs), minimum spanning trees and etc. for Fox. It is not so difficult to read this book and implement graph methods in C# from pseudo-code: https://www.amazon.co.uk/Introduction-Algorithms-Thomas-H-Cormen-eb... The method that you pointing at is using multiple dijkstras for striping.
The thing with tiling use simple loop no recursion, at least this is more readable for me. Isosurface is also part of the Fox add-on. But as you know iso surface is just display thing, field value is what you checking at. Also colliding thing is faster if you do not check edge edge collision.
Another thing is you do those "aggregations" in 3D and you do not evaluate material properties of the real object, be it plywood, plexiglass or 3D print powder. It seems , if you make a physical prototype it will be strong as 3D, but it bends as tree branches because it holds only to one element. There are different way how to overcome that and make structure stable/lock it and branch back. Also take into account torsion forces of the connection.
ok, thanks for the additional information!
The inflated stuff is nice too. I really like to see physical models and textil architecture(lightweight and tensioned stuff) is one of my favorites.
Would really like to lasercut the aggregation thing once i got it working, just to see it in real. Was thinking of plywood, but this is still far away, so many time left to think of the material.
regards!
Hi Peter,
cant reply to your last post directlySo I reply just here and my answer will occure dont know where.
Think I got it to the point in your picture above, obviously not as elgeant like Da(Morgada)Lord, but something.
Later will try to modify the tree thing like you mentioned yesterday(Place and scale them sardines).
Heres my progress so far:
Also: hope I got ot right, hehe.
best
The reason that you can't reply is the limited depth of answers (God knows why this is designed that way).
Anyway ... you can't find the max AND cut the mustard in one pass ... thus see attached.
But other than that > bravo > keep walking the walk
NOTE: Some proper emblem/avatar is still MIA (choose something dark, bad and ominous [avoid flowers, happy bunnies and the likes]).
WHAT an idiot (yours truly): out stuff inside the loop? How stupid was that?
public void FindMax(ref List<Line> lines, ref List<double> lengths, ref double max, double limit, bool RT){
List<Line> bigLines = new List<Line>();
foreach(Line line in lines){
double length = line.Length;
if(!RT || (RT && length > limit)){
lengths.Add(length);
bigLines.Add(line);
}
}
lines = bigLines;
double[] array = lengths.ToArray();
max = array.Max();
}
BTW: At this critical (for the mankind) point and in order to encourage you towards the Holly Grail ... here's the actual reason for the whole sardine taking:
In plain English: if this relatively simple thingy consists from ~10K objects (min)... how can we put them in space without sardines? (nested instance definitions in fact). That's the 1B question.
Moral: Sardines, what else?
hey Peter,
thanks for guiding me to that point and correcting attached work-already wondered(suspected that) why scaling not working properly.
Thats nice work, but dont looks like rhino, are you using c# also in catia ?
Would like to do something similar one day.
And another question are you using a gh plug-in like karamba, millipede,geometryGym to calculate or transfer data to a FEA program?
And, I asked me did you studied architecture or structural engineering?
tomorrow ill try fix the PlaneToPlane thing,to finally put sardines on the tree,hehe.
best
That's AECOSim + Generative Components (using only code). But the assembly/component approach is common everywhere. An assembly is in most of cases a "directory" that contains hierarchies of items with topological substance. The membrane shown is 100% AEC (plus pure solid modeling) therefor Rhino has nothing to do (and GH as a first violin). That said Rhino is a surface modeller totally unsuitable for solid adventures. That said I never work with Rhino.
We use a variety of FEA stuff by Bentley Systems (I've studied Architecture + Structural + Computer stuff). Other than the bespoke components geared with "standard" ones the tissue is Birdair's responsibility (as is the norm in real-life projects). Meaning that Birdair reports the forces and all the rest are checked in order to avoid humiliation (and other more unpleasant things, he he).
The 1B issue is an ability to modify complex 3d parts in order to comply with the conditions/variations/price/client demands. Good old manual and parametric mods are used depending on the case. Anyway parts like these are NOT designed the way that you think: read the classic stuff attached.
BTW: Using DC Reader and the Model Tree thingy analyze the attached and try to get the gist of things that matter: 0.1% is the parametric part (if at all) and the rest are ways that entities are sampled into hierarchies. Obviously GH is not used on that one but even if you attempt to use it the "focus" is NOT on the parametric part (if anyone cares about that anymore these days: I mean since everybody does parametric this means that this is already "passe")
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by