License Delivery maintenance is expected to occur on Saturday, November 30, between 8 AM and 11 AM CET. This may cause a short 3-hours outage in which license-related tasks: license key upload, download, update, SSA validation, access to the license pool and Graphisoft ID authentication may not function properly. We apologize for any inconvenience.
GDL
About building parametric objects with GDL.

CW components compatibility

Anonymous
Not applicable
Hello,
I am looking for a solution for my curtain wall elements problem. I've created some components of CW (mullions, transoms, panels) and they are working fine, but my idea is that they would read parameters from one another. E.g. if I change panel so it would have width = 54.8, then mullions and transoms clamp width should also switch to 54.8. It should work also for several more parameters, which are custom for that specific CW system. Could I use any query or request to do that? I apologize if the question is basic, but I am quite new to GDL and I run out of ideas to test.
I would be grateful for any hints!
Best regards!
10 REPLIES 10
Lingwisyer
Guru
You could possibly output the figures of each object to various text files which are then read by all of the other objects? I have not worked with this aspect of GDL so I am not sure how you would go about doing it. These objects would not automatically update though with each object needing to be re-initialised.



Ling.

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win10 | R5 2600 | 16GB | GTX1660
Anonymous
Not applicable
Thank you for the answer! That might be another option, I will try.
Lingwisyer wrote:
These objects would not automatically update though with each object needing to be re-initialised.
I was hoping that since CW components are managed from one common tool Curtain Wall, then all components are refreshed after setting parameters by user, even to just one of them - all are refreshed. So it is not working that way?
Lingwisyer
Guru
Depending on what default parameters are available from the CW Tool itself, you might be able to adjust according to those. Sub-component to sub-component is not possible, except possibly via write out as mentioned before, nor can the tool pick up a custom parameter to then pass on.

How are you changing the panel width?



Ling.

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win10 | R5 2600 | 16GB | GTX1660
Anonymous
Not applicable
Lingwisyer wrote:
How are you changing the panel width?
In UI there is a choice of several different types of panels, with specific width of insulation, panels from both sides (outside and inside). They are predefined, so user is not allowed to change e.g. insulation width, but only choose one option from a list.
Peter Baksa
Graphisoft
Graphisoft
No, generally GDL objects don't know about eachother, they are designed to be independent parts. Exchanging parameters through text files isn't recommended, objects are cached and not as often refreshed as this workflow would require.
Some complex tools have some parameters that allow communicating geometry between the parts. The ones for Curtain Wall are listed here: http://gdl.graphisoft.com/reference-guide/parameters-for-curtain-wall
We have a tutorial in the making about creating curtain wall parts, I will look into whether we can speed up publishing it.
Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest
Anonymous
Not applicable
Thanks Peter for your answer, also tutorial about CW creation would be awesome.
I asked about any way for objects to communicate, after downloading and looking through some other CW. Mostly it is solved in a way that changing e.g. width of glazing in UI frame settings, gives you a graphical alert, that you should manually change also width of panel in UI panel settings. That gave me an idea to look for a different solution, as I don't like this one. I was hoping that there is any way to use the fact that CW components are gathered in CW tool.
Csilla Mai
Graphisoft Alumni
Graphisoft Alumni
domisztw wrote:
Hello,
I am looking for a solution for my curtain wall elements problem. I've created some components of CW (mullions, transoms, panels) and they are working fine, but my idea is that they would read parameters from one another. E.g. if I change panel so it would have width = 54.8, then mullions and transoms clamp width should also switch to 54.8. It should work also for several more parameters, which are custom for that specific CW system. Could I use any query or request to do that? I apologize if the question is basic, but I am quite new to GDL and I run out of ideas to test.
I would be grateful for any hints!
Best regards!
Hi,
The GDL subelements do not know about each other's parameters. There is a logical obstacle as well: each frame can have multiple connecting panels with different thicknesses. It is only possible with a C++ Add-On to query or modify the connecting subelement's parameters.

You can find some tutorials about CW component creation here:
http://gdl.graphisoft.com/tips-and-tricks/how-to-make-a-curtain-wall-frame
http://gdl.graphisoft.com/tips-and-tricks/how-to-create-mvo-dependent-curtain-wall-frames
http://gdl.graphisoft.com/tips-and-tricks/how-to-make-a-curtain-wall-panel
http://gdl.graphisoft.com/tips-and-tricks/how-to-create-mvo-dependent-curtain-wall-panel

Best Regards,
Csilla Mai
Library Platform, Engineering Manager
GRAPHISOFT SE
Csilla is queen of the CW and taught me a great deal about how to create custom components when I visited Graphisoft in Budapest a couple years ago. So if she say "No" then that's the answer.

Peter,
Do you think exchanging the parameters through an XML file would be a suitable solution? I stopped using TXT files more than 7 years ago but I do manage to achieve quite a lot with XML.
Creator of Cadswift's parametric GDL libraries
Creator of Infinite Openings and Component Catalogues
Push the envelope & watch it bend
website: https://cadswift.com.au/
YouTube: https://www.youtube.com/user/CADSwift/playlists
Anonymous
Not applicable
Thank you all for your answers, that gave me a overall picture and let believe that there is no option to do it properly in a way that I hoped. 😉
I still have a concern and it stems from the type of an object I have to prepare. I don't want to argue, I am just looking for a good solution for that specific case. I enclose a screenshot of corner mullion schematic CAD drawing, where the geometry of glazing changes when the mullion is corner (one part of glazing is extended, I marked it in red).
I know that I might prepare another type of panel, specific to be connected with corner mullions, but in my opinion it is not user-friendly solution.
Despite the change of geometry, a satysfying solution would be also to calculate glazing automatically and properly (with one glass extended) for schedules, even without a change of geometry. But I believe that I am in the same place as before if there is no way to corner mullion to "communicate" a glazing panel that it needs to change part of its glazing to be extended.