rks (explanations about the freaky half-lines top tree later on).
The bad news are ... well you know them already don't you? he ,he.
The ugly news are that you'll need a LOT of other stuff (most notably clash detection) in order to design a real-life truss. Activate all the 3 available boolean toggles and see what I mean. Clash detection is performed obviously via trigonometry and NOT via Brep to Brep soild "ops".
BTW: Given the opportunity, in general and in order to avoid using excess material I would strongly recommend to work on triangulated meshes (and/or line graphs). The real-life benefits in cost are pretty colossal. Of course by making negative the "d" you can control the triangulation "orientation" (usually the skin is applied there).
best, Lord of Darkness
…
ng the basics of Rhino and Grasshopper, how to clean and export your design and how to use it in a cutting machine software ready to transfer into a T-shirt.
More Info :D
…
re looks like a mesh to me. Apparently the Mesh class in RhinoCommon has no method to unweld edges. So you will have to implement it yourself. Of course you need to have a basic understanding of how data (vertices, edges, faces) are stored and structured in a mesh if you want to do this.
Assuming that the edge you want to unweld is shared by 2 faces, I can imagine the algorithm will look like something like this
1. Determine the 2 vertices A and B at the two end of the edge (by using the TopologyEdge property of the Mesh class)
2. Duplicate these 2 vertices to get 2 new vertices, called A' and B'
3. Choose one of the two faces that share the edge (again, use the TopolgyEdge property)
4. The chosen face will have four vertices A, B, C and D.
5. Create a new face from A', B', C and D.
6. Remove the old face (otherwise we would have two overlapping faces)
Have a look at the Mesh class in RhinoCommon
http://4.rhino3d.com/5/rhinocommon/html/AllMembers_T_Rhino_Geometry...
... and MeshTopologyEdgeList class
the http://4.rhino3d.com/5/rhinocommon/html/AllMembers_T_Rhino_Geometry...…
Added by Long Nguyen at 9:42am on January 15, 2015
N, O}. In this case it's very obvious what needs to happen. You want to create lines combining the following points {AK, BL, CM, DN, EO}.
If the second set however only contains 3 points {K, L, M}, it is no longer obvious. The default behaviour for Components is to keep on matching points until both sets are depleted. This is called Longest List Matching. It will give you 5 lines, that connect the following points: {AK, BL, CM, DM, EM}. As you can see, the last point in the second list (M) has been 'recycled' three times.
You can also change the default data matching behaviour. For example if you change it to Shortest List, then the component will stop working as soon as the smallest set is depleted: {AK, BL, CM}. In this case the points D and E are completely ignored because no 'sibling' could be found for them in the second set.
A third option is Cross Reference matching, which will create all possible combinations: {AK, AL, AM, BK, BL, BM, CK, CL, CM, DK, DL, DM, EK, EL, EM}.
However the best solution in this particular case is not to muck about with the data matching, but instead Graft your data. Grafting means that all the items in a set are moved into their own little set. Thus, if you graft {A, B, C, D, E}, you actually end up with 5 sets, each containing a single item {A}, {B}, {C}, {D} & {E}. When you combine this new data layout with your second set {K, L, M}, each grafted item will be matched with all the items in the second set, this is after all how Longest List works. So you end up with a data layout that looks like this: {AK, AL, AM}, {BK, BL, BM}, {CK, CL, CM}, {DK, DL, DM} & {EK, EL, EM}, which is very similar to the Cross Reference matching, but retains more of the original layout. I.e., it's not just a huge list of all the lines, they are still five groups of three items each, which is a far more informative layout than Cross Reference would generate.
I'm afraid at this time of night this is the best I can explain it.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
rld of Parametric Design by learning Parametric Design Techniques with Grasshopper.
For details and registration check out: http://www.d-nat.net/topologies-entry or email: contact@d-nat.net
The workshop will also prepare you for the entry level of the intermediate / advanced workshop Fabricated Topologies, which is taking place on Jan 17-21, 2017. Check out http://www.d-nat.net/fabricated-topologies for details.
…
Added by Zayad Motlib at 12:03am on December 15, 2016
your case you can solve your problem using the flatten on both curves and then loft... and copy/paste for every curve XD (this is a really ugly solution).
The loft component and others components, works in lists, and the input geometry (in this case curves) that you want loft, has to be in the same list. If you use the param viewer component, you can see the data structure (list / paths / branches / etc).
With the flatten component you erase and simplify this data structure and put everything in one simple list, if you merge the two curves, youll put both curves in the same list, so you can loft them.
In resume.... do number 3 in this image :D
…
was hoping would lead to convergence with a discrete number of unique panels. I think, in addition to your advice above, I need to rethink my approach.
This is what I have implemented:
1. Group all triangles into n groups.
2. Derive representative (average) triangle for each group.
3. Repopulate surface with corresponding avg triangle
4. Formfind with Kangaroo to regenerate base mesh
5. Repeat until triangle vertices are within tolerance.
I'll post some action photos of problem areas, but basically when I don't get a good grouping the avg tri doesn't fit very well!
…
d-drive or the web or God knows where.
Also, "3 simple spheres" implies that it's possible to determine what "simple" is. Perhaps you really do need 250 components and a runtime of 20 seconds in order to find that single point coordinate that is vital to your design.
An approach which might work but I'm not sure warrants the investment would be to define specific groups of components. Something like "If A is connected to B, then A and B are connected to C and finally C is hooked up to D and E, then you may be able to get the same result using only component X and Y". Not only is this approach free from unknowns it also tries to help the user out. I'd much rather be told "why don't you try using a Key/Value search here?" than "You're a f*cking idiot mate."
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 4:14pm on January 12, 2012
into a z-coordinate it just takes one of those values. For it to be an attractor you usually measure the distance (D output). If you plug that into the z-coordinate it will change when you move the attractor point around.
Also you had the option "only draw preview geometry for selected objects" enabled (one of the icons in the top right of Grasshopper). I wouldn't recommend that. It gets very confusing then. Just hide stuff you dont want to see, which is usually everything except your final output. Just middle-click on selected components and hide them. I added a custom preview at the end, which looks a lot nicer than the usual red jelly that Grasshopper shows by default.
Hope that helps!…
t, but I want to offset them in a series of six values (lets say 8,4,0,4,8,12 to keep it simple). Essentially I want to create a "domain" that goes from 8 to 12 but by going negative down to 0 first before bouncing back up. I don't think I can use the construct domain component to achieve this and I don't know how to do it.
Thanks in advance!
Ben
EDIT: I know I can easily accomplish this by plugging a multiline panel with the given values into the D input of Offset Surface, but I would like to be able to do it computationally so that if I change an input to 3, for example, it would adjust the series of numbers to be 6,3,0,3,6,9 or if I used 2, the adjustment would be 4,2,0,2,4,6. It doesn't have to be exactly this pattern but I am looking for a "bulge" in my offset surfaces with a 0 value in the middle.
…