We value your input!
Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey

GDL
About building parametric objects with GDL.

Cut fill orientation in curtainwall custom panel

Anonymous
Not applicable
Hello there

Creating a custom panel using slab(seen from front offcours). Giving it insulation material. Saving as curtainwall panel. As plan shows the orientation of the cutfill always follows x y axis, If i rotate the cw the fill doesnt move. Any ideas?


2.jpg

20 REPLIES 20
Barry Kelly
Moderator
You don't say what version of Archicad you are using - I am assuming 17 or 18.
Best to add info to your profile signature.


When you create you Building material and assign a fill to it you have 3 options.

"Project Origin" the fill will always stay constant to the project regardless of how you rotate the element.
"Element Origin" the fill will rotate with your element.
And if you use a Symbol Fill you can "Fit to Skin" where the fill will stretch to suit the thickness of your element.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Anonymous
Not applicable
Hi again! Yes im on 18(should put that in my sign your right)
I hadnt tried changing material fill orientation, sadly it did not help. Neither changing it before i create the custom curtain wall panel nor changing it after changed anything. As the screenshot shows you can see that a wall with same material will get the effect of changing these settings, but not the custom panel!
Barry Kelly
Moderator
I just tried a curtain wall and no the fill doesn't follow the panels.
I don't have any solution for you other than not to use cut or projected plan views of the CW - use symbolic.
you won't see the cut fill at all then.

Or use a % hatch or solid hatch with a light coloured pen (i.e. prints light grey) rather than a lined hatch.

Sorry I hardly ever use CWs so don't have a lot of experience with them.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Anonymous
Not applicable
No need to say sorry, thanks for trying! It might seem its just something they need to fix.
Laszlo Nagy
Community Admin
Community Admin
I think this fitting of fill to orientation in custom panels might just not be implemented in the Curtain Wall Tool.
I will let Graphisoft know about this.
Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac27
furtonb
Advisor
Hi,

ARCHICAD 24 still won't allow the fit to skin option - not even in the default CW panel.


It's been almost 6 years.

The curtain wall tool would be really nice to model stud walls or stuff like that - the usual hatch for rockwool insulation is the one I would've used...

Please implement this!
odv.hu | actively using: AC25-27 INT | Rhino6-8 | macOS @ apple silicon / win10 x64
Laszlo Nagy
Community Admin
Community Admin
I modify my opinion a bit.
So, I checked in the GDL Reference Guide, and in 2014 when Archicad 18 was released, the Building Materials feature was not yet implemented in GDL, which is necessary since Curtain Wall Panels are GDL Objects.
Building Materials was implemented in Archicad 21, and if I open a Curtain Wall Panel currently, I can see that it is indeed using Building Materials.

So, I think the bigger problem here is that in GDL you can create section geometry with any shape. The "Fit to Skin" option is relevant only in Composite Structures where all skins have a constant thickness so the direction and size of the Cut Fill can be easily determined. So we would have to have a way of doing the same in GDL.
I guess it could be done because, in the Profile Manager, there is similar intelligence - if you select a Building Material with "Fit to Skin" Cut Fill, it will fit the Fill properly in constant-thickness components, and even if the component's shape in non-rectangular, it tries to fit the skin based on some kind of algorithm.

So I can imagine, in GDL, you could have a GDL command, which would define an origin, a 3D direction vector, and another 3D vector defining the width just for the purposes of Building Materials with "Fit to Skin" Cut Fill, so, the origin and the two 3D vectors would adequately define how large the Cut Fill should be and in which plane in 3D it should be generated. Or something like that. This way the feature could correctly work in GDL as well.
Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac27
furtonb
Advisor
Hi László,

Thank you for your thoughts.
So, I checked in the GDL Reference Guide, and in 2014 when Archicad 18 was released, the Building Materials feature was not yet implemented in GDL, which is necessary since Curtain Wall Panels are GDL Objects.
Even counting from the introduction of bMats in GDL we are past 3 release that (AC21 in 2017), but the original request is even older:
https://gdl.graphisoft.com/new-features-guide/new-gdl-features-in-archicad-21
So, I think the bigger problem here is that in GDL you can create section geometry with any shape.
As a first step I would argue to make this work with the simplest of cases: the default CW panel.
I often want to create "procedural" elements with the curtain wall tool that are not "curtain walls" - in the same manner as I also use the wall/beam/others to create geometry that is does not fit the name/class of the respective tool.

