This is fascinating - thank you! I have a question... I've tried the field aggregation with an octahedron module, and a curve very similar to your own. I started with four pairs of rules for opposite faces, as with your example - which matched the curve without a problem. I then started to change the rules, so they don't marry opposite faces. I then reduced the number of rules from eight, to two or three (making it much harder for the aggregation to follow the curve). I found that if I start with 20 modules in the aggregation, and then slide the number of modules up to 1000, it will often match my curve fairly closely. But if I then press the reset button at 1000, I get an aggregation which bears very little relation to the curve (which is what I'd originally expected!) I'm guessing that this difference is down to the nature of how the aggregation is being calculated - gradually or all at once? Certainly not a problem - as I'm able to do more than I thought would be possible, which is great! Just interested by the difference - so thanks for any input.
Uhm, that is a behavior I would not normally expect. It might have something to do with connection being removed early in the aggregation because of collisions, but not sure really. Could you maybe send me the file, so I can take a look and see what is happening there? I am curious. You can send it at ghwasp@gmail.com
Hi, I have a problem when I made these, wasp-field driven aggregation always can’t work for it could not place parts. Could you tell me why if you know that? Thanks a lot.
Most likely you are missing some rules, or the definition of your field is not enough to describe the field properly. Please use the Discord Chat to submit more details about the issue.
Thanks for your great tutorials and plugin. I have one question though. Can two and more geometries in the part be fit into this driven-field aggregation? I make a podium-tower shaped geometry as field generation but it seems that the aggregation cannot go along the original geometry. I dont know what the problem is.
Yes, it is possible to use more than one geometry for a field-driven aggregation. However, the geometry of your parts and the rules need to be set accordingly to allow the aggregation to follow the field properly. If you are having issues, you can share the file with me and I can have a look: ghwasp@gmail.com
Yes, of course you can. But you will need to take care to delete duplicated and overlapping faces, then join the mesh and weld it. Then it should be possible to smooth it.
Hi Andrea, thank you for the tutorials. I have a question on applying field driven aggregation where the field is based on a 2d curve on xy plane. I need a simple aggregation of rectangular cuboid parts with a very small thickness (5'*5'*2") that only connects to its sides so it would grow as something like a pixelated plane. I have tried growing my parts on a flat curve, but it returned aggregations that fill up from the corner of the bounding box of the curve. so I have tried manipulating the curve (moved CP along z axis) to give it some volume, and since the rule only allows the parts to connect to the side, the aggregation started to show the result I need. I think I can somehow achieve the aggregation I need, but I have to repeat this process on multiple curves so it would be better to find a way to directly apply the aggregation on the flat curve itself. So my question would be... is there a way to create a field with 2d curve, and place 3d parts along it? Thank you in advance.
Yes, all you need to do is change the way you create the initial field boundary. Instead of using a BoundingBox on the curve (which would result flat for a flat curve), simply model a box the size of your curve in rhino, and give it the thickness of your parts. This should allow the aggregation to grow in a single layer.
This is great ! i had an unnecessary question : can i not do the same thing by arraying the unit and use CP to find the components closes to the curve ?
Hi, yes you can definitely do that in the specific case of a space-filling octahedron. This was just an example (probably not the best one), but the same logic could be used with all kind of parts not necessarily following a pre-defined grid.
Hi, yes. You can use the TransformPart component to position starting parts for the aggregation, and then plug them in the PREV input of the aggregation component. A full demo on how to do that is in this video: th-cam.com/video/47s7JEG72ek/w-d-xo.html
Thankyou for this tutorial, How can I make this script work for a flat curve in case of say a site boundary where in I want the aggregation to grow along the site line?
@@TempAutonArch Hey Andrea, thank you for the advice on this issue, that I'm also trying to achieve. When i make an extrusion box out of the curve field, the modules fill up the interior of the geometry, instead of outlining its circumference. Is there a way that i can make the module only move on the outline curve and leave empty space inside?
You have two options: - Create the field from the extrude curve solid, but then use only the vertical faces of the extrusion to calculate the field values (what goes in the pull point component). - create a smaller box inside the larger extrusion and set it as a mesh constraint. You can check how to do that here: th-cam.com/video/Wk9gKPfX4hk/w-d-xo.html
I am not sure I understand what you want to achieve. Some options: - if you want to create a new part from a group of already aggregated parts, you can use the Hierarchy components (they are still experimental!). You can find an example here: github.com/ar0551/Wasp/tree/master/ExampleFiles/5.Experimental - If you want to use a series of aggregated parts to create a new field based on the distance from those parts, you can extract the geometry of the parts and then create a new field. - if you want to just aggregate some new parts on top of already aggregated parts, you can simply plug the already aggregated parts into the PREV input of the new aggregation. Check Tutorial #004 to see detail on how to do that. - If it is something else, just let me know and I can try to help :)
@@TempAutonArch....thanks for your concern more specifically... I am creating an aggregate( a wall, etc) of two discrete rectangular modules rotatable on top of each other .....then I want to connect this aggregate to follow field and then I want to use this field module to replicate itself on another grid with the help of grasshopper (without baking it).... so that I can experiment with the formations with control algorithms of GH
Ok, I think I understand. I guess the best way to do that is to use the hierarchical aggregation example that I linked in the previous comments. You can create your wall as aggregation, then from the aggregated parts create a new part, and then aggregate that one along a field. Hope this helps!
Love these tutorials, they are very useful
Thanks!
This is fascinating - thank you! I have a question...
I've tried the field aggregation with an octahedron module, and a curve very similar to your own. I started with four pairs of rules for opposite faces, as with your example - which matched the curve without a problem. I then started to change the rules, so they don't marry opposite faces.
I then reduced the number of rules from eight, to two or three (making it much harder for the aggregation to follow the curve).
I found that if I start with 20 modules in the aggregation, and then slide the number of modules up to 1000, it will often match my curve fairly closely. But if I then press the reset button at 1000, I get an aggregation which bears very little relation to the curve (which is what I'd originally expected!)
I'm guessing that this difference is down to the nature of how the aggregation is being calculated - gradually or all at once?
Certainly not a problem - as I'm able to do more than I thought would be possible, which is great! Just interested by the difference - so thanks for any input.
Uhm, that is a behavior I would not normally expect. It might have something to do with connection being removed early in the aggregation because of collisions, but not sure really. Could you maybe send me the file, so I can take a look and see what is happening there? I am curious. You can send it at ghwasp@gmail.com
@@TempAutonArch Aw, thanks - will do that later this morning. I'm probably missing something I've done differently!
Hi, I have a problem when I made these, wasp-field driven aggregation always can’t work for it could not place parts. Could you tell me why if you know that? Thanks a lot.
Yea same problem
I have the same problem
Most likely you are missing some rules, or the definition of your field is not enough to describe the field properly. Please use the Discord Chat to submit more details about the issue.
Thanks for your great tutorials and plugin. I have one question though.
Can two and more geometries in the part be fit into this driven-field aggregation? I make a podium-tower shaped geometry as field generation but it seems that the aggregation cannot go along the original geometry. I dont know what the problem is.
Yes, it is possible to use more than one geometry for a field-driven aggregation. However, the geometry of your parts and the rules need to be set accordingly to allow the aggregation to follow the field properly. If you are having issues, you can share the file with me and I can have a look: ghwasp@gmail.com
Hi, Thank you so much for these amazing tutorials
I want to ask if it is possible to smooth the mesh after it is done?
Yes, of course you can. But you will need to take care to delete duplicated and overlapping faces, then join the mesh and weld it. Then it should be possible to smooth it.
Hi Andrea, thank you for the tutorials. I have a question on applying field driven aggregation where the field is based on a 2d curve on xy plane.
I need a simple aggregation of rectangular cuboid parts with a very small thickness (5'*5'*2") that only connects to its sides so it would grow as something like a pixelated plane.
I have tried growing my parts on a flat curve, but it returned aggregations that fill up from the corner of the bounding box of the curve. so I have tried manipulating the curve (moved CP along z axis) to give it some volume, and since the rule only allows the parts to connect to the side, the aggregation started to show the result I need. I think I can somehow achieve the aggregation I need, but I have to repeat this process on multiple curves so it would be better to find a way to directly apply the aggregation on the flat curve itself.
So my question would be... is there a way to create a field with 2d curve, and place 3d parts along it?
Thank you in advance.
Yes, all you need to do is change the way you create the initial field boundary. Instead of using a BoundingBox on the curve (which would result flat for a flat curve), simply model a box the size of your curve in rhino, and give it the thickness of your parts. This should allow the aggregation to grow in a single layer.
@@TempAutonArch worked out perfectly. thank you!!
This is great ! i had an unnecessary question : can i not do the same thing by arraying the unit and use CP to find the components closes to the curve ?
Hi, yes you can definitely do that in the specific case of a space-filling octahedron. This was just an example (probably not the best one), but the same logic could be used with all kind of parts not necessarily following a pre-defined grid.
Temporary Autonomous Architecture thanks :D
Hi! is there a way to control the starting point of the aggregation?? either in a closed curve or an open curve (straight line and such)
Hi, yes. You can use the TransformPart component to position starting parts for the aggregation, and then plug them in the PREV input of the aggregation component. A full demo on how to do that is in this video: th-cam.com/video/47s7JEG72ek/w-d-xo.html
@@TempAutonArch Thank you!
Thankyou for this tutorial, How can I make this script work for a flat curve in case of say a site boundary where in I want the aggregation to grow along the site line?
Just create a box in Rhino for the size of the field you want, and replace the bounding box in the script with this box.
@@TempAutonArch Hey Andrea, thank you for the advice on this issue, that I'm also trying to achieve. When i make an extrusion box out of the curve field, the modules fill up the interior of the geometry, instead of outlining its circumference. Is there a way that i can make the module only move on the outline curve and leave empty space inside?
You have two options:
- Create the field from the extrude curve solid, but then use only the vertical faces of the extrusion to calculate the field values (what goes in the pull point component).
- create a smaller box inside the larger extrusion and set it as a mesh constraint. You can check how to do that here: th-cam.com/video/Wk9gKPfX4hk/w-d-xo.html
Can i used aggregation as a part to generate further fields (i m a beginner in GH)
I am not sure I understand what you want to achieve. Some options:
- if you want to create a new part from a group of already aggregated parts, you can use the Hierarchy components (they are still experimental!). You can find an example here: github.com/ar0551/Wasp/tree/master/ExampleFiles/5.Experimental
- If you want to use a series of aggregated parts to create a new field based on the distance from those parts, you can extract the geometry of the parts and then create a new field.
- if you want to just aggregate some new parts on top of already aggregated parts, you can simply plug the already aggregated parts into the PREV input of the new aggregation. Check Tutorial #004 to see detail on how to do that.
- If it is something else, just let me know and I can try to help :)
@@TempAutonArch....thanks for your concern more specifically... I am creating an aggregate( a wall, etc) of two discrete rectangular modules rotatable on top of each other .....then I want to connect this aggregate to follow field and then I want to use this field module to replicate itself on another grid with the help of grasshopper (without baking it).... so that I can experiment with the formations with control algorithms of GH
Ok, I think I understand. I guess the best way to do that is to use the hierarchical aggregation example that I linked in the previous comments. You can create your wall as aggregation, then from the aggregated parts create a new part, and then aggregate that one along a field.
Hope this helps!
@@TempAutonArch thanks will follow this....great plugin and tutorials btw