Graphisoft®

Basic Library Version: 16

BasicWindowPanelCurved Macro

  1. General Description
  2. Parameters
  3. Usage

1. General Description

A window can use this macro to draw a curved window panel in 2D and in 3D.

Curved window, shaded view Curved window, rendered view

2. Parameters

This macro has similar input parameters as a normal ArchiCAD window:

Name Type Description Mode used in
A Width Width of window panel. 2D / 3D
gs_widthTotal Width Original Nominal Width. 2D / 3D
B Height Height of window panel. 3D
bDisabeMirroring Boolean Disable Window Mirroring. 2D / 3D
bOpeningDirection Boolean Opening Direction. 2D / 3D
gs_nominal_size_jamb_inner Boolean Nominal Size = Jamb Inner Size. 2D / 3D
overSize Length Oversize 3D
--- --- Frame Definition
gs_frame_thk Length Frame thickness of the panel. 2D / 3D
gs_frame_width Length Frame width of the panel. 2D / 3D
gs_frame_ovhg_left_out Angle Left Outside Overhang. 2D / 3D
gs_frame_ovhg_right_out Angle Right Outside Overhang. 2D / 3D
gs_frame_ovhg_top_out Length Top Outside Overhang. 3D
gs_frame_ovhg_bottom_out Length Bottom Outside Overhang. 3D
gs_frame_ovhg_left_in Angle Left Inside Overhang. 2D / 3D
gs_frame_ovhg_right_in Angle Right Inside Overhang. 2D / 3D
gs_frame_ovhg_top_in Length Top Inside Overhang. 3D
gs_frame_ovhg_bottom_in Length Bottom Inside Overhang. 3D
gs_glass_thk Length Glass Thickness. 3D
--- --- 2D Representation
lod2D Integer Level of detail in 2D (0..4) 2D only
gs_pen_2D Pencolor Panel pen. 2D only
gs_frame_pen_cont Pencolor Pen of the frame contour. 2D / 3D (Section View)
gs_fillFr Fillpattern Frame fill pattern type 2D / 3D (Section View)
gs_penFr_fg Pencolor Frame fill foreground pen 2D / 3D (Section View)
gs_penFr_bg Pencolor Frame fill background pen 2D / 3D (Section View)
gs_fillShCover Fillpattern Sash fill pattern type for bottom side 2D
gs_penShCov_fg Pencolor Sash fill foreground pen for bottom side 2D
gs_penShCov_bg Pencolor Sash fill background pen for bottom side 2D
--- --- 3D Representation
lod3D Integer Level of detail in 3D (0..2) 3D only
gs_frame_pen Pencolor Frame pen. 3D only
gs_glass_pen Pencolor Glass pen. 3D only
--- --- Materials
gs_frame_mat Material Frame material. 3D only
gs_glass_mat Material Glass material. 3D only

Thickness and width values

To clear the meaning of the thickness and width parameters used in ArchiCAD windows, see the following picture:

Thickness and width parameters

Frame overhang values

The following picture explains the frame overhang values in 2D.

Thickness and width parameters

2D and section attributes

2D and section attributes

3. Usage

2D Script

In this script, the window object has to contain the following code portion. In addition, it has to empty the transformation stack before calling this macro (e.g. with a del top command)

bOpeningDirection = 0 WOD = WIDO_ORIG_DIST + WIDO_REVEAL_SIDE * WIDO_FRAME_THICKNESS add2 0, WIDO_ORIG_DIST rot2 180 + SYMB_ROTANGLE hotspot2 0, sqr(WOD * WOD + A * A / 4) del 2 call "BasicWindowPanelCurved.gsm", parameters A = A, gs_widthTotal = A, bDisabeMirroring = 0, bOpeningDirection = 0, gs_nominal_size_jamb_inner = 0, gs_frame_thk = gs_frame_thk, gs_frame_width = gs_frame_width, gs_frame_ovhg_left_out = gs_frame_ovhg_left_out, gs_frame_ovhg_right_out = gs_frame_ovhg_right_out, gs_frame_ovhg_left_in = gs_frame_ovhg_left_in, gs_frame_ovhg_right_in = gs_frame_ovhg_right_in, gs_fillFr = gs_fillFr, gs_penFr_fg = gs_penFr_fg, gs_penFr_bg = gs_penFr_bg, gs_fillShCover = gs_fillShCover, lod2D = lod2D, gs_pen_2D = gs_pen_2D, gs_frame_pen_cont = gs_frame_pen_cont

3D Script

In this script, the window object has to contain the following code portion. In addition, it has to empty the transformation stack before calling this macro (e.g. with a del top command)

call "BasicWindowPanelCurved.gsm", parameters A = A, gs_widthTotal = A, B = B, bDisabeMirroring = bDisabeMirroring, bOpeningDirection = bOpeningDirection, gs_nominal_size_jamb_inner = gs_nominal_size_jamb_inner, overSize = overSize, gs_frame_thk = gs_frame_thk, gs_frame_width = gs_frame_width, gs_frame_ovhg_left_out = gs_frame_ovhg_left_out, gs_frame_ovhg_right_out = gs_frame_ovhg_right_out, gs_frame_ovhg_top_out = gs_frame_ovhg_top_out, gs_frame_ovhg_bottom_out = gs_frame_ovhg_bottom_out, gs_frame_ovhg_left_in = gs_frame_ovhg_left_in, gs_frame_ovhg_right_in = gs_frame_ovhg_right_in, gs_frame_ovhg_top_in = gs_frame_ovhg_top_in, gs_frame_ovhg_bottom_in = gs_frame_ovhg_bottom_in, gs_fillFr = gs_fillFr, gs_penFr_fg = gs_penFr_fg, gs_penFr_bg = gs_penFr_bg, gs_glass_thk = gs_glass_thk, gs_pen_2D = gs_pen_2D, gs_frame_pen_cont = gs_frame_pen_cont, gs_frame_pen = gs_frame_pen, gs_glass_pen = gs_glass_pen, gs_frame_mat = gs_frame_mat, gs_glass_mat = gs_glass_mat

Hotspots

The macro places hotspots only at the frame corners:

Hotspots

Level of detail in 2D

The lod2D value controls the panel's level of detail in 2D drawings. If it is zero, no panel will be drawn at all. The following figure shows the available values (and the suggested scales of usage):

Level of detail in 2D

The width of the visible frames are different in lower details depending on the gs_bFixedSash value: it is "gs_frame_width" for fixed panels and "gs_frame_width / 2 + gs_sash_width" for non-fixed ones.

Note, that the frame fill appears only at the highest level of detail.