Graphisoft®

Basic Library Version: 16

Masonry Arch Macro

  1. General Description
  2. Parameters
  3. Usage

1. General Description

A window or a door can use this macro to build masonry arch in 3D.

Sample pictures from masonry arches

2. Parameters

Name Type Default Scripts related to the parameter Remarks
A Length 1 2D / 3D Nominal width of the wall opening
B Length 1 3D Nominal height of the wall opening
ZZYZX Length 1 - Not used
iWindowShape Integer 0 3D / Parameter Shape of the window.
0
Rectangular
1
Arched
2
Circle/Oval
Note: only the rectangular shape can be used in a Corner Window.
archHeight Length 0.25 3D Height of the Arc.
Only effective when iWindowShape = 1
gs_masonry_arch Text "Off" 3D / Parameter Masonry arch type chooser
gs_masonry_arch_structure Text "Stucco Arch" 3D / Parameter 3D detail level chooser
gs_masonry_arch_ovhg_left Length 0 3D Masonry arch overhang left
gs_masonry_arch_ovhg_right Length 0 3D Masonry arch overhang right
gs_masonry_arch_rise Length 30 3D Masonry arch rise
gs_masonry_arch_skewback_angle Angle 75 3D Skewback angle
gs_masonry_arch_proj Length 0 3D Masonry arch projection
gs_masonry_arch_height Length 250 3D Masonry arch height
gs_masonry_arch_depth Length 120 3D Masonry arch depth
gs_masonry_arch_brick_thk Length 65 3D Brick thickness
gs_masonry_arch_mort_thk Length 10 3D Mortar thickness
gs_masonry_arch_keystone_width Length 100 3D Keystone width
gs_masonry_arch_keystone_osize Length 0 3D Keystone oversize
gs_masonry_arch_keystone_proj Length 10 3D Keystone projection
gs_masonry_arch_fill Fill type 2 3D Masonry arch fill type - If it is zero in 3D (Section View) then SYMB_FILL defines the fill type of cutted surfaces.
gs_masonry_arch_pen_fg Pen 5 3D Masonry arch fill pen - If it is zero in 3D (Section View) then SYMB_FILL_PEN defines the fill pen of cutted surfaces.
gs_masonry_arch_pen_bg Pen 91 3D Masonry arch fill background pen - If it is zero in 3D (Section View) then SYMB_FBGD_PEN defines the fill background pen of cutted surfaces.
gs_masonry_arch_pen Pen 2 3D 3D contour pen
gs_masonry_arch_brick_mat Material 56 3D Brick material
gs_masonry_arch_mort_mat Material 2 3D Mortar material
gs_masonry_arch_keystone_mat Material 37 3D Keystone material
gs_reveal_parameters Title
gs_reveal_left Length 0 3D Left Jamb Depth
gs_reveal_right Length 0 3D Right Jamb Depth
gs_reveal_top Length 0 3D Head Depth
ac_corner_window Boolean 1 3D Switch to Corner Window mode
ac_cw_function Boolean 0 3D "Placement Type (1=CW,0=W)"
ac_corner_angle Angle 90 3D Angle of connected walls
ac_diff_con_wall_thk Boolean 0 3D Indicates the equality thickness of the two connected walls.
ac_con_wall_thk Length 0 3D Thickness of the another wall.
gs_stMasonryArch String 3D / Parameter One dimension Array parameter for receiving locale strings.

Geometry parameters of MasonryArch

To clear the meaning of the geometry specific parameters used in MasonryArch macro, see the following pictures:

Geometry parameters 1 Geometry parameters 1

Level of Detail in 3D

There are two levels of detail programmed into the macro.

Level of Detail in 3D

3. Usage

Localization

The macro's default language is English. You can localize it with the gs_stMasonryArch parameter.
Row Default value Description
1 Off value list item of gs_masonry_arch
2 Masonry Straight Arch value list item of gs_masonry_arch
3 Masonry Jack Arch value list item of gs_masonry_arch
4 Masonry Jack Arch with Keystone value list item of gs_masonry_arch
5 Masonry Segmental Arch value list item of gs_masonry_arch
6 Masonry Segmental Arch with Keystone value list item of gs_masonry_arch
7 Masonry Bullseye Arch value list item of gs_masonry_arch
8 Stucco Arch value list item of gs_masonry_arch_structure
9 Brick Arch value list item of gs_masonry_arch_structure

Parameter Script

For implementing the parameter logic of the MasonryArch, you have to call this macro with passing the following parameters to it.

! ============================================================================= ! Masonry Arch Parameter Logic ! ============================================================================= DIM gs_stMasonryArch[] gs_stMasonryArch[1] = "Off" gs_stMasonryArch[2] = "Masonry Arch" gs_stMasonryArch[3] = "Masonry Jack Arch" gs_stMasonryArch[4] = "Masonry Jack Arch with Keystone" gs_stMasonryArch[5] = "Masonry Segmental Arch" gs_stMasonryArch[6] = "Masonry Segmental Arch with Keystone" gs_stMasonryArch[7] = "Masonry Bullseye Arch" gs_stMasonryArch[8] = "Stucco Arch" gs_stMasonryArch[9] = "Brick Arch" call "MasonryArch" parameters A=A, iWindowShape = 0, ! Rectangular window openingArchHeight = openingArchHeight, gs_masonry_arch = gs_masonry_arch, gs_masonry_arch_structure = gs_masonry_arch_structure, gs_stMasonryArch = gs_stMasonryArch

