| Basic Library Version: 9 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cavity Closure Macro1. General DescriptionThis macro is commonly used by ArchiCAD windows to draw cavity closure and turned plasters in 2D. The macro's output fulfils the following requirements:
The WallBlock macro is being used to draw the blocks that the skins are built from: this results in a uniform 2D drawing method regardless of the current wall geometry. The CompositeLogic macro returns the composite structure information required to draw the skins in the wall. 2. Parameters
3. UsageCoordinate systemBefore using this macro, the caller window must align the local coordinate system to the x and y axes and place the origin into the natural opening origin marked with a black dot. The prevailing local y axis must be parallel with the end face of the wall cut:
Example scriptsThe following example 2D script demonstrates the usage of this macro (see the WallLogic macro for further details on its parameters): Master Scriptdim stTurnDir[] stTurnDir[1] = `Reference side` stTurnDir[2] = `Opposite side` 2D Script
WOD = abs(WIDO_ORIG_DIST)
call "WallLogic" PARAMETERS EPS = 0.0001,
A = SYMB_A_SIZE,
WOD = WOD
mul2 get (2)
curvedWall = get (1)
wallIsLeft = get (1)
angOrig = get (1)
inRadius = get (1)
ofsX = get (1)
ofsY = get (1)
bCornerWindow = ac_cw_function & ac_corner_window
if curvedWall & wallIsLeft then
bOverIn = gs_bOverOut
bOverOut = gs_bOverIn
else
bOverIn = gs_bOverIn
bOverOut = gs_bOverOut
endif
if gs_nTurnDir = stTurnDir[1] then ! 'Reference side'
if curvedWall & wallIsLeft then
nTurnIn = gs_nTurn
nTurnOut = 0
else
nTurnIn = 0
nTurnOut = gs_nTurn
endif
endif
if gs_nTurnDir = stTurnDir[2] then ! 'Opposite side'
if curvedWall & wallIsLeft then
nTurnIn = 0
nTurnOut = gs_nTurn
else
nTurnIn = gs_nTurn
nTurnOut = 0
endif
endif
call "CavityClosure" PARAMETERS A = A,
bWndCurved = gs_IsCurved,
bCornerWindow = bCornerWindow,
cType = 1, ! 'Traditional'
wndSide = 3, ! Both sides
os_left = gs_left_oversize,
os_right = gs_right_oversize,
gs_stack_left = gs_stack_left,
gs_stack_right = gs_stack_right,
bJambInner = 0,
bOverIn = bOverIn,
bOverOut = bOverOut,
nTurnIn = nTurnIn,
nTurnOut = nTurnOut,
gs_bJoint = gs_bJoint,
gs_thkJoint = gs_thkJoint,
gs_penJoint = gs_penJoint,
gs_ltJoint = gs_ltJoint,
gs_fillJoint = gs_fillJoint,
gs_penJointFg = gs_penJointFg,
gs_penJointBg = gs_penJointBg
Turned plastersThe bOverIn (bOverOut) parameters are independent of the cavity closure mode being used inside the wall. The turned plaster has the same thickness (marked with T in the following figure) as the first (last) skin in the compositete structure. Note, that the plaster is turned to the window frame.
The drawn plaster uses the same contour pen and linetype as the last composite skin. The second image displays only the contour lines which are used in DXF/DWG export. The following table contains the minimum number of composite skins (nSkinMin) to draw these plasters:
Traditional modeThe nTurnIn and nTurnOut parameters cannot be nonzero at the same time. They control the number of skins turned from or to the reference line. Let's assume, that there are N skins in the composite: in this case the following limitations are valid on these integer parameters (whether the plasters are turned or not):
If nTurnMax is less than one, then no skins are turned by this macro. Otherwise the macro turns as much skins inside the wall composite up to the given nTurnMax. Heat insulation modeThis is the newer approach of cavity closure done in ArchiCAD.
4. RemarksAt current time, there is no 2D wall cut in ArchiCAD. If we want to draw anything inside the wall, then a "patch polygon" of equivalent size must be applied before the draw operation. This can be carried out by drawing a polygon with Empty fill, where the background color is -1 (Transparent). See the following example:
The following steps are required to draw the desired area:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
Copyright © 2004 - Graphisoft R&D Software
Development Rt. All rights reserved worldwide. |