The Global ARCHICAD Community

Stay informed. Get help. Share your knowledge.

Topics related to the Grasshopper-ARCHICAD Connection and the various tasks that can be achieved with it.

Moderators: Karl Ottenstein, LaszloNagy, ejrolon, Barry Kelly, gkmethy

User avatar
By leceta
#274727
some observation I wanted to share, about a recently finished exercise using GDL and Grasshopper. I found that this topic is nowadays the most exciting one when we talk about connection plugin.

By jorgebeneitez
#276643
Awesome! Thanks for sharing!
User avatar
By leceta
#280068
I'm gonna live here what I initially posted as a link to another page, since the links no longer works. I hope it will be useful for someone.

After months been stacked in the development of this exercise of using GDL with Grasshopper, this Friday finally a managed to detect a little but very important error. So here is my advice for everyone: Always use Hotspots either in 2D and 3D script in order to be able to control your insertion points! Just put them in the origin!!! Many thanks to Mario Sacco and Marcos Ticona Castro for their advice.
I also want to comment a pair of techniques I used in this exercise.
The first one is the use of Xform command in order to spatially orient each object. Vectors for the transformation matrix are passed as parameters from GH. This way, I delegate all the annoying vectorial operations to GH, which makes much more sense to me.
Other technique used, in order to avoid the current limitation of not being able to pass Array parameters from GH to ACH, was the use of external TXT files written from GH and read from GSM object, everything done on the fly. It actually works pretty well, and has two interesting vantages:
First, there is no need to populate the object component with an insane quantity of parameters. The list grows up pretty fast (2 param for each Point), which results in an inefficient workflow and messy "spaghetti" nightmare. So the only one parameter we need to pass from GH to GDL is the File Path!!(well, also the insertion point...)
Other interesting possibility of using external files for transferring information is that, when using polygon command, there is no need to previously know how much points they are going to have. With this technique, the same piece of code serves the same for a polygon of 4 points, as one of 100 points!! This was achieved with a convenient use of Parameter Buffer while reading external file from GSM. I consider this flexibililty very important, and AFAIK, is impossible to achieve nowadays just using the connection Plugin.
I need to make more experiment, but I also suspect that reading external files could be a faster method of transferring information, than the plugin's method of using HTTP requests. This still needs to be proven.

Finally, the model consist of a unique Object, wich different subroutines for each part: Node, Bar, Frame and Panel. The behaviour ot the object is controlled by a parameter exposed in Grasshopper. I found that managing one object instead of four was more convenient.

I need to organize a little bit the GH canvas in order to show it here.
saludos
Attachments
23916618_10155428935783863_7215458341954580567_o.jpg
23916501_10155428935888863_1885291417336905092_o.jpg
24059121_10155428935608863_5786646093694450410_n.jpg
User avatar
By leceta
#280069
Here is the method of using XFORM, which simplify a lot the process of spatially orienting objects. Note that In this example I'm not using the method I commented before about externalizing data to a text file.
Attachments
23847354_10155429298728863_7837219548543846742_o.jpg
23844869_10155429301823863_2087621056279734595_n.jpg
By shendan
#280080
great!

I think HTTP requests can be updated in real time: When data is refreshed in GH, AC automatically changes. However, through external data, users are required to participate in the update in the AC.
User avatar
By leceta
#280088
its more about how to bypass the current limitation of being able to expose only parameters and not arrays on GDL component.