BIM Coordinator Program (INT) April 22, 2024

Find the next step in your career as a Graphisoft Certified BIM Coordinator!

Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

Custom Curtain Wall Panel

Anonymous
Not applicable
Hi,
I am just wondering how a get the curtain wall settings in my GDL script.
I would of thought I could just use
CWPANEL_WIDTH for the width of the panel
CWPANEL_HEIGHT for the height

But this seems to just set the panel width to 0?

Do I need to use the call command to obtain properties??
10 REPLIES 10
Anonymous
Not applicable
I'm posting here to just bump this up as I am facing the same issue and have not yet found a solution here.
Anonymous
Not applicable
So the issue that I have is that the panels created using GDL aren't following the grid limitations.

In the image the blue line is the end of the grid. My goal is to have the last panel end where the blue line (grid line) ends.

What parameter do I need to use to get the panel to follow the gridlines?

Is it CWPANEL_WIDTH/CWPANEL_HEIGHT?

I used CWPANEL_WIDTH instead of A in the cprism_ that defines my panel but that just gave an error.

Looking for help
Capture.PNG
Anonymous
Not applicable
Is there seriously no-one who can help me here?

I'm just surprised as I find it hard to believe I would be the only one facing this problem/having faced this problem !

Bumping this in the hope someone who can help me sees this.
Anonymous
Not applicable
EDIT: Solved it myself

For anyone else or future reference, this is the code that does the trick:
	cprism_ side_mat,side_mat,side_mat,4,zzyzx,
	AC_PanelCoords[1][1],AC_PanelCoords[1][2],15,
	AC_PanelCoords[2][1],AC_PanelCoords[2][2],15,
	AC_PanelCoords[3][1],AC_PanelCoords[3][2],15,
	AC_PanelCoords[4][1],AC_PanelCoords[4][2],15
Barry Kelly
Moderator
I believe it just uses 'A' & 'B' for the width and height.

Create a slab and save it as a 'Custom Curtain Wall Panel' then open its script.
You will see it uses MUL commands to scale the width, height, depth passed to the panel from the curtain wall.

For example I saved a slab 900mm wide 2000mm high and 100mm thick.
In the 3D script I found.
mulx A/0.9
muly	B/2.0
mulz	ZZYZX/0.1
So what ever the widths are in your curtain wall scheme the panel will be stretched to suit.
The short length for the last panel (say it is 200mm wide in your curtain wall) will force the script to multiply the width of your original panel by a factor of 0.2/0.9 - so it will nicely fit in the 200mm space.

I hope I explained this OK.

So the trick is having these MUL commands at the beginning of your script (where the sizes match your original panel sizes).

Barry.
One of the forum moderators.
Versions 6.5 to 27
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Anonymous
Not applicable
Thanks for your suggestion Barry.

I will try yours solution first compared to the one I found below your comment and see what results it gives me.
Barry Kelly
Moderator
It gets more complicated when you have a panel with frames that you do not want to adjust by scale.
i.e. you want to have the frame remain the same size but the panel width reduce.
This would require a more robust solution with the array parameters you have shown.
Then your object would use those values instead of 'A', 'B' & 'ZZYZX'.

But there must be something setting the overall sizes ('A', 'B') into that parameter array.

It is all very complicated if you ask me.

Barry.
One of the forum moderators.
Versions 6.5 to 27
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Anonymous
Not applicable
Excellent point.

I didn't think about that at all.

Seems like for my purposes I do need to use the array solution .

But thanks for your input!
sinceV6
Advocate
Hi.
There's actually not much information about this, so a lot has to be learned by digging around. The MULs should be enough if your panels will be in line with the curtain wall dimensions and boundaries. If you need specific edited boundaries (for example, a slanted boundary edge), you'll need to dig into the coordinates array you posted.

To further understand this, use "open object by subtype" and open "cw Generic Panel" for a simple script example on how it works, and build your panel in GDL using the "GS Curtain Wall Panel" subtype, as it will populate the required parameters for the script. You'll basically let AC give you the panel coordinates and use them to create the panel boundary.

Best regards.
Learn and get certified!