3D Script

In this script the window has to contain the following code portion. It has to empty the transformation stack before calling this macro (eg. with a del top command)

! ============================================================================= ! Masonry Arch ! ============================================================================= DIM gs_stMasonryArch[] gs_stMasonryArch[1] = "Off" gs_stMasonryArch[2] = "Masonry Arch" gs_stMasonryArch[3] = "Masonry Jack Arch" gs_stMasonryArch[4] = "Masonry Jack Arch with Keystone" gs_stMasonryArch[5] = "Masonry Segmental Arch" gs_stMasonryArch[6] = "Masonry Segmental Arch with Keystone" gs_stMasonryArch[7] = "Masonry Bullseye Arch" gs_stMasonryArch[8] = "Stucco Arch" gs_stMasonryArch[9] = "Brick Arch" if gs_masonry_arch <> gs_stMasonryArch[1] then call "MasonryArch" parameters A=A, B=B, iWindowShape = 0, ! Rectangular window openingArchHeight = 0, ! not relevant ! --- Masonry Arch gs_masonry_arch = gs_masonry_arch, gs_masonry_arch_structure = gs_masonry_arch_structure, gs_masonry_arch_ovhg_left = gs_masonry_arch_ovhg_left, gs_masonry_arch_ovhg_right = gs_masonry_arch_ovhg_right, gs_masonry_arch_rise = gs_masonry_arch_rise, gs_masonry_arch_skewback_angle = gs_masonry_arch_skewback_angle, gs_masonry_arch_proj = gs_masonry_arch_proj, gs_masonry_arch_height = gs_masonry_arch_height, gs_masonry_arch_depth = gs_masonry_arch_depth, gs_masonry_arch_brick_thk = gs_masonry_arch_brick_thk, gs_masonry_arch_mort_thk = gs_masonry_arch_mort_thk, gs_masonry_arch_keystone_width = gs_masonry_arch_keystone_width, gs_masonry_arch_keystone_osize = gs_masonry_arch_keystone_osize, gs_masonry_arch_keystone_proj = gs_masonry_arch_keystone_proj, gs_masonry_arch_fill = gs_masonry_arch_fill, gs_masonry_arch_pen_fg = gs_masonry_arch_pen_fg, gs_masonry_arch_pen_bg = gs_masonry_arch_pen_bg, gs_masonry_arch_pen = gs_masonry_arch_pen, gs_masonry_arch_brick_mat = gs_masonry_arch_brick_mat, gs_masonry_arch_mort_mat = gs_masonry_arch_mort_mat, gs_masonry_arch_keystone_mat = gs_masonry_arch_keystone_mat, ! --- Reveal Parameters gs_reveal_left = WIDO_LEFT_JAMB, gs_reveal_right = WIDO_RIGHT_JAMB, gs_reveal_top = WIDO_HEAD_DEPTH, ! --- Corner Window Parameters ac_corner_window = ac_corner_window, ac_cw_function = ac_cw_function, ac_corner_angle = ac_corner_angle, ac_diff_con_wall_thk = ac_diff_con_wall_thk, ac_con_wall_thk = ac_con_wall_thk, ! --- String Resource --- gs_stMasonryArch = gs_stMasonryArch endif

UI Script

To implement the user interface page in your object just call the macro from the UI script.

! ============================================================================= ! Masonry Arch Tabpage ! ============================================================================= DIM gs_stMasonryArch[] gs_stMasonryArch[ 1] = "Off" gs_stMasonryArch[ 2] = "Masonry Arch" gs_stMasonryArch[ 3] = "Masonry Jack Arch" gs_stMasonryArch[ 4] = "Masonry Jack Arch with Keystone" gs_stMasonryArch[ 5] = "Masonry Segmental Arch" gs_stMasonryArch[ 6] = "Masonry Segmental Arch with Keystone" gs_stMasonryArch[ 7] = "Masonry Bullseye Arch" gs_stMasonryArch[ 8] = "Stucco Arch" gs_stMasonryArch[ 9] = "Brick Arch" gs_stMasonryArch[10] = "Masonry Arch" gs_stMasonryArch[11] = "Arch Type" gs_stMasonryArch[12] = "Overhang" gs_stMasonryArch[13] = "Left" gs_stMasonryArch[14] = "Right" gs_stMasonryArch[15] = "Projection" gs_stMasonryArch[16] = "Rise" gs_stMasonryArch[17] = "Skewback Angle" gs_stMasonryArch[18] = "Height" gs_stMasonryArch[19] = "Depth" gs_stMasonryArch[20] = "Brick Thickn." gs_stMasonryArch[21] = "Mortar Thickn." gs_stMasonryArch[22] = "Material" gs_stMasonryArch[23] = "Brick" gs_stMasonryArch[24] = "Mortar" gs_stMasonryArch[25] = "Keystone" gs_stMasonryArch[26] = "Keystone" gs_stMasonryArch[27] = "Width" gs_stMasonryArch[28] = "Oversize" gs_stMasonryArch[29] = "Projection" idTab_MasonryArchSettings = 1 ! Tabpage ID if idTab_MasonryArchSettings > 0 then call "MasonryArch" parameters iWindowShape = 0, ! Rectangular window gs_masonry_arch = gs_masonry_arch, gs_masonry_arch_structure = gs_masonry_arch_structure, idTab_MasonryArchSettings = idTab_MasonryArchSettings, gs_stMasonryArch = gs_stMasonryArch endif