We value your input! Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey
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 endUnfortunately this method doesn't support cut fill distortion flags, POLY2_B{5} has that feature:
2020-12-14 01:33 PM