Graphisoft®

Basic Library Version: 16

Turn Plaster Macro

  1. General Description
  2. Parameters
  3. Usage

1. General Description

This macro is commonly used by the RevealGeometry, CavityClosure and TurnPlaster macros to retrieve information about the turned plaster skins.

The macro can draw turned plaster skis in any kind of reveal types

Example 2D look with different reveal types

The macro can also handles any kind of wall geometry type

Example 2D look in different wall types

2. Parameters

Name Type Description
gs_macro_version Integer Version of the macro
AC_Hole_Display_Option Integer Floor plan display option
AC_WallType Integer Wall type
1 Straight, trapezoid or curved wall
2 Polygonal wall
AC_WallContourPolygon Length Array[x][3] Wall contour polygon definition (only for polygonal walls)
AC_Wall_Direction_Type Integer Wall direction type
0 Right
1 Left
2 Center (Right)
3 Center (Left)
gs_wallhole_geometry Title Wallhole Geometry
refWidth Length Reference width, used to place the hole in curved walls
leftWidth Length Hole left side from the origin
rightWidth Length Hole right side from the origin
radSill Length Wall radius at sill side in case of curved walls
radBoard Length Wall radius at board side in case of curved walls
WOD Length Wall center distance in case of curved walls
offsetSill Length Thickness of hidden wall skins at sill side depending on selected partial structure display option
offsetBoard Length Thickness of hidden wall skins at board side depending on selected partial structure display option
possibleSkinTurnIn Integer Number of plaster skins at the reference side
possibleSkinTurnOut Integer Number of plaster skins at the opposite side
maxSkinTurnIn Integer Number of possible turned plaster skins at the reference side
maxSkinTurnOut Integer Number of possible turned plaster skins at the opposite side
nSkinTurnIn Integer Number of actually turned skins at the reference side
nSkinTurnOut Integer Number of actually turned skins at the opposite side
iRevealType Integer "Reveal Type"
leftRevealPnts Length Array[1][2] "Left Reveal Points"
rightRevealPnts Length Array[1][2] "Right Reveal Points"
iRevealPointsIdx Integer Array[20] "Reveal Points Index"
bAddPoint Boolean Array[4] "Additional Plaster Points"
gs_reveal_left Length "Left Jamb Depth"
gs_reveal_right Length "Right Jamb Depth"
gs_reveal_left_angle Angle "Left Side Angle"
gs_reveal_right_angle Angle "Right Side Angle"
gs_macro_control_parameters Title Macro Control Parameters
bWndCurved Boolean "Curved Window"
bParalellInCurvedWalls Boolean "Parallel Opening in Curved Walls"
bDrawObjContourIn Boolean "Draw Wall Contour With LINE2 at Ref. Side"
bDrawObjContourOut Boolean "Draw Wall Contour With LINE2 at Opp. Side"
bDrawFrameContourLeft Boolean "Draw Frame Contour at Left"
bDrawFrameContourRight Boolean "Draw Frame Contour at Right"
bCornerWindow Boolean "Is Corner Window"
bLeftCornerFunction Boolean "Corner on Left"
bWindowSymbolAtMiddle Boolean "Window in the Middle of the Wall (CHI Special)"
bEnablePlasterLeftIn Boolean Enable/disable left inside plaster turn
bEnablePlasterLeftOut Boolean Enable/disable left outside plaster turn
bEnablePlasterRightIn Boolean Enable/disable right inside plaster turn
bEnablePlasterRightOut Boolean Enable/disable right outside plaster turn
StackedWindow Title Ganging
gs_stack_left Boolean Connection on the left
gs_stack_right Boolean Connection on the right
gs_useWallFinishSkin Boolean Wall skin classification parameter. Use finish skin property of the composite stucture.
gs_maxPlasterThk Length Wall skin classification parameter. Consider skin as plaster if it is thinner than this.
gs_turn_plaster Title Turn Plaster
gs_bAutoTurnOut Boolean Auto turn skins at opposite-side
gs_bOverOut Integer Number of turned skins at opposite-side
gs_bAutoTurnIn Boolean Auto turn skins at reference-side
gs_bOverIn Integer Number of turned skins at reference-side
idTab_RevealClouserSettings Integer "Tabpage ID"
gs_transom_display Boolean "Display as Transom"
gs_transom_display_pen PenColor "Wall End Line Pen"
gs_transom_display_linetype LineType "Wall End Line Line Type"
bSillAddPoint Boolean "Additional Point at Sill"
bBoardAddPoint Boolean "Additional Point at Board"
revealPointsIdx Integer Array[10] "Reveal \points Indexes"
gs_reveal_closure_type String ""
gs_string_resources Title String Resources
stCavityClosureUI String Array[32] One dimension Array parameter for receiving locale strings
stRevealClosureTypes String Array[12] One dimension Array parameter for receiving locale strings

