2014-12-17
01:46 PM
- last edited on
2022-09-26
10:57 PM
by
Daniel Kassai
2014-12-18 02:54 AM
2014-12-18 09:08 AM
2014-12-18 09:27 AM
2014-12-18 09:32 AM
2014-12-19 05:42 PM
2020-12-11 03:50 PM
2020-12-13 01:55 PM
2020-12-13 05:47 PM
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:
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.
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:2020-12-14 01:33 PM