Mon Apr 23, 2018 8:45 am
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.