Geometry Parameters

To clear the meaning of the geometry specific parameters used in TurnPlaster macro, see the following picture.

Menaing of the geometry specific parameters

3. Usage

Localization

The macro's default language is the English, but you can localize it with the following parameters.

stCavityClosureUI parameter for the static texts on the user interface

Row Default value Description
1 Cavity Closure Obsolete
2 Closure Method Obsolete
3 Cavity Side Obsolete
4 Number of Outside Skins Obsolete
5 Number of Turned Skins Obsolete
6 Number from Obsolete
7 Turn at Reveal Obsolete
8 Insulation Strip Obsolete
9 Thickness Obsolete
10 Contour Pen Obsolete
11 Line Type Obsolete
12 Fill Type Obsolete
13 Fill Pen Obsolete
14 Fill Background Pen Obsolete
15 Profile Obsolete
16 Width Obsolete
17 Turn Plaster UI string - static text (title of the Turn PLaster pane)
18 Reference-Side UI string - static text
19 Opposite-Side UI string - static text
20 Auto UI string - static text
21 Number of Skins to Turn UI string - static text
22 Consider Skin as Plaster if it is thinner than: UI string - static text
23 Use Wall Finish Skins UI string - static text
24 Select Skin to Edit Obsolete
25 Turn In Skin Obsolete
26 1. Turn-In Thickness Obsolete
27 Custom Thickness Obsolete
28 Hatch Orientation Obsolete
29 Separating Line at Turn In Obsolete
30 Separating Line Pen Obsolete
31 2. Skin Overhang to Frame Depth Obsolete
32 Consider Skin as Plaster if Thinner Than or Equal To UI string - static text

stRevealClosureTypes parameter for the value list of the gs_reveal_closure_type

Row Default value Description
1 No Reveal Value list item
2 Reveal Value list item
3 Negative Reveal Value list item
4 Slanted Reveal Value list item
5 Splayed Reveal Value list item
6 Historic Reveal Value list item
7 Traditional Cavity Closure Value list item
8 Prefabricated Cavity Closure Value list item
9 Custom Closure Value list item
10 Studwall Value list item
11 Studwall with Siding Value list item
12 Brick Veneer Value list item

Example scripts

The following example script demonstrates the usage of this macro:

Master Script

For implementing the parameter logic of the Cavity Closure, you have to call this macro passing the following parameters.

! ============================================================================= ! Draw the Turned Plasters ! ============================================================================= call "TurnPlaster", parameters all refWidth = refWidth, leftWidth = leftWidth, rightWidth = rightWidth, radSill = radSill, radBoard = radBoard, WOD = WOD, offsetSill = offsetSill, offsetBoard = offsetBoard, ! --- Reveal Parameters iRevealType = iRevealType, leftRevealPnts = leftWallholeRevealPnts, rightRevealPnts = rightWallholeRevealPnts, iRevealPointsIdx = iRevealPointsIdx, bAddPoint = bAddPoint, gs_reveal_left = gs_reveal_left, gs_reveal_right = gs_reveal_right, gs_reveal_left_angle = gs_reveal_left_angle, gs_reveal_right_angle = gs_reveal_right_angle, ! --- Turned Plaster Skins possibleSkinTurnIn = possibleSkinTurnIn, possibleSkinTurnOut = possibleSkinTurnOut, maxSkinTurnIn = maxSkinTurnIn, maxSkinTurnOut = maxSkinTurnOut, nSkinTurnOut = nSkinTurnOut, nSkinTurnIn = nSkinTurnIn, ! --- Macro Control Parameters bWndCurved = bWndCurved, bParalellInCurvedWalls = bParalellInCurvedWalls, bDrawObjContourIn = 1, bDrawObjContourOut = 1, bDrawFrameContourLeft = 1, bDrawFrameContourRight = 1, bCornerWindow = bRightCornerFunction, bLeftCornerFunction = bLeftCornerFunction, bEnablePlasterLeftIn = bEnablePlasterLeftIn, bEnablePlasterLeftOut = bEnablePlasterLeftOut, bEnablePlasterRightIn = bEnablePlasterRightIn, bEnablePlasterRightOut = bEnablePlasterRightOut, ! --- Ganging gs_stack_left = gs_stack_left, gs_stack_right = gs_stack_right, gs_bAutoTurnIn = gs_bAutoTurnIn, gs_bOverIn = gs_bOverIn, gs_bAutoTurnOut = gs_bAutoTurnOut, gs_bOverOut = gs_bOverOut

