New GDL Features in ArchiCAD 13
Index
1. Purpose of the document
This document informs you about the new GDL features in ArchiCAD 13. You can find the definition of the new and changed commands in the GDL Reference Guide. Some of these topics are described in the Basic Library Documentation, too. The links in this document refer to the latter one, if available.
2. List of new features
New checking option against uninitialized variables
ArchiCAD 13 introduced a new warning in GDL script checking. It can warn you about uninitialized variables.
Since GDL is derived from the Basic programming languages, you don't have to define or initialize your variables. They will be considered to be zero when first used. In many cases this is the desired function but it hides lots of problems where you misspell the name of a variable or just forget to initialize it in one branch of a difficult 'if' clause.
For a warning-free script you will have to initialize all variables in all cases. In the vast majority of the cases it will eliminate a bug and for the rest of the cases it makes your scripts more straightforward.
New/changed global variables
Wall elements listing
The following global variables are available for listing and labels only.
- WALL_SKIN_THICKNESS_A - wall skin thickness on the reference line side
- WALL_SKIN_THICKNESS_B - wall skin thickness on the side opposite to the reference line
- WALL_INSU_THICKNESS - wall insulation skin thickness
- WALL_AIR_THICKNESS - wall air skin thickness
- WALL_SKIN_MIN_HEIGHT_A - minimum height of the wall skin on the reference line side
- WALL_SKIN_MAX_HEIGHT_A - maximum height of the wall skin on the reference line side
- WALL_SKIN_MIN_HEIGHT_B - minimum height of the wall skin on the side opposite to the reference line
- WALL_SKIN_MAX_HEIGHT_B - maximum height of the wall skin on the side opposite to the reference line
- WALL_LENGTH_A_CON - conditional wall length on the reference line side
- WALL_LENGTH_B_CON - conditional wall length on the side opposite to the reference line
- WALL_SURFACE_A_CON - conditional wall surface on the reference line side
- WALL_SURFACE_B_CON - conditional wall surface on the side opposite to the reference line
- WALL_VOLUME_A - wall skin volume on the reference line side
- WALL_VOLUME_A_CON - conditional wall skin volume on the reference line side
- WALL_VOLUME_B - wall skin volume on the side opposite to the reference line
- WALL_VOLUME_B_CON - conditional wall skin volume on the side opposite to the reference line
Slab elements listing
The following global variables are available for listing and labels only.
- SLAB_TOP_SURF_CON - conditional top surface of the slab
- SLAB_BOT_SURF_CON - conditional bottom surface of the slab
- SLAB_VOLUME_CON - conditional volume of the slab
Roof elements listing
The following global variables are available for listing and labels only.
- ROOF_BOTTOM_SURF_CON - conditional bottom surface of the roof
- ROOF_TOP_SURF_CON - conditional top surface of the roof
- ROOF_VOLUME_CON - conditional volume of the roof
- ROOF_INSU_THICKNESS - roof insulation skin thickness
- ROOF_RIDGE - roof ridges length
- ROOF_VALLEY - roof valleys length
- ROOF_GABLE -roof gables length
- ROOF_HIP - roof hips length
- ROOF_EAVES - roof eaves length
- ROOF_PEAK - roof peaks length
- ROOF_SIDE_WALL - roof side wall connection length
- ROOF_END_WALL - roof end wall connection length
- ROOF_TRANSITION_DOME - roof dome connection length
- ROOF_TRANSITION_HOLLOW - roof hollow connection length
Beam elements listing
The following global variables are available for listing and labels only.
- BEAM_VOLUME_CON - conditional volume of the beam
Curtain Wall elements listing
The following global variables are available for listing and labels only.
- CWALL_SURF_BOUNDARY - surface of the curtain wall bordered by boundary frames
Door/Window elements
- WALL_SKINS_PARAMS[i][16] - fill orientation status showing whether the old fill orientation field is in effect or the skin is soft insulation
Library based Model View Options
The possiblility of defining library based Model View Options has been created.
To insert a tab page into the MVO dialog, you have to make a library part which is derived from the Library Global Settings (GUID: {709CC5CC-6817-4C56-A74B-BED99DDB5FFA}) subtype. This object must contain the desired global options as paramameters and it must have a user interface definition for the tab page. It may have a parameter script for connecting parameters or user interface elements.
You can use the new LIBRARYGLOBAL command in your placable elements to query
values of your own library global settings object depending on the current view settings.
See Library Global View Options section of the Technical Standards for details.
Fill enhancements
poly2_b{5}- Advanced version of poly2_b{4}, where fill distortion can be controlled in an enhanced way.
wallhole2{2},wallblock2{2}- Advanced version of wallhole2 and wallblock2, where fill distortion can be controlled in an enhanced way.
Length units in model and layout
request ("Model_length_unit", "", format_string),request ("Layout_length_unit", "", format_string)- Request for getting the length unit format specially for the model or the layout. It can return the same formats Working_length_unit returns.
request ("Model_text_size_unit", "", format_string),request ("Layout_text_size_unit", "", format_string)- Request for getting the text size unit format specially for the model or the layout. It returns the used format which can use points or millimeters in ArchiCAD.
str()str()function supports points (pt), too.
Modelling enhancements
tube- mask 128tubegot a new option for making cross-section edges sharpcprism_{2}- Advanced version of cprism_ with the possibility of defining different angles and materials for each side of the prism.
croof_{2}- Advanced version of croof_ with the possibility of defining different materials for the sides.
New User Interface controls
ui_radiobutton- Gives the possibility to define radio controls for selecting from options.
ui_infieldmethod 8- Gives the possibility to define a standard drop-down control for selecting from options.
New ways of door/window dimensioning
Automatic dimensioning and Interactive Schedules of doors and windows consider all current sizing methods: wallhole, reveal, unit, egress, leaf & nominal. The new method uses dedicated parameters and accordingly positioned hotspots.
This is not exactly a GDL feature but it affects GDL programming.
See Preparing for automatic dimensions section of the Door-Window documentation for technical details.