The Global Archicad Community

Stay informed. Get help. Share your knowledge.

GDL language and objects, API, Add-ons, Script…

Moderators: ejrolon, Barry Kelly, Karl Ottenstein, LaszloNagy, Gordana Radonic, nbalogh, gkmethy, mnguyen

What is your opinion about this Wish?

No votes
No votes
Not Important
No votes
Not Needed
No votes
User avatar
By Podolsky
Good idea to have new command in GDL that let to host another GDL object in the master object. Works very similar as CALL, except that if used - hosted object can be scheduled or selected separately. Then we can select all object (master object) with normal selection arrow - black. And hosted with white arrow (that works now only with Morphs). This way it would be possible to create complex GDL objects, like stud wall, where each separate element can be scheduled (i.e. each stud).
User avatar
By Lingwisyer
Podolsky wrote:hosted object can be scheduled

If the relevant parameters are passed onto the host, you can already do this with custom fields(?) (do not recall what they are actually called...).

In regards to your example, if the studs parameters are mapped to an array and the relevant hotspots are available, you could in a sense select and edit each individually. I am not sure how scheduling arrays works though...

User avatar
By Podolsky
The whole point is scheduling. As well as exporting via IFC into another programs. Of course now I can program complex elements with many elements in it - just using CALL command. But as a result it will be ONE object that is scheduled as one entry. For example it's an array of floor joists. If covered area is rectangular - it's more less okey - I can extract let say 15 joists with the same length and show it in the schedule as one entry: 15x3 meters. But if it's trapezoid shape - then each joist has it's own length - that it's impossible to show in the schedule so simple. The best solution in this case to place each joist one-by-one - that can be just waste of time.
Another example - to use panels for walls (CLT or aluminium cladding) - when algorithm of Master object placing panels in the right location for all wall, but as a result - each panel is separate element.
By using HOST (or similar command) it would be possible to schedule ironmongery for doors and windows, lintels - it gives actually endless possibilities.
Of course now it's possible to use Grasshopper connection, or even create Add-On on C++, but again simple task turning into something more complicated.

Using the new "HOST" method will give a possibility to create new tools (like Stair, Railing or Curtain wall) just using GDL scripting, without creating Add-Ons for it.
User avatar
By Barry Kelly
We have examples of your 'host' object already.
The curtain wall tool and the railing & stair tools.
These are effectively 'master' objects that 'host' other objects, and each of the sub-objects can be scheduled.

Not quite the same as of course as these are stand alone tools creating new elements, but basically they sound like what you want.
Have you tried curtain walls for your framing? - I haven't so not sure if there will be other issues.

I like the idea of 'HOST' in GDL so those items can be scheduled separately - if that would be possible.

If you want to edit your original post, you can add a poll, and people can vote.

User avatar
By vdentello
I'd love to see that, I'm sure i've commented about it another time here in this forum. Having something similar as the C4D Null object would be great to create Assemblies that act grouped but can be exported/ scheduled as separate entities.
User avatar
By LaszloNagy
I think this is a great idea and a necessary part of implementing hosted/nested library parts that can be selected/overridden/labeled/scheduled separately.
Essential, in my opinion.
User avatar
By mnguyen
Dear All,

Thank you very much for sharing the wish and the discussion in this thread!

I am happy to say we took notice of this wish and I have added it to our Wish List database (please refer to it as IDEA-1362). Hopefully, our Product Management team will adopt this one in the future.

Thank you all once more, and I wish you a great day!

Best regards,
User avatar
By Braza
Hey guys. Get in the line please. :lol:
At the time, Matthew Lohden had the vision for "Assemblies". Way ahead of its time. :o

But now, I think that PARAM-O (With its graphical interface) is the way.
If we could drag and drop AC elements (Walls, Slabs, Objects, etc) inside PARAM-O...
Link its parameters to new ones...
Multiply, distribute and relocate inserted elements...
Save the whole thing as a "module on steroids" inside an AC project...
Finally schedule/list everything.
Then it would be the "Assemblies Nirvana". :D