Parameter Script

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

! ============================================================================= ! Turn Plaster Parameter Logic ! ============================================================================= call "TurnPlaster" parameters gs_macro_version = 12, bEnablePlasterLeftIn = bEnablePlasterLeftIn, bEnablePlasterLeftOut = bEnablePlasterLeftOut, bEnablePlasterRightIn = bEnablePlasterRightIn, bEnablePlasterRightOut = bEnablePlasterRightOut, gs_useWallFinishSkin = gs_useWallFinishSkin, gs_bAutoTurnIn = gs_bAutoTurnIn, gs_bOverIn = gs_bOverIn, gs_bAutoTurnOut = gs_bAutoTurnOut, gs_bOverOut = gs_bOverOut

UI Script

For implementing the user interface page in your object, just call the macro from the UI script.

! ============================================================================= ! Turn Plaster Settings Tabpage ! ============================================================================= dim stCavityClosureUI[32] stCavityClosureUI[ 1] = `Cavity Closure` stCavityClosureUI[ 2] = `Closure Method` stCavityClosureUI[ 3] = `Cavity Side` stCavityClosureUI[ 4] = `Number of Outside Skins` stCavityClosureUI[ 5] = `Number of Turned Skins` stCavityClosureUI[ 6] = `Number from` stCavityClosureUI[ 7] = `Turn at Reveal` stCavityClosureUI[ 8] = `Insulation Strip` stCavityClosureUI[ 9] = `Thickness` stCavityClosureUI[10] = `Contour Pen` stCavityClosureUI[11] = `Line Type` stCavityClosureUI[12] = `Fill Type` stCavityClosureUI[13] = `Fill Pen` stCavityClosureUI[14] = `Fill Background Pen` stCavityClosureUI[15] = `Profile` stCavityClosureUI[16] = `Width` stCavityClosureUI[17] = `Turn Plaster` stCavityClosureUI[18] = `Reference-Side` stCavityClosureUI[19] = `Opposite-Side` stCavityClosureUI[20] = `Auto` stCavityClosureUI[21] = `Number of Skins to Turn` stCavityClosureUI[22] = `Plaster Thickness Limit` stCavityClosureUI[23] = `Use Wall Finish Skins` stCavityClosureUI[24] = `Select Skin to Edit` stCavityClosureUI[25] = `Turn In Skin` stCavityClosureUI[26] = `1. Turn-In Thickness` stCavityClosureUI[27] = `Custom Thickness` stCavityClosureUI[28] = `Hatch Orientation` stCavityClosureUI[29] = `Separating Line at Turn In` stCavityClosureUI[30] = `Separating Line Pen` stCavityClosureUI[31] = `2. Skin Overhang to Frame Depth` stCavityClosureUI[32] = `Consider Skin as Plaster if Thinner Than or Equal To` call "TurnPlaster" parameters gs_macro_version = 12, bEnablePlasterLeftIn = bEnablePlasterLeftIn, bEnablePlasterLeftOut = bEnablePlasterLeftOut, bEnablePlasterRightIn = bEnablePlasterRightIn, bEnablePlasterRightOut = bEnablePlasterRightOut, gs_useWallFinishSkin = gs_useWallFinishSkin, idTab_RevealClouserSettings = idTab_RevealClouserSettings, gs_reveal_closure_type = gs_reveal_closure_type, stRevealClosureTypes = stRevealClosureTypes, stCavityClosureUI = stCavityClosureUI

Turned plasters

The macro can turn all skins classified as wrapper (plaster) skins automatically depending on the gs_bAutoTurnIn and gs_bAutoTurnOut parameters.

If manual turn was selected the macro can turn any number of skins given with the gs_bOverIn and gs_bOverOut parameters. The number of turned skins is limited to the number of skins classified as wrapper (plaster).

The Turn Plaster function is independent from the cavity closure mode being used inside the wall. The turned part of the plaster has the same thickness as the normal part in the composite structure (marked with T in the following figure). Note, that the plaster is turned to the window frame.

The second image displays the contour lines only which are used in DXF/DWG export.

Turned plaster part keeps its thickness