In the curtain wall's case it would be really helpful to have the "fit to skin" fill option for the default CW panel and the composite panel in the majority of times. In both cases the thickness is constant, absolutely no need to create funky shapes in my case:

Maybe I could've started a new thread, because I'm talking about the vanilla GS panels, which are boxes essentially, not "custom" ones.

In my image above the bMat is set to "fit to skin", but the correct representation is due to a workaround: I've overcome the scaling issue by scaling the Insulation 01 fill to fit this shape, but whenever insulation thickness changes it needs a separate fill with this method. Since display property assignment is already dependant on bMats, this means a duplicate building material as a result, which is just a pain to manage, pollutes attributes and makes scheduling harder.

Another workaround could be using the wall accessory, but getting bMat related fills on floor plans is not possible, and the base wall doesn't react to SEO operations. The CW solution is lot faster and intuitive:
So I can imagine, in GDL, you could have a GDL command (...)
The 2D fill is drawn as a POLY2_B it seems, the fillPanel is requested from the panel bMat (Built-in CW Panel object, AC24 INT):
! --- cutfill attributes ---

! Initialize attributes
_fillPanel	= SYMB_FILL
_penFgPanel	= SYMB_FILL_PEN
_penBgPanel	= SYMB_FBGD_PEN
bSucceed = request{2} ("Building_Material_info", panelBMat, "gs_bmat_cutfill_properties", _fillPanel, _penFgPanel, _penBgPanel)

pen penCut
line_type lineTypeCut

if GLOB_MVO_CWPANEL_DETLEVEL = DETLEVEL3D_SCHEMATIC then
	! Reset sizes only in 2D Schematic model generation
	nCorners_in = vardim1 (AC_FrameAxisCoords)
	
	leftSide_X  = AC_FrameAxisCoords[1][1]
	rightSide_X = AC_FrameAxisCoords[1][1]
	
	for i = 1 to nCorners_in
		if AC_FrameAxisCoords[1] < leftSide_X  then leftSide_X  = AC_FrameAxisCoords[1]
		if AC_FrameAxisCoords[1] > rightSide_X then rightSide_X = AC_FrameAxisCoords[1]
	next i

	line2 leftSide_X, 0, rightSide_X, 0
else			! DETLEVEL3D_SIMPLE, DETLEVEL3D_DETAILED 
	! No Detailed/Middle Symbol if panel is only in frame clamps
	if vardim1(AC_PanelCoords) < 3 then end

	add2 0, AC_clampWidth / 2
	fill _fillPanel
	poly2_b 	5, 1+2+32,
				_penFgPanel, _penBgPanel,
				leftClamp_X,	0, 					1,
				rightClamp_X,	0, 				1,
				rightClamp_X,	-AC_clampWidth,	1,
				leftClamp_X,	-AC_clampWidth,		1,
				leftClamp_X,	0, -1
	del 1
endif
end
Unfortunately this method doesn't support cut fill distortion flags, POLY2_B{5} has that feature:
http://gdl.graphisoft.com/reference-guide/drawing-elements

I think the panel has not been rewritten using that.
I don't yet fully understand how the script should be modified to fit the fill, and I won't have the time to solve this in the upcoming weeks.

(I suspect the same in OP's case, that the the generated section is also using this simplest method (POLY2_B), that doesn't know about rotation, starting point or scaling.)
odv.hu | actively using: AC25-27 INT | Rhino6-8 | macOS @ apple silicon / win10 x64
runxel
Legend
There you go.



(However it can not solve the same problem in section That has to be fixed by GS; no GDL solution there, afaik)

EDIT: I've made a mistake and corrected the upload.
Lucas Becker | AC 27 on Mac | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text | My List of AC shortcomings & bugs | I Will Piledrive You If You Mention AI Again |

POSIWID – The Purpose Of a System Is What It Does /// «Furthermore, I consider that Carth... yearly releases must be destroyed»

Didn't find the answer?

Check other topics in this Forum

Back to Forum

Read the latest accepted solutions!

Accepted Solutions

Start a new conversation!