-
GDL ArchiCAD 11
-
Graphisoft — Graphisoft http://www.graphisoft.com . GDL ArchiCAD
11 2007 Graphisoft, . , . ArchiCAD ArchiFM , PlotMaker, Virtual
Building, StairMaker GDL — Graphisoft. .http://www.graphisoft.com
-
GDL ArchiCAD 11 3
GDL (Geometric Description Language — ), Graphisoft. , ,
ArchiCAD Graphisoft. GDL, , , .. -
4 GDL ArchiCAD 11
-
GDL ArchiCAD 11 5
__________________________ 5
________________________ 13 . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 13 . . . . . . . . . . . . . . . . . .
. . . . 13 . . . . . . . . . . . . . . . 13, . . . . . . . . . . .
. . . . 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 15 . . . . . . . . . . . . . . . . . . . . . . . . .
. . 15 . . . . . . . . . . . . . . . . . . . . 16 . . 18 GDL . . .
. . . . . . . . 19 . . . . 19 ArchiCAD . . . . . . . . . . . . . 20
? . . . . . . . . 20 GDL . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 21 GDL- . . . . . . . . . . . . . . . . . . 21GDL _______________________ 23 . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 23 . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 23 . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 23 . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 23 . . . . . . . . . . . . . . . .
. . . . . . . . . 24 . . . . . . . . . . . . . . . . . . . . . . .
. . 24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25. . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 . . .
. . . . . . . . . . . . . . . . . . . . 26____________ 27 . 27 28 . . . . . . . . 31
____________ 33 . . . . . . 33BLOCK . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 33BRICK . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 33CYLIND . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 33SPHERE . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 34ELLIPS . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34CONE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 35PRISM . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 35PRISM_ . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 36CPRISM_ . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39BPRISM_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 40FPRISM_ . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 41HPRISM_ . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 43SPRISM_ . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 43SLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 46SLAB_ . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 46CSLAB_ . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47CWALL_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 47BWALL_ . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 49 -
6 GDL ArchiCAD 11
XWALL_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 51XWALL_{2} . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 53BEAM . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 55CROOF_ . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 55MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 58ARMC . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 59ARME . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60ELBOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 60 61HOTSPOT . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 61LIN_ . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61RECT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 62POLY . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 62POLY_ . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 62PLANE . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63PLANE_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 63CIRCLE . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 63ARC . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64, . . .
. 64EXTRUDE . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 66PYRAMID . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 69REVOLVE . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 71RULED . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74RULED{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 75SWEEP . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 77TUBE . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 80TUBEA . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 84COONS . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 86MASS . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 89 . . . . . . . . . .
. . . . . . . . . 91LIGHT . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .91PICTURE . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .93 . . . . . . . . . . . .
94TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .94RICHTEXT . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .95 . . . . . . . . . . . . . .
. . . . . 95VERT . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .96TEVE . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .96VECT . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. .96EDGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .97PGON . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .97PIPG . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98COOR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .98BODY . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .100BASE . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .102 3D . . . . . .
. . . . . . . . . . . . 102CUTPLANE . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .102CUTPOLY . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .104CUTPOLYA . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.106CUTSHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .108CUTFORM . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .108 . . . . . 110GROUP . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.114ENDGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .114ADDGROUP . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .114SUBGROUP . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .114ISECTGROUP . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .114ISECTLINES . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.114PLACEGROUP . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .115KILLGROUP . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .115 -
GDL ArchiCAD 11 7
SWEEPGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 116 . . . . . . . 116_________________ 119 . . . . . . . . . . . . . . . . . . . .
119HOTSPOT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 119LINE2 . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 119RECT2 . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 120POLY2 . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
120POLY2_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 121POLY2_A . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 122POLY2_B . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 122POLY2_B{2} . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
122POLY2_B{3} . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 123ARC2 . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 123CIRCLE2 . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 124SPLINE2 . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
124SPLINE2A . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 126PICTURE2 . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 127PICTURE2{2} . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 127 . . . . . . . . . . .
. . . . . . . . . . 127TEXT2 . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 127RICHTEXT2 . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 128 . . . . . .
. . . . . . . . . . . . . . . . 128FRAGMENT2 . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 128FRAGMENT2 . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 .
129PROJECT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 129PROJECT2{2} . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 129PROJECT2{3} . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 132. . . 133DRAWING2 . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 133DRAWING3 . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 133DRAWING3{2} . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 134DRAWING3{3}
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
134_________ 135 . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 135HOTSPOT . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 135HOTLINE2 . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 140HOTARC2 . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
140______________________ 141 . . . . . . . . . . . . . . . . 141 .
. . . . . . . . . . 143 : . . . . . . . . . . . . . . . . . . . .
143 . 143 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 144 . . . . . . . . . . . . . . . . 144 . . .
. . . . . . . . 145 . . . . . . . . . . . . . . . . . . . . 145 . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 146 . . . . .
. . . . . . . . . . . . . . . . 146 . . . . . . . . . . . . . . . .
. . . . . . . . 147, . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 147, . . . . . . . . . . . . . . . .
. . . . . . . . 148 . 148 -
8 GDL ArchiCAD 11
. . . . . . . . . . . . . . . . . . . . . 149 . . . . . . . . .
. . . . . 149__________________________ 153 . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 153, 3D- 2D- . . . . . 153[LET] . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 153RADIUS . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 154RESOL . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 155TOLER . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 156PEN . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 156LINE_PROPERTY . . . . . . . . . . . . . . . . . . . . . . .
. . . . 157[SET] STYLE . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 157SET STYLE 0 . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 157, 3D- . . . . 157MODEL . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 157[SET] MATERIAL . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 158SECT_FILL . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 159SHADOW . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 160, 2D- . . . . 161DRAWINDEX . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 161[SET] FILL . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 161[SET] LINE_TYPE . . . . . .
. . . . . . . . . . . . . . . . . . . . . 162. . . . . . . . . . . . . . . . . 162 . . . . . . . . . . . . .
. . . . . . . . . . . 163DEFINE MATERIAL . . . . . . . . . . . . . . . . . . . . . . . .
. . 163DEFINE MATERIAL BASED_ON . . . . . . . . . . . . . . .
165DEFINE TEXTURE . . . . . . . . . . . . . . . . . . . . . . . . .
. 166. . . . . . . . . . . . . . . . . . . . . . . 168DEFINE FILL . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168DEFINE
FILLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
171DEFINE SYMBOL_FILL . . . . . . . . . . . . . . . . . . . . . .
173DEFINE SOLID_FILL . . . . . . . . . . . . . . . . . . . . . . .
. .174DEFINE EMPTY_FILL . . . . . . . . . . . . . . . . . . . . . .
. .174. . . . . . . . . . . . . . . . . . . . . . .175DEFINE LINE_TYPE
. . . . . . . . . . . . . . . . . . . . . . . . .175DEFINE
SYMBOL_LINE . . . . . . . . . . . . . . . . . . . . . . .175. . . . . . . . . . . . . . . . . . . . . . . . . . . .176DEFINE
STYLE . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.176DEFINE STYLE {2} . . . . . . . . . . . . . . . . . . . . . . .
. . . .177. . . . . . . . . . . . . . . . . . . . . . . . . . .177 . . . .
. . . . . . . . . . . . . .178 . . . . . . . . . . . . . . . . . .
. . . . . .179. . . . . . . . . . . . . .180
___________ 181 . . . . . . . . . . . . . . . . . . . .
181DATABASE_SET . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .181DESCRIPTOR . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .182REF DESCRIPTOR . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .182COMPONENT . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .182REF COMPONENT . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .183BINARYPROP . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
.183SURFACE3D ( ) . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .183VOLUME3D ( ) . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .183POSITION . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .184DRAWING . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .184 . . .
. . . . . . . . . . . . . . . . . . . . 185VALUES . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
.185PARAMETERS . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .186LOCK . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .187HIDEPARAMETER . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .187 . . . . . . . . . 187 -
GDL ArchiCAD 11 9
UI_DIALOG . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 187UI_PAGE . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 187UI_CURRENT_PAGE . . . . . . . . .
. . . . . . . . . . . . . . . . . 188UI_BUTTON . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 188UI_SEPARATOR . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
189UI_GROUPBOX . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 189UI_PICT . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 189UI_STYLE . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 190UI_OUTFIELD . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . 190UI_INFIELD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
191UI_INFIELD {2} . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 191UI_INFIELD{3} . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 191UI_TOOLTIP . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 194_______________ 195 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 195DIM . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 195VARDIM1(expr) . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 196VARDIM2(expr) .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 . . . .
. . . . . . . . . . . . . . . . 198 . . . . . . . . . . . . . . . .
. . . . . . . . . 198 . . . . . . . . . . . . . . . . . . . . . . .
. . 198 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 199 . . . . . . . . . . . . . . . . . . . . . . 199ABS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 199CEIL . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 199INT . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 199FRA . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
199ROUND_INT . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 199SGN . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 199SQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 199 . . . . . . . . . . . . . . . . . . . 200ACS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 200ASN . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 200ATN . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 200COS . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
200SIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 200TAN . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 200PI . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 200. . . . . . . . . . . . . . . . . . . . . . 200EXP . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
200LGT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 200LOG . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 201. . . . . . . . . . . . . . . . . . . . . . . . . . . 201NOT . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 201. . . . . . . . . . . . . . . . . . . . . . . 201MIN . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
201MAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 201RND . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 201. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
201BITTEST . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 201BITSET . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 201. . . . . . . . . . . . . . . . . . . . . . . . . 202 . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 202STR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 202STR . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 202STR{2} . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 202SPLIT . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
205STW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 206STRLEN . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 206STRSTR . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 206STRSUB . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 207 -
10 GDL ArchiCAD 11
__________ 209 . . . . . . . 209FOR . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 209NEXT . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 209DO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 210IF . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 212GOTO . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
213GOSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 213RETURN . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 213END / EXIT . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 214 . . . 214 . .
. . . . . . . . . . . . . . . . . . . . . . . . 218 . . . . . . . .
. . . . 220 . . . . . . . . . . 220OPEN . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 221INPUT . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 221VARTYPE . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 221OUTPUT . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 221CLOSE . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 222_____________________________ 223 . . . . . . . . . . . . . . .
. . 223 . . . . . . . . . . . . . . . 223 . . . . . . . . . . . . .
. . . . . . . . . . . 224 . . . . . . . . . . . . . . . . . . . . .
. . . . 224 . . . . . . . . . . . . . . . . . . . 225 , , . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 226 . . . . . . . . . . 226 , , —. . . . .227 — . . . . . . . . . . . . . .227 , . . . . . . . .
. . . .227 — . . . . . . . . . . . . . . . . . . . . . . . . . .
.228 — . . . . . . . . . . . . . . . . . . . . .229 . . . . . . . .
. . . . . . . . . .230 — . . . . .231 — . . . . . . . . . . . . . .
. . . . . . . . . . . . . .233 — . . . . . . . . . . . . . . . . .
. . . . . . . . . . .234 — . . . . . . . . . . . . . . . . . . . .
. . . . . . . .236 — . . . . . . . . . . . . . . . . . . . . . . .
. . . . .237 — . . . . . . . . . . . . . . . . . . . . . . . . . .
. .238 — . . . . . . . . . . . . . . . . . . . .239 3D- — . . . . .
. . . . . . . . . . . . . . . . . . . . . . .240 . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .241 . . . . . . . . .
. . . . . . . .243 . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 245REQ . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .245REQUEST . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .246 . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 257 . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .257 -
GDL ArchiCAD 11 11
. 2583D- . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 258 . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 258 . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 260WALLHOLE . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 260WALLNICHE . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 264. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 265 . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 2672D- . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 268. . . . . . . 268WALLHOLE2 . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 268WALLBLOCK2 . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 269WALLLINE2 . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 269GDL, . . 270 . . . . . . . . . . . . . . . . . . . . . . . . 271
. . . . . . . . . . . . . . . . . . . . . . . . 271 . . . . . . . .
. . . . . . . . . . . 271 3D- . . . . . . . . . . . . 272 2D- . . .
. . . . . . 274 2D- 3D- . . . . . 275 . . . . . . 275. . . . . . . . . . . . . . . . . . . . . . . 275 . . . . . . .
. . . . . . . . . . . . . . . . . . 276 . . . . . . . . . . . . . .
. . . . . . . . . . . 276GDL . . . . . . . . . . 277A . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 277B . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277C
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 278D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 281E . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 283F . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283G .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 284H . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 284I . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 284K . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 285L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 285M . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 285N . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286O .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 286P . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 287R . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 289S . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 292T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 293U . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 294V . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295W
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 296X . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 296. . . . . . . . . . 298 GDL Data In/Out . . . . . . . . . . . .
. . 298 . . . . . . . . . . . . . . . . . . . . . . . . . 298 . . .
. . . . . . . . . . . . . . . . . . . . . . 299 . . . . . . . . . .
. . . . . . . . 300 . . . . . . . . . . . . . . . . . . . . . . . .
. . 301 . . . . . . . . . . . . . . . . . . . . . . . . . 301 GDL
DateTime . . . . . . . . . . . . . . . . 302 . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 302 . . . . . . . . . . . . .
. . . . . . . . . . . . . . 303 . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 303 GDL File Manager I/O . . . . . . . . .
. 304 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
304 -
12 GDL ArchiCAD 11
/ . . . . . . . . . . . . . . . . . . 304 . . . . . . . . . . .
. . . . . . . . 305 GDL Text I/O . . . . . . . . . . . . . . . . .
306 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 309 Property
GDL . . . . . . . . . . . . . . . . . 310OPEN . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 310CLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .311INPUT . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .311OUTPUT . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .313 GDL XML .
. . . . . . . . . . . . . . . . . . . 314 XML . . . . . . . . . . .
. . . . . . . . . . . .315 XML . . . . . . . . . . . . . . . . . .
. . . . . . .316 XML . . . . . . . . . . . . . . . . . . . . .
.319_______________ 323
-
GDL ArchiCAD 11 13
GDL — , BASIC. 3D-, , , , , 2D-, . .
, , , GDL. GDL . GDL . , . , BASIC, GDL . , , , GDL 2D- 3D-. , ,
, GDL . BASIC, , GDL. 3D-, . . » » ArchiCAD.Graphisoft GDL .
«Object Making With ArchiCAD» . «GDL Cookbook» GDL . GDL Graphisoft
; — Graphisoft.GDL , GDL, 3D- 2D-. ArchiCAD. .
-
14 GDL ArchiCAD 11
2D- 2D-. 2D- ( 2D-) FRAGMENT2. 2D- , 2D- .3D- 3D-. 3D- ( )
BINARY. , , . , BINARYPROP. , . , . ., , . . 2D- 3D- PICTURE
PICTURE2. .ArchiCAD ArchiFM GDL-, , ., , . , , . GDL. , , . : .
-
GDL ArchiCAD 11 15
, , . , , . . . . , , .
. , , , , . , , , 2D-. 2D-, 2D-. 3D-, 3D- 2D-, . . 3D- 2D-. ,
.. — , , .
GDL , . GDL. GDL. , , , . . , .
-
16 GDL ArchiCAD 11
GDL :
3D:BLOCK CYLIND SPHERE PRISM
2D:LINE2 RECT2 POLY2 CIRCLE2 ARC2
, — , — . , .BLOCK 1, 0.5, 0.5ADDX 1.5ROTY 30BLOCK 1, 0.5, 0.5
3D- ( G = ) (L = ) . :3D:ADDX ADDY ADDZROTX ROTY ROTZ
2D:ADD2 ROT2 ADD , ROT — .
, , , .
3D:ELLIPS CONEPOLY_ LIN_ PLANE PLANE_PRISM_ CPRISM_ SLAB SLAB_
CSLAB_TEXTLG
Z
Z
X
Y
X
Y
-
GDL ArchiCAD 11 17
2D:HOTSPOT2 POLY2_ TEXT2 FRAGMENT2 . .
3D:MULX MULY MULZADD MUL ROT
2D:MUL2PRISM 4, 1, 3, 0,
3, 3, -3, 3,-3, 0
ADDZ -1MUL 0.666667, 0.666667, 1PRISM 4, 1, 3, 0,
3, 3, -3, 3,-3, 0
ADDZ -1MUL 0.666667, 0.666667, 1PRISM 4, 1, 3, 0,
3, 3, -3, 3,-3, 0
MUL , , , , . . .
-
18 GDL ArchiCAD 11
, , , .
3D:BPRISM_ BWALL_ CWALL_ XWALL_CROOF_ FPRISM_ SPRISM_ EXTRUDE
PYRAMID REVOLVE RULEDSWEEP TUBE TUBEA COONSMESH MASSLIGHT PICTURE ,
. . ( ) , . CUTPLANE, CUTPOLY, CUTPOLYA, CUTSHAPE CUTEND.2D-PICTURE2 POLY2_ASPLINE2 SPLINE2_A
FOR NEXTDO WHILE ENDWHILEREPEAT UNTILIF THEN ELSE ENDIF GOTO
GOSUBRETURN END EXIT , , , . , , . -
GDL ArchiCAD 11 19
FOR I = 1 TO 5PRISM_ 8, 0.05,
-0.5, 0, 15,-0.5, -0.15, 15,0.5, -0.15, 15,0.5, 0, 15,0.45, 0,
15,0.45, -0.1, 15,-.45, -0.1, 15,-0.45, 0, 15ADDZ 0.2NEXT I
GDL . . .
GDL . GDL-. , .
GDL , .
: , , , GDL-, .
GDL. , , .
3D- ArchiCAD ; , — . , .
-
20 GDL ArchiCAD 11
3D-, , . ArchiCAD . 3D- 3D-. : ; , ; , . , , . 3D-. ArchiCAD — ,
, — .ArchiCAD3D- , x, y z ; (). ArchiCAD — , . , . x y . z 3D. . , ,
.? GDL . , BLOCK , . . , BLOCK , . , ? . BLOCK . BLOCK. / . ,
. -
GDL ArchiCAD 11 21
GDL GDL- ArchiCAD , , , . . , — , . 3D- , , , . ArchiCAD ArchiFM
GDL. , , , . . GDL- . , (, DXF, Zoom, Alias Wavefront), 3D-
ArchiCAD. GDL BINARY.GDL- ArchiCAD , . GDL- ; , , . GDL- , MASTER_GDL MASTEREND_GDL.,
MASTER_GDL, , /, , ., MASTEREND_GDL, , /, ( , , , ). . , ,
.MASTER_GDL- MASTEREND_GDL- , , 3D- ( 3D-), (. VALUES . 185), GDL.
ArchiCAD ( ArchiCAD , , GDL, ArchiCAD, , ArchiCAD). -
22 GDL ArchiCAD 11
-
GDL ArchiCAD 11 23
GDL GDL, , , , . .
GDL GDL , . , . , . GDL END EXIT, .
GDL . ( GDL, , ), , «=» .
, ( _). (,) , . (:) GDL, . (!) , . . . .
, . — , , (:). . . . GOTO GOSUB.
GDL- , : _() ~ ! : , ; . + * / ^ = < > = # ( ) [ ]{ } @
& |( ) » ‘ ` ‘ -
GDL
24 GDL ArchiCAD 11
Unicode, (, , `, ), , (, , ). , , , . — 255 . ArchiCAD, GDL,
Unicode, , . . :\ \n t new line . 1′-6″*1′-2′ ‘— : 255 ; ‘_’ ‘~’; , ‘_’ ~; . GDL, (). ArchiCAD, .
GDL ( ), . : .
-
GDL
GDL ArchiCAD 11 25
, , , , , . , 0 (). . . ( ArchiCAD . 223). , . , . , , . . , ,
MASTER_GDL. ArchiCAD. =, ., , . 32 . , . GDL A..Z.
, : . , , , , . . , , , , , . — , , , , ( ), . , , , . , , , , (
‘=’ », AND, OR, EXOR; IF GOTO, ). , , , , . -
GDL
26 GDL ArchiCAD 11
, . / , , . — . , MASTER_GDL, .
[aaa] , ( , , ).
{n} .
… .
variable GDL.
prompt , .
_
_
, .
______ GDL.
-
GDL ArchiCAD 11 27
, GDL (, , ), .
GDL . GDL . , , , z. . -, . -, . , . . . . , , , . , , . .
ADD, MUL ROTZ .
ADD2ADD2 x, y
:ADD2 a, b
X
Y
X
Y
b
a
-
28 GDL ArchiCAD 11
MUL2MUL2 x, y
ROT2ROT2 alpha
:ROT2 beta
ADDXADDX dx
ADDYADDY dy
ADDZADDZ dz
dx, dy dz .
X
Y
X
Y
beta
-
GDL ArchiCAD 11 29
ADDADD dx, dy, dz
ADDX dx: ADDY dy: ADDZ dz. , DEL 1.:ADD a,b,c
MULXMULX mx
MULYMULY my
MULZMULZ mz
. mx, my, mz ( ).
MULMUL mx, my, mz
MULX mx: MULY my: MULZ mz. , DEL 1.
c
b
Z
a
Z
Y
Y
X
X
-
30 GDL ArchiCAD 11
ROTXROTX alphax
ROTYROTY alphay
ROTZROTZ alphaz
alphax, alphay, alphaz .:
ROTZ beta
ROTROT x, y, z, alpha
, (x,y,z), alpha . , DEL 1.
XFORMXFORM a11, a12, a13, a14,
a21, a22, a23, a24,a31, a32, a33, a34
. GDL . .
Y
X
X
Z
Y
beta
-
GDL ArchiCAD 11 31
x’ = a11 * x + a12 * y + a13 * z + a14y’ = a21 * x + a22 * y +
a23 * z + a24z’ = a31 * x + a32 * y + a33 * z + a34:A=60B=30XFORM
2, COS(A), COS(B)*0.6, 0,0, SIN(A), SIN(B)*0.6, 0,0, 0, 1, 0
BLOCK 1, 1, 1
DEL nDEL n [, begin_with]
n . begin_with , n , . , . begin_with , n , begin_with. 1.
begin_with , . n , , . -
32 GDL ArchiCAD 11
DEL TOPDEl TOP
.
NTRNTR ()
.: BLOCK 1, 1, 1ADDX 2ADDY 2.5ADDZ 1.5ROTX -60ADDX 1.5BLOCK 1,
0.5, 2DEL 1, 1 ! ADDX 2BLOCK 1, 0.5, 1DEL 1, NTR() -2 ! ADDZ
1.5BLOCK 1, 0.5, 2DEL -2, 3 ! ROTX -60! ADDY 2.5BLOCK 1, 0.5, 2
-
GDL ArchiCAD 11 33
GDL , . ( , ), . , 3D-, , , , .
BLOCKBLOCK a, b, c
BRICKBRICK a, b, c
, , a, b , z. ( ). : a, b, c >= 0
CYLINDCYLIND h, r
z, h , . h=0, -. r=0, z.
Y
b
X
Z
a
c
r
Z
Y
X
r
Z
Y
X
h
-
34 GDL ArchiCAD 11
SPHERESPHERE r
r.
ELLIPSELLIPS h, r
. — . , z, h.:ELLIPS r, r !
Y
X
Z
r
rY
Z
X
h
-
GDL ArchiCAD 11 35
CONECONE h, r1, r2, alpha1, alpha2
. alpha1 alpha2 z; r1 r2 , h — z. h=0, alpha1 alpha2 , — .alpha1
alpha2 . :0 < alpha1 < 180 0 < alpha2 < 180:CONE h, r,
0, 90, 90 !PRISMPRISM n, h, x1, y1, … xn, yn
x-y (. POLY . 62 POLY_ . 62). z abs(h). h. -. : n >= 3
r2
r1Y
Z
X
Y Y
Z
Y
halpha1
alpha2
Y
n
Z
X 12
h
-
36 GDL ArchiCAD 11
PRISM_PRISM_ n, h, x1, y1, s1, … xn, yn, sn
CPRISM_ , . : n >= 3si: , .
.
. . 141 .:
PRISM_ 4,1, PRISM_ 4,1,0,0,15, 0,0,7,1,1,15, 1,1,5,2,0,15,
2,0,15,1,3,15 1,3,15 -
GDL ArchiCAD 11 37
ROTX 90PRISM_ 26, 1.2,
0.3, 0, 15,0.3, 0.06, 15,0.27, 0.06, 15,0.27, 0.21, 15,0.25,
0.23, 15,-0.25, 0.23, 15,-0.27, 0.21, 15,-0.27, 0.06, 15,-0.3,
0.06, 15,-0.3, 0, 15,0.3, 0, -1, ! 0.10, 0.03, 15,0.24, 0.03,
15,0.24, 0.2, 15,0.10, 0.2, 15,0.10, 0.03, -1, ! 0.07, 0.03,
15,0.07, 0.2, 15,-0.07, 0.2, 15,-0.07, 0.03, 15,0.07, 0.03, -1, !
-0.24, 0.03, 15,-0.24, 0.2, 15,-0.1, 0.2, 15,-0.1, 0.03, 15,-0.24,
0.03, -1 ! -
38 GDL ArchiCAD 11
j7 = 0 j7 = 1R=1H=3PRISM_ 9, H, -R, R, 15, COS(180)*R,
SIN(180)*R, 15, COS(210)*R, SIN(210)*R, 15, COS(240)*R, SIN(240)*R,
15, COS(270)*R, SIN(270)*R, 15, COS(300)*R, SIN(300)*R, 15,
COS(330)*R, SIN(330)*R, 15, COS(360)*R, SIN(360)*R, 15, R, R,
15ADDX 5PRISM_ 9, H, -R, R, 15, COS(180)*R, SIN(180)*R, 64+15,
COS(210)*R, SIN(210)*R, 64+15, COS(240)*R, SIN(240)*R, 64+15,
COS(270)*R, SIN(270)*R, 64+15, COS(300)*R, SIN(300)*R, 64+15,
COS(330)*R, SIN(330)*R, 64+15, COS(360)*R, SIN(360)*R, 64+15, R, R,
15 -
GDL ArchiCAD 11 39
CPRISM_CPRISM_ top_material, bottom_material, side_material,
n, h, x1, y1, s1, … xn, yn, sn
PRISM_. / , . PRISM_. : n >= 3. . 163.si: , .
.. . 141 .:
CPRISM_ «», 0, T_, !»» — !0 — .!T_ — !( )
13, 0.2,0, 0, 15,2, 0, 15,2, 2, 15,0, 2, 15,0, 0, -1, ! 0.2,
0.2, 15,1.8, 0.2, 15,1.0, 0.9, 15,0.2, 0.2, -1, ! 0.2, 1.8, 15,1.8,
1.8, 15,1.0, 1.1, 15,0.2, 1.8, -1 ! -
40 GDL ArchiCAD 11
BPRISM_BPRISM_ top_material, bottom_material, side_material,
n, h, radius, x1, y1, s1, … xn, yn, sn
, , CPRISM_. radius. CPRISM_ — , . . . z .. BWALL_ . 49 .si: ,
... . 141 . ( BPRISM_ CPRISM_):BPRISM_ «», «», «», 3, 0.4, 1, ! =
1 0, 0, 15, 5, 0, 15, 1.3, 2, 15 -
GDL ArchiCAD 11 41
BPRISM_ «», «», «», 17, 0.3, 5,
0, 7.35, 15, 0, 2, 15, 1.95, 0, 15, 8, 0, 15, 6.3, 2, 15, 2, 2,
15, 4.25, 4, 15, 8, 4, 15, 8, 10, 15, 2.7, 10, 15, 0, 7.35, -1, 4,
8.5, 15, 1.85, 7.05, 15, 3.95, 5.6, 15, 6.95, 5.6, 15, 6.95, 8.5,
15, 4, 8.5, -1FPRISM_FPRISM_ top_material, bottom_material, side_material,
hill_material,n, thickness, angle,hill_height,x1, y1, s1,…xn, yn, sn
PRISM_ ::hill_material, angle hill_height parameters.
.hill_material: . -
42 GDL ArchiCAD 11
angle: . : 0 = 3, hill_height < thicknesssi: , .
.. . 141 .
.RESOL 10FPRISM_ » «, » «, » «, » «,
4, 1.5, 0, 1.0, ! = 00, 0, 15,5, 0, 15,5, 4, 15,0, 4, 15
1
n
2
hill_height
thickness
angle
-
GDL ArchiCAD 11 43
FPRISM_ » «, » «, » «, » «,
10, 2, 45, 1,0, 0, 15,6, 0, 15,6, 5, 15,0, 5, 15,0, 0, -1,1, 2,
15,4, 2, 15,4, 4, 15,1, 4, 15,1, 2, -1HPRISM_HPRISM_ top_mat, bottom_mat, side_mat,
hill_mat,n, thickness, angle, hill_height, status,x1, y1,
s1,…,xn, yn, snFPRISM_, , . status: : 0: (FPRISM_). 1: .
SPRISM_SPRISM_ top_material, bottom_material, side_material,
n, xb, yb, xe, ye, h, angle,x1, y1, s1, … xn, yn, sn
CPRISM_. -. CROOF_. ( ). .
-
44 GDL ArchiCAD 11
xb, yb, xe, ye: (),angle: , (
),si: ,
. .
. . 141 .: z- 0.
:SPRISM_ », », »,
6,0, 0, 11, 6, 2, -10.0,0, 0, 15,10, 1, 15,11, 6, 15,5, 7,
15,4.5, 5.5, 15, 1, 6, 15SPRISM_{2} top_material, bottom_material, side_material, n,xtb,
ytb, xte, yte, topz, tangle,xbb, ybb, xbe, ybe, bottomz, bangle,x1,
y1, s1, mat1,…xn, yn, sn, matnSPRISM_ , x-y. CROOF_. ( ). . :xtb, ytb, xte, yte: () ,topz: ‘z’
,tangle: , ( ),xbb, ybb, xbe, ybe: () ,n
h
1
2
(x ,y )b b(x ,y )ee
angle
-
GDL ArchiCAD 11 45
bottomz: ‘z’ ,bangle: , ( ),si: , .
.. . 141 .
mati: , .
:SPRISM_{2} », », », 11,
0, 0, 11, 0, 30, -30.0,0, 0, 0, 11, 2, 30.0,
0, 0, 15, IND (MATERIAL, ‘C10’),10, 1, 15, IND (MATERIAL,
‘C11’),11, 6, 15, IND (MATERIAL, ‘C12’),5, 7, 15, IND (MATERIAL,
‘C13’),4, 5, 15, IND (MATERIAL, ‘C14’),1, 6, 15, IND (MATERIAL,
‘C10’),0, 0, -1, IND (MATERIAL, ‘C15’),9, 2, 15, IND (MATERIAL,
‘C15’),10, 5, 15, IND (MATERIAL, ‘C15’),6, 4, 15, IND (MATERIAL,
‘C15’),9, 2, -1, IND (MATERIAL, ‘C15’) -
46 GDL ArchiCAD 11
SLABSLAB n, h, x1, y1, z1, … xn, yn, zn
. -. , , x-y. h. . , , . , , . :n >= 3
SLAB_SLAB_ n, h, x1, y1, z1, s1, … xn, yn, zn, sn
SLAB , . PRISM_.si: , .
.
. . 141 .
Y
Z
X
-
GDL ArchiCAD 11 47
CSLAB_CSLAB_ top_material, bottom_material, side_material,
n, h, x1, y1, z1, s1, … xn, yn, zn, sn
SLAB_; / , . , SLAB_.. . 163, . 245 > IND . 223.si: , .
.
. . 141 .
CWALL_CWALL_ left_material, right_material, side_material,
height, x1, x2, x3, x4, t,mask1, mask2, mask3, mask4,n,x_start1,
y_low1, x_end1, y_high1, frame_shown1, …x_startn, y_lown, x_endn,
y_highn, frame_shownn,m, a1, b1, c1, d1,…am, bm, cm, dmleft_material, right_material, side_material: / , . ( x.)
. . 163 . 245 > IND. ,
x. x-z. height: .
-
48 GDL ArchiCAD 11
x1, x2, x3, x4: , x-y (. . ). , x1 = x4 = 0, x2 = x3 = ,
t: . , t < 0. (), t > 0, » ,
t = 0.mask1, mask2, mask3, mask4:
.maski = j1 + 2*j2 + 4*j3 + 8*j4 j1, j2, j3, j4 0 1. j1, j2, j3,
j4 , (1) (0).n: .x_starti, y_lowi, x_endi, y_highi: . .
frame_showni values:1 — ;0 — . .
frame_showni = -(1*j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 +
64*j7 + 128*j8), j1, j2… j8 0 1. j1 j4 , j5 j8 — , . , , , ,
.x4 x2x3x1
Y
X
t
j4
j3
Z
X
Y
j1
mask 1
j2
mask 4 mask 2
mask 3
X
Z
i
i
i
i
heig
ht
x_start
x_end
y_lo
w y_hi
gh
-
GDL ArchiCAD 11 49
m: . ai, bi, ci, di: :
[ai*x + bi*y + ci*z = di]. , ( ai*x + bi*y + ci*z > di) .
BWALL_BWALL_ left_material, right_material, side_material,
height, x1, x2, x3, x4, t, radius,mask1, mask2, mask3,
mask4,n,x_start1, y_low1, x_end1, y_high1,
frame_shown1,…x_startn, y_lown, x_endn, y_highn, frame_shownn,m,
a1, b1, c1, d1,…am, bm, cm, dm, , CWALL_. radius. CWALL_ x-z , . , . z . (. : RADIUS . 154,
RESOL . 155 TOLER . 156). . CWALL_ . 47 .j4
j3
j1
j2
j5
j7
j6
j8
Y
Z
X
[ai, bi, ci]
-
50 GDL ArchiCAD 11
: BWALL_ CWALL_.
ROTZ -60BWALL_ 1, 1, 1,
4, 0, 6, 6, 0,0.3, 2,15, 15, 15, 15,5,1, 1, 3.8, 2.5, -255,1.8,
0, 3, 2.5, -255,4.1, 1, 4.5, 1.4, -255,4.1, 1.55, 4.5,
1.95,-255,4.1, 2.1, 4.5, 2.5, -255,1, 0, -0.25, 1, 3 -
GDL ArchiCAD 11 51
XWALL_XWALL_ left_material, right_material,
vertical_material,horizontal_material,height, x1, x2, x3, x4,y1, y2, y3, y4,t, radius,log_height,
log_offset,mask1, mask2, mask3, mask4,n,x_start1, y_low1, x_end1,
y_high1,frame_shown1, …x_startn, y_lown, x_endn,
y_highn,frame_shownn,m, a1, b1, c1, d1,…am, bm, cm, dm,status, BWALL_. vertical_material, horizontal_material: / ,y1, y2, y3,
y4: — ( ).Y
Xy3
y1
y2
y4
x1 x2 x3 x4
-
52 GDL ArchiCAD 11
log_height, log_offset: , . .
status: .status = j1 + 2*j2 + 4*j3 + 32*j6 + 64*j7 + 128*j8 +
256*j9j1: .j2: .j3: ,j6: ,j7: .j8: .j9: .:XWALL_ «», «», «», «»,3.0,0.0, 4.0, 4.0, 0.0,0.0, 0.0, 0.3,
1.2,1.2, 0.0,0.0, 0.0,15, 15, 15, 15,3,0.25, 0.0, 1.25, 2.5,
-255,1.25, 1.5, 2.25, 2.5, -255,2.25, 0.5, 3.25, 2.5, -255, 0logoffset
logheight
-
GDL ArchiCAD 11 53
XWALL_{2}XWALL_{2} left_material, right_material,
vertical_material,horizontal_material,height, x1, x2, x3, x4,y1, y2, y3, y4, t, radius,log_height,
log_offset,mask1, mask2, mask3, mask4,n,x_start1, y_low1, x_end1,
y_high1,sill_depth1, frame_shown1, …x_startn, y_lown, x_endn,
y_highn,sill_depthn, frame_shownn,m, a1, b1, c1, d1,…am, bm, cm,
dm,status, XWALL_. silldepthi: . j9 frame_showni ,
; silldepthi .
frame_showni = -(1*j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 +
64*j7 + 128*j8 + 256*j9 + 512*j10), . j1, j2 … j8 , CWALL_ XWALL_. j9 . j9 1, . j10 —
-
54 GDL ArchiCAD 11
, . j10 1, — : — . :ROTZ 90xWALL_{2} «C13», «C11», «C12»,
«C12»,2, 0, 4, 4, 0,0, 0, 1, 1,1, 0,0, 0,15, 15, 15, 15,1,1, 0.9, 3,
2.1, 0.3, -(255 + 256),0,0BODY -1DEL 1ADDX 2xWALL_{2} «C13», «C11», «C12», «C12»,
2, 0, 2 * PI, 2 * PI, 0,0, 0, 1, 1,0, 0,15, 15, 15, 15,1,1.6,
0.9, 4.6, 2.1, 0.3, -(255 + 256),0,0BODY -1
ADDX 4xWALL_{2} «C13», «C11», «C12», «C12»,
2, 0, 2 * PI, 2 * PI, 0,0, 0, 1, 1,1, 2,0, 0,15, 15, 15,
15,1,1.6, 0.9, 4.6, 2.1, 0.3, -(255 + 256 + 512),0,0 -
GDL ArchiCAD 11 55
BEAMBEAM left_material, right_material, vertical_material,
top_material, bottom_material,height, x1, x2, x3, x4,y1, y2, y3, y4, t,mask1, mask2, mask3,
mask4. XWALL_. top_material, bottom_material: .:BEAM 1, 1, 1, 1,
1,0.3, 0.0, 7.0, 7.0, 0.0,0.0, 0.0, 0.1, 0.1, 0.5,15, 15, 15,
15CROOF_CROOF_ top_material, bottom_material, side_material,
n, xb, yb, xe, ye, height, angle, thickness,x1, y1, alpha1,
s1,…,xn, yn, alphan, sn.top_material, bottom_material, side_material: / ,
.n: .xb, yb, xe, ye: ().height: (
).angle:
, . .thickness: , .
-
56 GDL ArchiCAD 11
xi, yi: the .alphai: , i-o
, , . : -90 < alphai < 90. , . , , , , — .
si: , . .
. . 141 . :n >= 3.CROOF_ 1, 1, 1, !
9,0, 0,1, 0, ! (xb,yb)(xe,ye)0.0, ! -30, ! 2.5, ! 0, 0, -60,
15,10, 0, 0, 15,10, 20, -30, 15,0, 20, 0, 15,0, 0, 0, -1,2, 5, 0,
15,8, 5, 0, 15,5, 15, 0, 15,2, 5, 0, -1 -
GDL ArchiCAD 11 57
L=0.25R=(0.6^2+L^2)/(2*L)A=ASN(0.6/R)CROOF_ » «, «», «»,
16, 2, 0, 0,0, 0, 45, -0.2*SQR(2),0, 0, 0, 15,3.5, 0, 0, 15,3.5,
3, -45, 15,0, 3, 0, 15,0, 0, 0, -1,0.65, 1, -45, 15,1.85, 1, 0,
15,1.85, 2.4-L, 0, 13,1.25, 2.4-R, 0, 900,0, 2*A, 0, 4015,0.65, 1,
0, -1,2.5, 2, 45, 15,3, 2, 0, 15,3, 2.5, -45, 15,2.5, 2.5, 0,
15,2.5, 2, 0, -1 -
58 GDL ArchiCAD 11
MESHMESH a, b, m, n, mask,
z11, z12, … z1m,z21, z22, … z2m,…zn1, zn2, … znm
D- . b. n m , . zij .:mask = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7
j1, j3, j5, j6, j7 0 1.j1 (1): .j3 (4): .j5 (16): .j6 (32): ,j7
(64): ,. :m >= 2, n >= 2
.MESH 50, 30, 5, 6, 1+4+16+32+64,
2, 4, 6, 7, 8,10, 3, 4, 5, 6,7, 9, 5, 5, 7, 8, 10, 9, 4, 5,6, 7,
9, 8, 2,4, 5, 6, 8, 6i
n
m1
Y
Zij
1
Z
X
jb
a
-
GDL ArchiCAD 11 59
MESH 90,100, 12,8, 1+4+16+32+64,
17,16,15,14,13,12,11,10,10,10,10, 9, 16,14,13,11,10, 9, 9,
9,10,10,12,10, 16,14,12,11, 5, 5, 5, 5, 5,11,12,11, 16,14,12,11, 5,
5, 5, 5, 5,11,12,12, 16,14,12,12, 5, 5, 5, 5, 5,11,12,12,
16,14,12,12, 5, 5, 5, 5, 5,11,13,14,
17,17,15,13,12,12,12,12,12,12,15,15,
17,17,15,13,12,12,12,12,13,13,16,16ARMCARMC r1, r2, l, h, d, alpha
, . . . . alpha . :r1 >= r2 + dr1
-
60 GDL ArchiCAD 11
ARMEARME l, r1, r2, h, d
, y-z. . . . :r1 >= r2+dl >= h*(1-(r2-d)2/r12):ELLIPS
3,4FOR i=1 TO 6 ARME 6,4,0.5,3,3.7-0.2*i ROTZ 30NEXT iELBOWELBOW r1, alpha, r2
x-z ( ). r1, alpha, 2. alpha . :r1 > r2
Z
Y
r2
l
h
r1
d
Z
X
r1alp
ha
r2
-
GDL ArchiCAD 11 61
:ROTY 90ELBOW 2.5, 180, 1ADDZ -4CYLIND 4, 1ROTZ -90MULZ -1ELBOW
5, 180, 1DEL 1ADDX 10CYLIND 4, 1ADDZ 4ROTZ 90ELBOW 2.5, 180,1, , 3D- , , , .
HOTSPOT HOTSPOT x, y, z [, unID [, paramReference, flags] [,
displayParam]]3D (x, y, z). unID: 3D-. ,
. paramReference: ,
.displayParam: ,
paramRefrence. .. . 135 HOTSPOT.
LIN_ LIN_ x1, y1, z1, x2, y2, z2
, P1 (x1,y1,z1) P2 (x2,y2,z2).
-
62 GDL ArchiCAD 11
RECT RECT a, b
— b. : a, b >= 0
POLY POLY n, x1, y1, … xn, yn
n . i- (xi, yi, 0). : n >= 3
POLY_ POLY_ n, x1, y1, s1, … xn, yn, sn
POLY , . si = 0, , (xi,yi), . si = 1, . si = -1 , . .. . 143
.: n >= 3
X
Y
a
b
n
X
1 32
Y
n
X
1 32
Y
n
X
1 32
Y
-
GDL ArchiCAD 11 63
PLANE PLANE n, x1, y1, z1, … xn, yn, zn
n . i- (xi, yi, zi). , , . : n >= 3
PLANE_ PLANE_ n, x1, y1, z1, s1, … xn, yn, zn, sn
PLANE , , POLY_, . .. . 143. : n >= 3
CIRCLE CIRCLE r
— r.
r
-
64 GDL ArchiCAD 11
ARC ARC r, alpha, beta
( ) ( ) x-y , alpha beta, r. alpha beta .
, D- . , . , , PRISM_ CYLIND., : EXTRUDE PYRAMID REVOLVE, :
RULED SWEEP TUBE TUBEA -. (. ). ( RULED SWEEP) . ., :COONS,
:MASSalpha
beta
Y
X
-
GDL ArchiCAD 11 65
( RULED). ( , ).
. .
, , . , .mask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7
j1, j2, j3, j4, j5, j6, j7 0 1. j1, j2, j3, j4 , (1) (0) . j5, j6,
j7 , (1) ,(0), .j1: .j2: ,.j3: ,.j4: .j5: .j6: .j7: / , . , 127.
, .0: / , , .1: / , , .
-
66 GDL ArchiCAD 11
-1: EXTRUDE: , .
.. . 143 . 3D- 1. 0 , . .
EXTRUDEEXTRUDE n, dx, dy, dz, mask, x1, y1, s1,
…, xn, yn, sn
. — . (dx, dy, dz). PRISM SLAB. , -. , PRISM_. .n: .mask: , (
).si: , .
.
:n > 2:mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 j1, j2, j3,
j5, j6 0 1j1 (1): .j2 (2): .j3 (4): ( ) .j5 (16): .Z
X 1
2
n
Y
j1
j2
j3
j5
j6
-
GDL ArchiCAD 11 67
j6 (32): . :0: , , .1: , , .-1: ,
. .. . 143 ..EXTRUDE 14, 1, 1, 4, 1+2+4+16+32,
0, 0, 0,1, -3, 0,2, -2, 1,3, -4, 0,4, -2, 1,5, -3, 0,6, 0, 0,3,
4, 0,0, 0, -1,2, 0, 0,3, 2, 0,4, 0, 0,3, -2, 0,2, 0, -1 -
68 GDL ArchiCAD 11
A=5: B=5R=2: S=1C=R-SD=A-RE=B-REXTRUDE 28, -1, 0, 4,
1+2+4+16+32,0, 0, 0,D+R*SIN(0), R-R*COS(0), 1,D+R*SIN(15), R-R*COS(15),
1,D+R*SIN(30), R-R*COS(30), 1,D+R*SIN(45), R-R*COS(45),
1,D+R*SIN(60), R-R*COS(60), 1,D+R*SIN(75), R-R*COS(75),
1,D+R*SIN(90), R-R*COS(90), 1,A, B, 0,0, B, 0,0, 0, -1,C, C,
0,D+S*SIN(0), R-S*COS(0), 1,D+S*SIN(15), R-S*COS(15),
1,D+S*SIN(30), R-S*COS(30), 1,D+S*SIN(45), R-S*COS(45),
1,D+S*SIN(60), R-S*COS(60), 1,D+S*SIN(75), R-S*COS(75),
1,D+S*SIN(90), R-S*COS(90), 1,A-C,B-C,0,R-S*COS(90), E+S*SIN(90),
1,R-S*COS(75), E+S*SIN(75), 1,R-S*COS(60), E+S*SIN(60),
1,R-S*COS(45), E+S*SIN(45), 1,R-S*COS(30), E+S*SIN(30),
1,R-S*COS(15), E+S*SIN(15), 1,R-S*COS(0), E+S*SIN(0), 1,C, C,
-1 -
GDL ArchiCAD 11 69
PYRAMIDPYRAMID n, h, mask, x1, y1, s1, … xn, yn, sn
. x-y. (0, 0, h).n: .mask: ( )
.si: . :h > 0 n > 2:mask = j1 + 4*j3 + 16*j5 j1, j3, j5 0
1j1 (1): .j3 (4): ( ) .j5 (16): . :0: , , .1: , , . .. . 143 .1
Z
2
n
X
j3
j1
Y
j5
h
-
70 GDL ArchiCAD 11
:PYRAMID 4, 1.5, 1+4+16,
-2, -2, 0,-2, 2, 0,2, 2, 0,2, -2, 0
PYRAMID 4, 4, 21,-1, -1, 0,1, -1, 0,1, 1, 0,-1, 1, 0
ADDX -1.4ADDY -1.4GOSUB 100ADDX 2.8GOSUB 100ADDY 2.8 GOSUB
100ADDX -2.8GOSUB 100END100:PYRAMID 4, 1.5, 21,-0.25, -0.25, 0,0.25, -0.25, 0,0.25, 0.25, 0,-0.25, 0.25, 0
RETURN
-
GDL ArchiCAD 11 71
REVOLVEREVOLVE n, alpha, mask, x1, y1, s1, … xn, yn, sn
x-y .n: . alpha: .mask: , (
alpha < 360) .si: . :n >= 2yi >= 0.0yi yi + 1 ( )
0.:mask = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 j1,
j2, j3, j4, j5, j6, j7 0 1j1 (1): .j2 (2): .j3 (4): .j4 (8): .j5
(16): .j6 (32): .j7 (64): , . :0: , , .1: , , .2: ArchiCAD/ArchiFM
Z-buffer, , , .
j6
j1
j3
j2
j4
1
n
Z
2
Y
j5
alpha
-
72 GDL ArchiCAD 11
. . , 0.
.. . 143 .REVOLVE{2} n, alphaOffset, alpha, mask, siedMat, x1,
y1, s1, mat1, …xn, yn, sn, matnREVOLVE, .alphaOffset: .alpha: , .sideMat: .mati: , i- .:
-
GDL ArchiCAD 11 73
ROTY -90REVOLVE 22, 360, 1+64,
0, 1.982, 0,0.093, 2, 0,0.144, 1.845, 0,0.220, 1.701, 0,0.318,
1.571, 0,0.436, 1.459, 0,0.617, 1.263, 0,0.772, 1.045, 0,0.896,
0.808, 0,0.987, 0.557, 0,1.044, 0.296, 0,1.064, 0.030, 0,1.167,
0.024, 0,1.181, 0.056, 0,1.205, 0.081, 0,1.236, 0.096, 0,1.270,
0.1, 0,1.304, 0.092, 0,1.333, 0.073, 0,1.354, 0.045, 0,1.364,
0.012, 0,1.564, 0, 0 -
74 GDL ArchiCAD 11
2: 2:ROTY -90 ROTY -90REVOLVE 26, 180, 16+32, REVOLVE 18, 180,
48,7, 1, 0, 7, 1, 0,6.0001, 1, 1, 6, 1, 2,6, 1, 0, 5.5, 2,
2,5.9999, 1.0002, 1, 5, 1, 2,5.5001, 1.9998, 1, 4, 1, 2,5.5, 2, 0,
3+COS(15), 1+SIN(15), 1,5.4999, 1.9998, 1, 3+COS(30), 1+SIN(30),
1,5.0001, 1.0002, 1, 3+COS(45), 1+SIN(45), 1,5, 1, 0, 3+COS(60),
1+SIN(60), 1,4.9999, 1, 1, 3+COS(75), 1+SIN(75), 1,4.0001, 1, 1, 3,
2, 1, 4, 1, 0, 3+COS(105), 1+SIN(105), 1,3+COS(15), 1+SIN(15), 1,
3+COS(120), 1+SIN(120), 1,3+COS(30), 1+SIN(30), 1, 3+COS(135),
1+SIN(135), 1,3+COS(45), 1+SIN(45), 1, 3+COS(150), 1+SIN(150),
1,3+COS(60), 1+SIN(60), 1, 3+COS(165), 1+SIN(165), 1,3+COS(75),
1+SIN(75), 1, 2, 1, 2,3, 2, 1, 1, 1, 03+COS(105), 1+SIN(105),
1,3+COS(120), 1+SIN(120), 1,3+COS(135), 1+SIN(135), 1,3+COS(150),
1+SIN(150), 1,3+COS(165), 1+SIN(165), 1,2, 1, 0,1.9999, 1, 0,1, 1,
0RULEDRULED n, mask,
u1, v1, s1, … un, vn, sn,x1, y1, z1, … xn, yn, zn
-
GDL ArchiCAD 11 75
RULED{2}RULED{2} n, mask,
u1, v1, s1, … un, vn, sn,x1, y1, z1, … xn, yn, zn
RULED — , , . . GDL, . , RULED{2}, ( ), , . ( RULED , .)n:
.mask: , ,. , , .
ui, vi: .si: .xi, yi, zi: . :n > 1:mask = j1 + 2*j2 + 4*j3 +
16*j5 + 32*j6 + 64*j7 j1, j2, j3, j5, j6, j7 0 1.j1 (1): .j2 (2): (
, ).j3 (4): ( ) ( ).j5 (16): .j6 (32): .j7 (64): , . :0: , , .j3
j61
n
j2
j5
1
Z
2
n
Xj1
Y
2
-
76 GDL ArchiCAD 11
1: , , .:
R=3RULED 16, 1+2+4+16+32,
COS(22.5)*R, SIN(22.5)*R, 0,COS(45)*R, SIN(45)*R, 0,COS(67.5)*R,
SIN(67.5)*R, 0,COS(90)*R, SIN(90)*R, 0,COS(112.5)*R, SIN(112.5)*R,
0,COS(135)*R, SIN(135)*R, 0,COS(157.5)*R, SIN(157.5)*R,
0,COS(180)*R, SIN(180)*R, 0,COS(202.5)*R, SIN(202.5)*R,
0,COS(225)*R, SIN(225)*R, 0,COS(247.5)*R, SIN(247.5)*R,
0,COS(270)*R, SIN(270)*R, 0,COS(292.5)*R, SIN(292.5)*R,
0,COS(315)*R, SIN(315)*R, 0,COS(337.5)*R, SIN(337.5)*R,
0,COS(360)*R, SIN(360)*R, 0,COS(112.5)*R, SIN(112.5)*R,
1,COS(135)*R, SIN(135)*R, 1,COS(157.5)*R, SIN(157.5)*R,
1,COS(180)*R, SIN(180)*R, 1,COS(202.5)*R, SIN(202.5)*R,
1,COS(225)*R, SIN(225)*R, 1,COS(247.5)*R, SIN(247.5)*R,
1,COS(270)*R, SIN(270)*R, 1,COS(292.5)*R, SIN(292.5)*R,
1,COS(315)*R, SIN(315)*R, 1,COS(337.5)*R, SIN(337.5)*R,
1,COS(360)*R, SIN(360)*R, 1,COS(22.5)*R, SIN(22.5)*R, 1,COS(45)*R,
SIN(45)*R, 1,COS(67.5)*R, SIN(67.5)*R, 1,COS(90)*R, SIN(90)*R,
1 -
GDL ArchiCAD 11 77
SWEEPSWEEP n, m, alpha, scale, mask,
u1, v1, s1, … un, vn, sn,x1, y1, z1, … xm, ym, zm
, . . x-y. , z x-y. (xi, yi, zi) (xi-1, yi-1, zi-1) (xi, yi,
zi).SWEEP , , , .n: . m: .alpha:.scale: p
.mask: ,
.ui, vi: .si: .xi, yi, zi: . :n > 1m > 1z1 < z2
-
78 GDL ArchiCAD 11
:mask = j1 + 2*j2 + 4*j3 + 16*j5 + 32*j6 + 64*j7 j1, j2, j3, j5,
j6, j7 0 1j1 (1): .j2 (2): .j3 (4): .j5 (16): .j6 (32): .j7 (64):
,. :0: , , .1: , , .
j3
j2
j5
j6
2
1
Z
2
n
Xj1
Y
m
1
-
GDL ArchiCAD 11 79
.. . 143 .:
SWEEP 4, 12, 7.5, 1, 1+2+4+16+32,-0.5, -0.25, 0,0.5, -0.25,
0,0.5, 0.25, 0,-0.5, 0.25, 0,0, 0, 0.5,0, 0, 1,0, 0, 1.5,0, 0, 2,0,
0, 2.5,0, 0, 3,0, 0, 3.5,0, 0, 4,0, 0, 4.5,0, 0, 5,0, 0, 5.5,0, 0,
6 -
80 GDL ArchiCAD 11
TUBETUBE n, m, mask,
u1, w1, s1,… un, wn, sn,x1, y1, z1, angle1,… xm, ym, zm,
anglem, . U-W U-V-W. V: . W: V z. U: V W . V , W . W . , , (u1, w1,
… un, wn). , , ( , ). .n: .m: .ui, wi: .si: .xi, yi, zi: .: , . , TUBE. , , . , : , , TUBE .
anglei: .
-
GDL ArchiCAD 11 81
:mask = j1 + 2*j2 + 16*j5 + 32*j6 + 64*j7 j1, j2, j5, j6, j7 0
1j1 (1): .j2 (2): .j5 (16): ( x2, y2, z2).j6 (32): ( xm-1, ym-1, zm-1)
.j7 (64):
, .
:n > 2 m > 3 :0: , , .1: , , . .. ArchiCAD 11.
W
U
Wm
m-1
21
alpha
V
U
-
82 GDL ArchiCAD 11
:
TUBE 4, 18, 16+32,
2.0, 0.0, 0,0.0, 0.0, 0,0.0, 0.4, 0,2.0, 0.4, 0,-1, 0, 0, 0,0,
0, 0, 0,4, 0, 0.1, 0,6, 0, 0.15, 0,6+4*SIN(15), 4 — 4*COS(15), 0.2, 0,6+4*SIN(30), 4 — 4*COS(30),
0.25, 0,6+4*SIN(45), 4 — 4*COS(45), 0.3, 0,6+4*SIN(60), 4 —
4*COS(60), 0.35, 0,6+4*SIN(75), 4 — 4*COS(75), 0.4, 0,10, 4, 0.45,
0,6+4*SIN(105), 4 — 4*COS(105), 0.5, 0,6+4*SIN(120), 4 —
4*COS(120), 0.55, 0,6+4*SIN(135), 4 — 4*COS(135), 0.6,
0,6+4*SIN(150), 4 — 4*COS(150), 0.65, 0,6+4*SIN(165), 4 —
4*cos(165), 0.7, 0,6, 8, 0.75, 0,0, 8, 1, 0,-1, 8, 1, 0 -
GDL ArchiCAD 11 83
TUBE 14, 6, 1+2+16+32, 0, 0,0, 0.03, 0,0, 0.03, 0.02, 0, 0.06,
0.02, 0, 0.05, 0.0699, 0, 0.05, 0.07, 1, 0.05, 0.15, 901, 1, 0,
801, 0.08, 90, 2000, 0.19, 0.15, 0, 0.19, 0.19, 0, 0.25, 0.19, 0,
0.25, 0.25, 0, 0, 0.25, 0, 0, 1, 0, 0, 0, 0.0001, 0, 0, 0, 0, 0, 0,
-0.8, 0, 0, 0, -0.8, 0.0001, 0, 0, -0.8, 1, 0, 0TUBE 3, 7, 16+32,
0, 0, 0, -0.5, 0, 0, 0, 0.5, 0,0.2, 0, -0.2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 3, 0, 5, 0, 3, 4, 5, 0,
3, 4, 0, 0, 3, 3.8, -0.2, 0 -
84 GDL ArchiCAD 11
TUBEATUBEA n, m, mask,
u1, w1, s1,… un, wn, sn,x1, y1, z1,… xm, ym, zm
TUBEA — , , TUBE. , (u1, w1, … un, wn) , — . . — REVOLVE., , .
.. . 143 .: -
GDL ArchiCAD 11 85
TUBEA 9, 7, 1 + 2 + 16 + 32, -1, 1, 0, 0, 2, 0, 0.8, 2, 0, 0.8,
1.6, 0, 0.8001, 1.6, 1, 3.2, 1.6, 0, 3.2, 2, 0, 4, 2, 0, 5, 1, 0,
0, -7, 0, 0, 0, 0, 4, 0, 1, 9, 3, 2.25, 9, 10, 2.25, 14, 10, 2.25,
20, 15, 5 -
86 GDL ArchiCAD 11
COONSCOONS n, m, mask,
x11, y11, z11, … x1n, y1n, z1n,x21, y21, z21, … x2n, y2n,
z2n,x31, y31, z31, … x3m, y3m, z3m,x41, y41, z41, … x4m, y4m,
z4m, .:mask = 4*j3 + 8*j4 + 16*j5 + 32*j6 + 64*j7 j3, j4, j5, j6,
j7 0 1j3 (4): 1- (x1, y1, z1) .j4 (8): 2- (x2, y2, z2) .j5 (16): 3-
(x3, y3, z3) .j6 (32): 4- (x4, y4, z4) .j7 (64): , . :n, m >
14(m)
2(n)
3(m)
1(n)
Z
Y
X
-
GDL ArchiCAD 11 87
:COONS 6, 6, 4+8+16+32+64, ! 1- , n=6 0, 0, 5, 1, 0, 4, 2, 0, 3,
3, 0, 2, 4, 0, 1, 5, 0, 0, ! 2- , n=6 0, 5, 0, 1, 5, 1, 2, 5, 2, 3,
5, 3, 4, 5, 4, 5, 5, 5, ! 3- , m=6 0, 0, 5, 0, 1, 4, 0, 2, 3, 0, 3,
2, 0, 4, 1, 0, 5, 0, ! 4- , m=6 5, 0, 0, 5, 1, 1, 5, 2, 2, 5, 3, 3,
5, 4, 4, 5, 5, 5 -
88 GDL ArchiCAD 11
ROTZ -90ROTY 90COONS 7, 6, 4+8+16+32+64, ! 1- , n=7 1, 2, 0,
0.5, 1, 0, 0.2, 0.5, 0, -0.5, 0, 0, 0.2, -0.5, 0, 0.5, -1, 0, 1,
-2, 0, ! 2- , n=7 6, 10, -2, 6.5, 4, -1.5, 5, 1, -1.2, 4, 0, -1, 5,
-1, -1.2, 6.5, -4, -1.5, 6, -10, -2, ! 3- , m=6 1, 2, 0, 2, 4,
-0.5, 3, 6, -1, 4, 8, -1.5, 5, 9, -1.8, 6, 10, -2, ! 4- , m=6 1,
-2, 0, 2, -4, -0.5, 3, -6, -1, 4, -8, -1.5, 5, -9, -1.8, 6, -10,
-2 -
GDL ArchiCAD 11 89
MASSMASS top_material, bottom_material, side_material,
n, m, mask, h,x1, y1, z1, s1,… xn, yn, zn, sn,xn+1, yn+1,
zn+1, sn+1,… xn+m, yn+m, zn+m, sn+m3D- ArchiCAD.top_material, bottom_material, side_material: / ,
.n: .m: .h: ( ).xi, yi, zi: .si: PRISM_... . 143 .:mask = j1 + 4*j3 + 16*j5 + 32*j6 + 64*j7 j1, j3, j5,
j6, j7 0 1j1 (1): .j3 (4): .j5 (16): .j6 (32): .j7 (64): ,,j8 (128): ,
.
i
n
m1
Y
Zij
1
Z
X
jb
a
-
90 GDL ArchiCAD 11
:n >=3, m >= 0:MASS «», «», «», 15, 12, 117, -5.0, 0, 12,
0, 15, 8, 12, 0, 15, 8, 0, 0, 15, 13, 0, 0, 13, 16, 0, 0, 13, 19,
0, 0, 13, 23, 0, 0, 13, 24, 0, 0, 15, 24, 12, 0, 15, 28, 12, 0, 15,
28, 20, 8, 13, 28, 22, 8, 15, 0, 22, 8, 15, 0, 20, 8, 13, 0, 12, 0,
-1,0, 22, 8, 0, 28, 22, 8, -1, 23, 17, 5, 0, 23, 0, 5, -1, 13, 13,
1, 0, 13, 0, 1, -1, 16, 0, 7, 0, 16, 19, 7, -1, 0, 20, 8, 0, 28,
20, 8, -1, 19, 17, 5, 0, 19, 0, 5, -1 -
GDL ArchiCAD 11 91
LIGHTLIGHT red, green, blue, shadow,
radius, alpha, beta, angle_falloff,distance1,
distance2,distance_falloff [[,] ADDITIONAL_DATA name1 =
value1,name2 = value2, …], , [, ] . x . alpha , beta. angle_falloff. ( , — .) distance1
distance2. distance_falloff . ( , , .) . shadow .0: .1: .
:alpha -
92 GDL ArchiCAD 11
:LIGHT 1.0,0.2,0.3, ! RGB 1, ! 1.0, ! radius 45.0,60.0, !
angle1, angle2 0.3, ! angle_falloff 1.0,10.0, ! distance1,
distance2 0.2 ! distance_falloff ArchiCAD ArchiFM :GDL- :IF C = 0 GOTO 10LIGHT G/100*D, G/100*E, G/100*F, !
RGB…10:r = 0, alpha > 0, beta > 0
-
GDL ArchiCAD 11 93
r > 0, alpha = 0, beta > 0
r > 0, alpha = 0, beta = 0 alpha, beta, radius
PICTUREPICTURE expression, a, b, mask
, . expression , , . 0 . , , ArchiCAD. MASTER_GDL, . , D-
RECT.mask = alpha + distortion. alpha: alpha-.0: alpha- , .1:
alpha-, .distortion: .0: , .2: ,( ).4: ,
( ).
-
94 GDL ArchiCAD 11
TEXTTEXT d, 0, expression
.. [SET] STYLE . 157 DEFINE STYLE . 176.d: , . GDL 0..DEFINE
STYLE «aa» «New York», 3, 7, 0SET STYLE «aa»TEXT 0.005, 0,
«3D-Text»name = «Grand»ROTX 90ROTY -30TEXT 0.003, 0, nameADDX STW
(name)/1000ROTY 60TEXT 0.003, 0, «Hotel»: 2D- GDL DEFINE STYLE .
-
GDL ArchiCAD 11 95
RICHTEXTRICHTEXT x, y,
height, 0, textblock_name TEXTBLOCK. . . 178.x, y: X-Y
(richtext).height: .textblock_name: TEXTBLOCK. GDL .VERT, VECT, EDGE, PGON BODY. . D- . 1. BASE BODY ( BASE) 1. (
2). . , . . , . . . . 0-2 . , . . . ( ), . . . . : . , . . . , . (
PGON vect = 0 < 0) , , , . : -
96 GDL ArchiCAD 11
VERT (TEVE) EDGE (VECT) PGON (PIPG) COOR BODY VERT, EDGE, VECT
PGON BASE. . , . . , , . 0.VERTVERT x, y, z
x-y-z, .
TEVETEVE x, y, z, u, v
VERT, . VERT , , ArchiCAD (. COOR . 98).x, y, z: .u, v: . (u,v),
. VERT TEVE, (u,v) .: (u,v) , .
VECTVECT x, y, z
, . (vect=0 PGON), .
-
GDL ArchiCAD 11 97
EDGEEDGE vert1, vert2, pgon1, pgon2, status
.vert1, vert2: . vert1 vert2
VERT. pgon1, pgon2: . :0: .< 0: . :1: .2: . :4: ( 2).8: (
2).16: .32: ( 16 ).64: ( 16).PGONPGON n, vect, status, edge1, edge2, … edgen
.n: .vect: . VECT.
: vect = 0, ArchiCAD . edge1, edge2, … edgen EDGE. 0 . . ( ; ,
). -
98 GDL ArchiCAD 11
: 1: .2: .16: .32: ().64: () ( 32). :4: ( 2).8: ( 2). , ArchiCAD
( ).n = 0 .PIPGPIPG expression, a, b, mask, n, vect,
status,edge1, edge2, … edgen
. 4 PICTURE, PGON.
COORCOOR wrap, vert1, vert2, vert3, vert4
BODY .wrap: . :1: ,2: ,3: ,4: ,
-
GDL ArchiCAD 11 99
5: , .
:256: .1024: ().2048: , ,.4096: .
: (.TEVE . 96).
vert1: VERT, .vert2, vert3, vert4: VERT 3 . VERT , .
:CSLAB_ » «, » «, » «,
4, 0.5,0, 0, 0, 15,1, 0, 0, 15,1, 1, 1, 15,0, 1, 1, 15
BASEVERT 1, 0, 0 !#1VERT 1, 1, 1 !#2VERT 0, 0, 0 !#3VERT 1, 0, 1
!#4COOR 2, -1, -2,-3, -4BODY 1X
Y
X’
Y’
Z
Z’
-
100 GDL ArchiCAD 11
BODYBODY status
. :1: .2: ().4: : , .32: .64: . 32, 64, . . SHADOW . 160. ,
ArchiCAD .:1: VERT 0.0, 0.0, 0.0 !#1VERT 1.0, 0.0, 0.0 !#2VERT 1.0,
1.0, 0.0 !#3VERT 0.0, 1.0, 0.0 !#4VERT 0.0, 0.0, 1.0 !#5VERT 1.0,
0.0, 1.0 !#6VERT 1.0, 1.0, 1.0 !#7VERT 0.0, 1.0, 1.0 !#8EDGE 1, 2,
1, 3, 0 !#1EDGE 2, 3, 1, 4, 0 !#2EDGE 3, 4, 1, 5, 0 !#3EDGE 4, 1,
1, 6, 0 !#4EDGE 5, 6, 2, 3, 0 !#5EDGE 6, 7, 2, 4, 0 !#6EDGE 7, 8,
2, 5, 0 !#7EDGE 8, 5, 2, 6, 0 !#8EDGE 1, 5, 6, 3, 0 !#9EDGE 2, 6,
3, 4, 0 !#10EDGE 3, 7, 4, 5, 0 !#11EDGE 4, 8, 5, 6, 0 !#12VECT 1.0,
0.0, 0.0 !#1VECT 0.0, 1.0, 0.0 !#21
3
Y
7
X
Z
5 8
4
6
2
-
GDL ArchiCAD 11 101
VECT 0.0, 0.0, 1.0 !#3PGON 4, -3, 0, -1, -4, -3, -2 !#1
!VERT1,2,3,4PGON 4, 3, 0, 5, 6, 7, 8 !#2 !VERT5,6,7,8PGON 4, -2, 0,
1, 10, -5, -9 !#3 !VERT1,2,5,6PGON 4, 1, 0, 2, 11, -6, -10 !#4
!VERT2,3,6,7PGON 4, 2, 0, 3, 12, -7, -11 !#5 !VERT3,4,7,8PGON 4,
-1, 0, 4, 9, -8, -12 !#6 !VERT1,4,5,8BODY 1 ! 2: ( ; ArchiCAD )VERT
0.0, 0.0, 0.0 !#1 VERT 1.0, 0.0, 0.0 !#2 VERT 1.0, 1.0, 0.0 !#3
VERT 0.0, 1.0, 0.0 !#4 VERT 0.0, 0.0, 1.0 !#5 VERT 1.0, 0.0, 1.0
!#6 VERT 1.0, 1.0, 1.0 !#7 VERT 0.0, 1.0, 1.0 !#8 EDGE 1, 2, -1,
-1, 0 !#1 EDGE 2, 3, -1, -1, 0 !#2 EDGE 3, 4, -1, -1, 0 !#3 EDGE 4,
1, -1, -1, 0 !#4 EDGE 5, 6, -1, -1, 0 !#5 EDGE 6, 7, -1, -1, 0 !#6
EDGE 7, 8, -1, -1, 0 !#7 EDGE 8, 5, -1, -1, 0 !#8 EDGE 1, 5, -1,
-1, 0 !#9 EDGE 2, 6, -1, -1, 0 !#10 EDGE 3, 7, -1, -1, 0 !#11 EDGE
4, 8, -1, -1, 0 !#12 PGON 4, 0, -1, -1, -4, -3, -2 !#1!VERT1,2,3,4PGON 4, 0, -1, 5, 6, 7, 8 !#2
!VERT5,6,7,8PGON 4, 0, -1, 1, 10, -5, -9 !#3
!VERT1,2,5,6PGON 4, 0, -1, 2, 11, -6, -10 !#4
!VERT2,3,6,7PGON 4, 0, -1, 3, 12, -7, -11 !#5
!VERT3,4,7,8PGON 4, 0, -1, 4, 9, -8, -12 !#6
!VERT1,4,5,8BODY -1 !
-
102 GDL ArchiCAD 11
BASEBASE (VERT, TEVE, VECT, EDGE, PGON PIPG). .
3DCUTPLANECUTPLANE [x, y, z [, side [, status]]]
[statement1 … statementn]CUTEND
CUTPLANE{2} angle [, status]
[statement1 … statementn] CUTEND
. CUTPLANE . CUTPLANE :0: x-y;1: x, angle — -;2: z ;3: , z ;4: ,
side:side = 0: , ( );side = 1: , ; x-y, x-z, y-z, ,-, -z x-z, , .
( side) , . x-y, x-z y-z (, 1.0, 1.0, 0.0 x-y), , . CUTPLANE
CUTEND . CUTPLANE . CUTPLANE . -
GDL ArchiCAD 11 103
, CUTPLANE CUTEND, , . , CUTPLANE , . CUTPLANE-CUTEND , .
CUTEND, CUTPLANE . CUTPLANE , CUTEND. CUTPLANE CUTEND , , , . ,
.: CUTPLANE CUTEND, . — CUTEND. , , , , , , , , .
.CUTPLANE 2, 2, 4CUTPLANE -2, 2, 4CUTPLANE -2, -2, 4CUTPLANE 2,
-2, 4ADD -1, -1, 0BRICK 2, 2, 4DEL 1
CUTENDCUTENDCUTENDCUTEND
CUTPLANE CUTPLANE 1, 1, 0, 1 SPHERE 2 SPHERE 2CUTEND CUTEND
-
104 GDL ArchiCAD 11
CUTPLANE 1.8, 1.8, CUTPLANE 1.8, 1.8, 1.8 1.8, 1 SPHERE 2 SPHERE
2CUTEND CUTENDCUTPLANE 60 CUTPLANE -120 BRICK 2, 2, 2 BRICK 2, 2, 2CUTEND
CUTENDCUTPOLYCUTPOLY n,
x1, y1, … xn, yn[, x, y,
z][statement1statement2…statementn]CUTEND -
GDL ArchiCAD 11 105
CUTPLANE . . z (x,y,z). . . , , . .ROTX 90MULZ -1CUTPOLY 3,
0.5, 1,2, 2,3.5, 1,-1.8, 0, 1
DEL 1 BPRISM_ » «, » «, » «, 4, 0.9, 7, 0.0, 0.0, 15, 6.0, 0.0,
15, 6.0, 3.0, 15, 0.0, 3.0, 15CUTENDA=1.0D=0.1CUTPOLY 4, D, D, A-D, D, A-D, A-D, D, A-DROTX 90
CUTPOLY 4, D, D, A-D, D, A-D, A-D, D, A-D DEL 1ROTY 90CUTPOLY 4, D,
D, A-D, D, A-D, A-D, D, A-D -
106 GDL ArchiCAD 11
DEL 1 BLOCK A, A, ACUTENDCUTENDCUTEND
ROTX 90FOR I=1 TO 3 FOR J=1 TO 5 CUTPOLY 4, 0, 0, 1, 0, 1, 1, 0,
1 ADDX 1.2 NEXT J DEL 5 ADDY 1.2NEXT IDEL NTR()-1ADD -0.2, -0.2,
0BRICK 6.2, 3.8, 1FOR K=1 TO 15 CUTENDNEXT KDEL TOPCUTPOLYACUTPOLYA n, status, d,
x1, y1, mask1, … xn, yn, maskn [,x, y,
z][statement1statement2…statementn]CUTEND CUTPOLY, . . , .
-
GDL ArchiCAD 11 107
status: .1:
.2: .d:
.d = 0 .maski: PRISM_.maski = j1 + 2 * j2 + 4 * j3 + 64 *
j7:ROTX 90FOR I=1 TO 3 FOR J=1 TO 5 CUTPOLYA 6, 1, 0, 1, 0.15, 5,
0.15, 0.15, 900, 0, 90, 4007, 0, 0.85, 5, 0.85, 0.85, 900, 0, 90,
4007 ADDX 1 NEXT J DEL 5 ADDY 1NEXT IDEL NTR()-1ADD -0.2, -0.2,
0BRICK 5.4, 3.4, 0.5FOR K=1 TO 15 CUTENDNEXT KDEL TOPi
Y
X
Z
jj
j
i+11
2 3
-
108 GDL ArchiCAD 11
CUTSHAPECUTSHAPE d [, status][statement1 statement2 …
statementn]CUTEND status: . ( ),
3.status = j1 + 2*j2
j1: .j2: .
:FOR I = 1 TO 5 ADDX 0.4 * I ADDZ 2.5 CUTSHAPE 0.4 DEL 2 ADDX
0.4NEXT IDEL TOPBRICK 4.4, 0.5, 4FOR I = 1 TO 5 CUTENDNEXT ICUTFORMCUTFORM n, method, status,
rx, ry, rz, d,x1, y1, mask1,…xn, yn, maskn
CUTPOLYA, . method: .1: .2: .
-
GDL ArchiCAD 11 109
3: . Y rx, ry, rz (ry .)
status: .status = j1 + 2*j2 + 8*j4 + 16*j5 + 32*j6 + 64*j7 +
128*j8 j1: .j2: .j4, j5: :j4 = 0 j5 = 0: ,.j4 = 0 j5 = 1: ,j4 = 1 j5 = 1: .
j6: , , . ( CUTFORM.)
j7 : , , .j8 : , , .rx, ry, rz: , , ,
.d: rx, ry, rz . , .
, d , rx, ry, rz.
, , d , by rx, ry, rz, , rx, ry, rz. mask: .maski = j1 + 2*j2 +
4*j3 + 8*j4 + 16*j5 + 64*j7 -
110 GDL ArchiCAD 11
j1: .j2: .j3: .j4: .j5: .j7: , .
GDL 3D- , . : ADDGROUP: .
SUBGROUP: .
ISECTGROUP: .
-
GDL ArchiCAD 11 111
ISECTLINES: .
SWEEPGROUP: .
GDL «», . . ( .) , . GDL, BLOCK, SPHERE .. . ( BODY -1):GROUP
«myGroup» BLOCK 1,1,1 BODY 1 ADDX 1 BLOCK 1,1,1ENDGROUP , . , (, ,
).. . 95. , , , , , . ( — , .) : -
112 GDL ArchiCAD 11
( )
()
( )
—
— ()
()
()
—
— ()
— ()
()
()
()
()
()
()
()
()
()
()
—
—
—
( )
— ( )
( )
( )
( )
— ( )
( )
( )
( )
— ( )
( )
( )
—
—
—
— — — —
— — —
— — —
-
GDL ArchiCAD 11 113
( )
MODEL SURFACE, -. MODEL WIRE, -. -. . GDL . . GDL, . , GDL, : ,
. : ; ( ); ( ). ( ), ( ). ( , , , , , .)—
—
—
— — —
— — — —
— — —
— ( )
( )
( )
-
114 GDL ArchiCAD 11
GROUPGROUP «name»
. , ENDGROUP, name. (); PLACEGROUP. , , PLACEGROUP, . . , , ; ,
, . , DEFINE SET (, , ); , / , , / , .ENDGROUPENDGROUP
.
ADDGROUP ADDGROUP (g_expr1, g_expr2)
SUBGROUP SUBGROUP (g_expr1, g_expr2)
ISECTGROUP ISECTGROUP (g_expr1, g_expr2)
ISECTLINES ISECTLINES (g_expr1, g_expr2)
: , , , . — , PLACEGROUP, . , . g_expr1, g_expr2 . — ( ), , ,
. -
GDL ArchiCAD 11 115
PLACEGROUPPLACEGROUP g_expr
— , . ; 3D-.
KILLGROUPKILLGROUP g_expr
, . KILLGROUP . . , . : GROUP «box» BRICK 1, 1, 1ENDGROUPGROUP
«sphere» ADDZ 1 SPHERE 0.45 DEL 1ENDGROUPGROUP «semisphere» ELLIPS
0.45, 0.45ENDGROUPGROUP «brick» ADD -0.35, -0.35,0 BRICK 0.70,
0.70, 0.35 DEL 1ENDGROUPresult_1=SUBGROUP(«box»,»sphere») !
«sphere» «box»result_2=ISECTGROUP(«semisphere»,»brick») !
«semisphere» «brick»result_3=ADDGROUP(result_1,result_2) !
PLACEGROUP result_3KILLGROUP «box»KILLGROUP «sphere»KILLGROUP
«semisphere»KILLGROUP «brick» -
116 GDL ArchiCAD 11
SWEEPGROUP SWEEPGROUP (g_expr, x, y, z)
, , , . -. SWEEPGROUP (2) (g_expr, x, y, z)
SWEEPGROUP SWEEPGROUP (2) , . ( SWEEPGROUP . ):
GROUP «a» SPHERE 1ENDGROUPPLACEGROUP SWEEPGROUP («a», 2, 0,
0)BINARYBINARY mode [, section]
GDL. , , , . D-. , , .mode: .0: PEN MATERIAL.1: PEN MATERIAL
.. .
-
GDL ArchiCAD 11 117
2: PEN MATERIAL. .
3: PEN MATERIAL. , .
section: , 1 16. , section. GDL 1. BINARY section . , ArchiCAD
(, DXF ZOOM) 3D- . , , . , GDL .: 3D- 3D- . , .
, 30-. , . , 3D- , GDL-.
-
118 GDL ArchiCAD 11
-
GDL ArchiCAD 11 119
, 2D- , , , -, 2D. 2D, , 3D-, 2D-, 3D- 2D- . , , , .
HOTSPOT2HOTSPOT2 x, y [, unID [, paramReference, flags][,
displayParam]]unID: 2D-. , .
paramReference: , .
displayParam: , paramRefrence. .
. . 135 HOTSPOT2.
LINE2LINE2 x1, y1, x2, y2
, .
(x, y)
Y
X
Y
(x1, y1)
X
(x2, y2)
-
120 GDL ArchiCAD 11
RECT2RECT2 x1, y1, x2, y2
.
POLY2POLY2 n, frame_fill, x1, y1, … xn, yn
n .
:n >= 2frame_fill = j1 + 2*j2 + 4*j3 j1, j2, j3 0 1.j1 (1):
.j2 (2): .j3 (4): .Y
(x1, y1)
X
(x2, y2)
n
12
Y
X
-
GDL ArchiCAD 11 121
POLY2_POLY2_ n, frame_fill, x1, y1, s1, … xn, yn, sn
POLY2 , . si = 0, , (xi,yi) . si = 1, . si = -1 . . :n >=
2frame_fill = j1 + 2*j2 + 4*j3 + 8*j4 + 32*j6 + 64*j7 j1, j2, j3 0
1.j1 (1): .j2 (2): .j3 (4): .j4 (8): .j6: ( — ).j7: ( j6 = 0, — )
:s = j1 + 16*j5 + 32*j6 j1, j5, j6 0 1.j1 (1): .j5 (16): ( 0, ).j6
(32): (, j5).-1: . POLY2_ 0 ( ), LINE_PROPERTY POLY2_. .. . 143
.n
12
Y
X
-
122 GDL ArchiCAD 11
POLY2_APOLY2_A n, frame_fill, fill_pen,
x1, y1, s1, …, xn, yn, sn
POLY2_BPOLY2_B n, frame_fill, fill_pen,
fill_background_pen,x1, y1, s1, …, xn, yn, sn
POLY2_ , . POLY2_. .. . 143 .
POLY2_B{2}POLY2_B{2} n, frame_fill, fill_pen,
fill_background_pen,fillOrigoX, fillOrigoY,fillAngle,x1, y1, s1,
…, xn, yn, snPOLY2_B , , . frame_fill = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 +
312*j6 +64*j7 j1, j2, j3, j4 j5, j6, j7 0 1.j1 (1): .j2 (2): .j3
(4): .j4 (8): .j5 (16): (, j4).j6 (32): ( j7, ,).j7 (64): ( j6; ,
). .. . 143 .
-
GDL ArchiCAD 11 123
POLY2_B{3}POLY2_B{3} n, frame_fill, fill_pen,
fill_background_pen,fillOrigoX, fillOrigoY,mxx, mxy, myx, myy,
x1, y1, s1, …, xn, yn, snPOLY2_ . frame_fill = j1 + 2*j2 + 4*j3 + 8*j4 + 16*j5 + 32*j6 +
64*j7 +128*j8 j1, j2, j3, j4, j5, j6, j7, j8 0 1. j1-j7: POLY2_.j8
(128): . mxx, mxy, myx, myy: j8 , . . . . 143 .ARC2ARC2 x, y, r, alpha, beta
(, ), alpha beta.Alpha beta .
(x, y)
beta
alpha
X
Yr
-
124 GDL ArchiCAD 11
CIRCLE2CIRCLE2 x, y, r
(, ) r.
SPLINE2SPLINE2 n, status, x1, y1,
angle1, , xn, yn, anglen
:n >= 2-, n . — (xi, yi) anglei, . :0: .1: -. , , , -.
(x, y)YY
X
r
(x ,y )1 n
angle i
ii i
X
Y
-
GDL ArchiCAD 11 125
2: -. — angle . .
.SPLINE2 5, 2,
0, 0, 60,1, 2, 30,1.5, 1.5, -30,3, 4, 45,4, 3, -45
n = 5FOR I = 1 TO n SPLINE2 4, 0,
0.0, 2.0, 135.0,-1.0, 1.8, 240.0,-1.0, 1.0, 290.0,0.0, 0.0,
45.0MUL2 -1.0, 1.0 SPLINE2 4, 0,
0.0, 2.0, 135.0,-1.0, 1.8, 240.0,-1.0, 1.0, 290.0,0.0, 0.0,
45.0DEL 1 SPLINE2 4, 0,
0.0, 2.0, 100.0,0.0, 2.5, 0.0,0.0, 2.4, 270.0,0.0, 2.0,
270.0ADD2 2.5, 0NEXT I
-
126 GDL ArchiCAD 11
SPLINE2ASPLINE2A n, status, x1, y1, angle1, length_previous1,
length_next1,…xn, yn, anglen, length_previousn,length_nextn
SPLINE2 (- ). ). 2D-. . // — ArchiCAD 11. :0: .1: -.
, , , -.2: -. —
angle, length_previousi
length_nexti . .
xi, yi: .length_previousi, length_nexti: .anglei: , .:SPLINE2A
9, 2,0.0, 0.0, 0.0, 0.0, 0.0,0.7, 1.5, 15, 0.9, 1.0,1.9, 0.8, 72,
0.8, 0.3,1.9, 1.8, 100, 0.3, 0.4,1.8, 3.1, 85, 0.4, 0.5,2.4, 4.1,
352, 0.4, 0.4,3.5, 3.3, 338, 0.4, 0.4,4.7, 3.7, 36, 0.4, 0.8, 6.0,
4.6, 0, 0.0, 0.01 n
angle i
ii i
X
Y (x ,y )
leng
th_p
revi
ous i
i
leng
th_n
ext
-
GDL ArchiCAD 11 127
PICTURE2PICTURE2 expression, a, b, mask
PICTURE2{2}PICTURE2{2} expression, a, b, mask
PICTURE . 3D, 2D- . expression , — , . 0 , . PICTURE2{2} mask =
1 , . , GDL.TEXT2TEXT2 x, y, expression
expression , ,.. [SET] STYLE . 157 DEFINE STYLE . 176.
Y
X
ArchiCAD(x,y)
-
128 GDL ArchiCAD 11
RICHTEXT2RICHTEXT2 x, y, textblock_name
TEXTBLOCK. . . 178.x, y: X-Y (richtext).textblock_name:
TEXTBLOCK.FRAGMENT2FRAGMENT2 fragment_index,
use_current_attributes_flag
fragment_index 2D- .use_current_attributes_flag: , .0: , , .1: ,
, ,.
FRAGMENT2FRAGMENT2 ALL,use_current_attributes_flag
2D- .use_current_attributes_flag: , .0: , , .1: , , ,
.
-
GDL ArchiCAD 11 129
PROJECT2PROJECT2 projection_code, angle, method
PROJECT2{2}PROJECT2{2} projection_code, angle,method
[,backgroundColor, fillOrigoX,fillOrigoY, filldirection]
3D- 2D-. , PROJECT2{2}, SET FILL, , 2D-.projection_code: .3: .4:
.6: .7: .8: .9: .-3: .-6: , .-7: , .-8: , .-9: , .angle: ,
3D-.method: .1: .2: .3: . -
130 GDL ArchiCAD 11
16: : ( ).
32: : 3D ( ).
64: : . ( ).
128: : ( 32). — .
256: : ( 32, 128). — .
512: : ( 32). .
1024: : ( 32, 512). .
BackgroundColor: .fillOrigoX: X .fillOrigoY: Y .filldirection:
.: PROJECT2{2} SET FILL.
-
GDL ArchiCAD 11 131
:
: PROJECT2 32 3 ( ) method, CUTPOLYA 2 ( ), . , SECT_FILL,
3D-. -
132 GDL ArchiCAD 11
PROJECT2{3}PROJECT2{3} projection_code, angle, method , parts[,
backgroundColor, fillOrigoX, fillOrigoY,filldirection][[,]PARAMETERS name1=value1 , …
namen=valuen]3D- 2D-. , PROJECT2{2}, SET FILL, , 2D-. , PROJECT2{3}, , , , .
, .method: .1: .2: .3: .
16: : ( ).
32: : 3D ( ).
64: : . ( ).
128: : ( 32). — .
256: : ( 32, 128). — .
512: : ( 32). .
1024: : ( 32, 512). .
2048: : 16, 32, 64, 128, 256, 512, 1024 . .
-
GDL ArchiCAD 11 133
4096: : 16, 32, 64, 128, 256, 512, 1024 . .
8192: : : , .parts: . 15 .part = j1 + 2*j2 + 4*j3 + 8*j4
j1, j2, j3, j4 0 1. j1, j2, j3, j4 , (1) (0).
j1: ( , SECT_FILL) ( ).j2: .j3: .j4: .
, ArchiCAD. , (, , ), , 2D- 2D- 3D- . , «» 2D- 3D- .
DRAWING2DRAWING2 [expression]
expression, (expression = 0, ) (expression = 1), , .
DRAWING3DRAWING3 projection_code, angle, method
-
134 GDL ArchiCAD 11
DRAWING3{2}DRAWING3{2} projection_code, angle, method
[,backgroundColor, origoX, origoY,filldirection]
PROJECT2, 3D- , , . PROJECT2 PROJECT2{2}. DRAWING3{2} method: 3:
,32:
Этот экспертный материал продолжает цикл
статей «ARCHICAD: открывая заново», начатый в декабре 2016 года статьей
Владимира Савицкого «Создание конструкций и извлечение рабочих чертежей из модели», а затем продолженный публикациями Светланы Кравченко «ARCHICAD: открывая заново. Визуализация – новые возможности для архитектора» и Александра Анищенко «TEAMWORK: эффективная командная работа шаг за шагом».
Цикл призван помочь пользователям в полной мере раскрыть весь потенциал
ARCHICAD®. Мы попросили архитекторов поделиться личным опытом
использования программы с применением нестандартных подходов,
малоизученных функций и новых возможностей, о которых многие
пользователи могут и не подозревать. Как разработчики приложения
ARCHICAD мы уверены, что только глубокое знание продукта может раскрыть
всю его ценность и решающим образом повлиять на результаты, скорость и
качество работы проектировщика.
Вы тоже предпочитаете «непротоптанные
дорожки»? Имеете опыт применения нестандартных подходов в работе с
ARCHICAD, регулярно задействуете не самые известные возможности
приложения? Будем рады пригласить к сотрудничеству новых авторов: ehffvn(xmr)tencuvfbsg.pbz»>ehffvn(xmr)tencuvfbsg.pbz.
Светлана Кравченко, практикующий архитектор
Язык GDL: уникальные возможности инструмента шаг за шагом
Наверняка многие из вас слышали о
GDL в ARCHICAD, однако как им пользоваться в работе до сих пор знают
далеко не все. Учитывая невероятную полезность этой функции, а также
множество вопросов после моего первого вебинара
на эту тему, я решила более подробно рассказать о том, как даже
поверхностное его знание может здорово помочь в повседневной работе
архитектора.
Начнем с основ
GDL (Geometric Description Language,
язык геометрического описания) – язык программирования, подобный языку
BASIC, созданный для работы в среде ARCHICAD. С его помощью описываются
объемные 3D-тела (такие как двери, окна, мебель) и 2D-символы в окне
плана этажа. Эти объекты называются Библиотечными Элементами.
Для тех, кто хоть немного знаком с программированием, освоить этот язык
не составит труда. Впрочем, при достаточном желании изучение GDL
окажется вполне по силам и человеку, далекому от этой среды.
Любой архитектор изучал в свое время
геометрию и начертательную геометрию, имеет отличное объемное мышление, а
это уже половина успеха. Не нужно сразу пытаться написать сложные
объекты, начинать стоит с основных геометрических фигур и форм; много
информации можно почерпнуть, изучая скрипты других Библиотечных
Элементов. Ну а самый главный источник информации – это справочное
руководство GDL, которое можно открыть через меню Помощь в самом ARCHICAD.
Итак, для чего архитектору может
пригодиться знание GDL? Например, в отличие от Grasshopper, при помощи
которого можно создавать сложные структуры, GDL просто незаменим для
написания различных маркеров и выносных надписей, а также при создании
специальных компонентов для других Библиотечных Элементов или
инструментов. Одним из моих первых применений GDL в работе было создание
специального филенчатого полотна двери, которое при изменении размеров
не масштабировалось во все стороны, а меняло только размеры филенки.
Толщина фигурной рамки и ширина обвязки оставались неизменными. Также
архитекторам очень часто хочется добавить какие-то простые функции в
существующие объекты стандартных библиотек – и это основная причина, по
которой начинают вникать в GDL.
Безусловно, знание GDL не является
жизненно необходимым, и многие из этих задач можно решить стандартными
инструментами. Например, можно построить филенки с обвязкой из
перекрытий и сохранить как специальное полотно двери. Если у вас таких
нестандартных дверей всего несколько штук, то так будет даже быстрее. Но
если в вашем проекте много подобных дверей разных размеров и ширина их
меняется в процессе работы, то написание специальной панели в GDL
значительно ускорит и упростит работу.
Геометрическое описание подразумевает, что любую из возможных фигур можно написать текстом по размерам или координатам.
Для 3D-скрипта есть блок команд основных пространственных фигур, таких как:
- BLOCK и BRICK — параллелепипед, строящийся по трем размерам с началом в точке 0 системы координат
BLOCK a, b, c
BRICK a, b, c
CYLIND – цилиндр вдоль оси Z, с высотой h и радиусом rCYLIND h, r
SPHERE – сфера с центром в начале координат и радиусом rSPHERE r
Похожим образом описываются эллипс и конус.
Следующий блок фигур уже сложнее – это
различные призмы. Они описываются набором координат точек. Самая простая
призма определяется количеством точек (n), высотой (h) и перечислением
координат всех точек по порядку.
PRISM n, h,
x1, y1,
…
xn, yn
Есть много разновидностей призмы. Следующий вид, PRISM_,
позволяет указывать к координатам точек коды статусов, которые
определяют видимость граней и ребер, а также позволяют создавать
криволинейные призмы и призмы с отверстиями (см. в справочнике раздел
Коды Статусов). Другой вид, BPRISM_, создает призму, закрученную вокруг оси Y. FPRISM_ строит призму с фаской или скруглением по верхней стороне.
Существует несколько команд, описывающих более сложные фигуры на основе полилиний: EXTRUDE, PYRAMID, REVOLVE, RULED, SWEEP, TUBE, COONS, MASS. Их описание с примерами можно найти в справочнике.
Для 2D-скрипта фигуры описываются
другими командами: линия, круг, прямоугольник, полилиния, сплайн. Но
можно прописать и команду для построения проекции из 3D-скрипта.
Создание 2D- или 3D-форм – это только часть функционала GDL. Если вам
нужен просто стол, то проще построить его инструментами самого ARCHICAD.
Объект пишется в случае, когда требуется какой-то параметризм:
возможность выбора разных типов ножек для стола, количества ножек,
изменение размеров стола с сохранением остальных размеров, расчет
пиломатериала для его изготовления, вес и стоимость. Объект может вообще
не содержать никакой геометрии, а только производить расчеты.
Для этого используются в том числе и Управляющие Предложения (Операторы
Управления), такие как циклы, условные операторы, обращение к
определенному месту кода (подпрограмме). С циклами и условиями лучше
ознакомиться в самом начале – используются они часто. Так, во всех
приведенных ниже примерах есть условные операторы.
ПРИМЕР №1 – поворот объекта
Часто у проектировщиков возникает
желание сделать объект поворачивающимся. На этом простом примере и
рассмотрим структуру Библиотечного Элемента, а также основные окна
Редактора Объектов GDL.
Чтобы открыть любой объект, размещенный в
пространстве проекта (если разработчик не наложил на него пароль),
нужно, выделив его, нажать комбинацию клавиш Ctrl+Shift+O. Другой способ
– воспользоваться меню Файл > Библиотеки и Объекты > Открыть Объект. Если в этот момент ни один объект не был выделен, то откроется окно для выбора объекта.
Добавим параметры поворота, например, к жалюзийной решетке (рис. 1).
Рис. 1. Первый подопытный
Рис. 2. Окно Редактора объектов GDL
Итак, мы открыли окно Редактора объектов GDL (рис. 2).
Слева вверху здесь расположено окно
просмотра разных видов, как в обычном окне параметров объекта; еще левее
кнопки для выбора вида – план, фасад, 3D-окно и предпросмотр.
Ниже располагаются кнопки для открытия
таблиц параметров, списков данных и скриптов. Скрипты можно открыть
двумя способами: кликнуть на кнопку с названием скрипта – открыть в этом
же окне, кликнуть на кнопку правее с пиктограммой окна – скрипт
откроется в отдельном окне. Это может быть полезно, чтобы одновременно
видеть разные скрипты (рис. 3).
Рис. 3. Одновременно открытые разные скрипты
Наверху в окне любого скрипта есть очень нужная кнопка Проверить:
при ее нажатии редактор подскажет, нет ли в скрипте ошибок. Сообщение
будет содержать причину ошибки и номер строки, в которой найдена ошибка.
В разделе «Детали» можно выбрать подтип объекта: специальное полотно двери, дверная ручка, рама навесной стены и так далее.
Так, специальные объекты (ручка,
полотно, рама) появятся в соответствующем окне выбора этих элементов.
При выборе какого-либо 2D-типа в объекте будут отсутствовать окна для
трехмерной геометрии. Там же выбираются типы для разных маркеров – узла,
разрезов, выносной надписи, зоны; они также появятся в соответствующих
инструментах.
В этом разделе можно заполнить описание объекта и выбрать пароль.
Далее – «Параметры», где в виде таблицы
представлены все данные, которые используются в этом объекте и которые
можно изменять во время работы над проектом.
Тут нужно добавить параметры для поворотов, которые мы позже будем использовать.
Рис. 4. Добавление параметров
Нажимаем кнопку Новый, расположенную выше таблицы (рис. 4). Появится новая строка, в которой нужно заполнить столбцы.
Первый из этих столбцов – Переменная.
Здесь мы латиницей и без пробелов пишем название переменной, которое
будет использоваться в скриптах. Именовать нужно так, чтобы было
несложно запомнить и при этом легко понять, за что эта переменная
отвечает. В нашем случае нужно создать две переменные для значения углов
поворотов по осям X и Y (вокруг оси Z объект и так можно поворачивать
прямо в плане). Я решила назвать их angle_x и angle_y.
В следующем столбце нужно выбрать тип данных. Варианты выбора представлены в таблице 1.
Таблица 1. Типы данных
Длина (в единицах модели) |
Наклон (угол в градусах) |
Действительное число (для размеров в мм листа или для коэффициентов) |
Целое число (для количественных значений) |
Логическое значение (истина/ложь или, по-простому, галочка) |
|
Покрытие |
Тип линии |
Образец штриховки |
Перо |
Разделитель |
Последние два типа не используются в
построении объекта, а нужны для большей наглядности и упорядоченности
списка в окне параметров объекта. Нам нужен угол – в таблице это вторая
пиктограмма.
Третий столбец – Имя. Тут можно без правил на любом языке написать, что именно мы хотим потом увидеть в окне параметров объекта.
И последний столбец – Значение.
Сейчас тут можно оставить 0: это значение меняется в любой момент как в
скрипте, так и в параметрах самого объекта. Как выглядят два новых
параметра в окне Редактора объектов GDL, показано на рис. 5. С помощью
стрелок в начале строки можно переместить строку в удобное место.
Рис. 5. Добавленные параметры
Затем нужно сохранить объект под новым
именем, так как стандартная библиотека зашита в контейнер, и в нем
нельзя перезаписывать объекты. Окно Параметров объекта будет теперь
выглядеть вот так (рис. 6).
Рис. 6. Новые параметры в окне Параметров объекта
Появились два новых параметра, значение
которых можно менять в любой момент. Но сейчас ничего не произойдет, так
как еще не написано никаких команд с их использованием.
Теперь нужно открыть окно 3D-скрипта.
Здесь идет полное описание построения
трехмерной модели на основе заданных параметров. Кроме того, в объект
могут быть вложены разные макросы.
Перед всеми построениями нужно повернуть
систему координат, в которой будет строиться объект. Тут важно понять
вот какую логику: все повороты, перемещения и масштабирование происходят
не так, как при работе в самом ARCHICAD. Мы не берем элемент и не
поворачиваем его, а поворачиваем глобальную систему координат (после
изменения она становится локальной) перед построением объекта.
Перемещение (команда ADD), поворот (ROT), масштабирование (MUL)
– это команды преобразования системы координат. Дальше преобразования
можно удалять в скрипте по одному, сразу по несколько либо удалить сразу
все. В справочнике все это описано достаточно подробно и с примерами.
Пример перемещения системы координат в 3D-пространстве сразу по трем осям показан на рис. 7.
ADD a, b, c
Рис. 7. Схема перемещения системы координат
Итак, перед всеми построениями
поворачиваем систему координат сначала по одной, потом по другой оси.
Поворот по оси Х выполняет команда ROTX alphax,
где alphax – угол поворота против часовой стрелки; вместо alphax нужно
вписать заранее созданную переменную. По оси Y поворот выполняется
аналогично (рис. 8).
Рис. 8. Изменение 3D-скрипта
Теперь можно задавать разные углы для
поворота – и в окне просмотра, расположенном вверху слева, будут
происходить изменения 3D-модели (рис. 9).
Рис. 9. При изменении углов меняется изображение в окне просмотра
Теперь можно задавать разные углы для
поворота – и в окне просмотра, расположенном вверху слева, будут
происходить изменения 3D-модели (рис. 9).
Но в 2D-виде пока ничего не происходит. В
2D-скрипте объект строится отдельными линиями и полилиниями, так
отрисовка объекта в плане происходит во много раз быстрее. На одном
объекте это незаметно, но если в проекте окажутся сотни таких решеток,
торможение будет существенным. Можно высчитать координаты точек этих
линий и простроить их так, как они выглядели бы в проекции повернутого
объекта, но это не очень просто и не очень быстро. В этой решетке я
предлагаю следующее решение: если углы по X или по Y не равны нулю, то
объект в 2D-скрипте, то есть для плана, будет отрисовываться как
проекция трехмерной модели, а иначе по-старому.
Проекцию модели для 2D-скрипта строит команда PROJECT2 projection_code, angle, method.
Что означают projection_code, angle, method – можно прочитать в
справочнике, мы же познакомимся с более важной командой из раздела
операторов управления IF – THEN – ELSE – ENDIF. Это операторы условий, которые помогут выстроить предложение условия из предыдущего абзаца.
На рис. 10 я выделила добавленные команды в 2D-скрипте и правее красным цветом дописала «перевод».
Рис. 10. Изменение 2D-скрипта
Теперь требуется только сохранить объект
и можно им пользоваться (рис. 11). Преимущество такого метода перед
преобразованием в морф заключается в том, что объект остается
параметрическим, его можно считать в спецификациях, в нем можно менять
размеры планок, размеры рамки и всё остальное, что было в оригинальном
объекте.
Рис. 11. Повернутые в пространстве новые объекты
Так подробно на этом примере мы рассмотрели основные окна и скрипты Редактора объектов GDL.
Если выбранный вами для поворота объект
имеет параметры не в виде списка, как в этой решетке, а в виде картинок и
схем, это означает, что разработчик написал также графический
интерфейс. Чаще всего при этом стандартный список с параметрами
скрывают, как на рис. 12: в выпадающем списке страниц параметров нет
раздела «Все параметры».
Рис. 12. В этом объекте отсутствует список всех параметров в стандартном виде
В этом случае нужно зайти в скрипт параметров и найти команду, которая прячет все параметры (рис. 13).
В этом скрипте описываются все действия, которые влияют на параметры:
- обозначение вариантов или диапазонов возможных значений (VALUES);
- какие-либо расчеты, результат которых присваивается параметру (PARAMETERS);
- скрытие или блокировка параметров (HIDEPARAMETER, LOCK).
Рис. 13. Строка в скрипте параметров, которая прячет все параметры
Строку HIDEPARAMETERS ALL
можно просто удалить либо, поставив в начале строки «!», сделать ее
нечитаемой (по синтаксису GDL строка, начинающаяся с восклицательного
знака, считается комментарием. Далее описания и переводы на скриншотах я
буду писать именно после знака «!»). После этого в списке страниц
параметров появится строка «Все параметры», и, выбрав ее, вы увидите
стандартного вида список с параметрами, среди которых будут и новые
строки для поворота.
ПРИМЕР №2 – текст на символе
Следующий пример я беру из текущего
проекта. При работе с планом многоквартирного жилого здания требовалось
на наружных блоках кондиционеров поставить букву «К» – причем так, чтобы
она всегда располагалась вертикально. Конечно, букву можно было бы
просто дописать сверху текстом или поставить выносную надпись-текст, но
тогда при повороте кондиционера, возможно, пришлось бы двигать и текст.
Для начала я добавила четыре новых параметра (рис. 14):
Рис. 14. Добавление новых параметров в объекте Кондиционер Воздуха
- Показывать текст: тип параметра – логическое значение,
что подразумевает два возможных значения: 0 (нет) и 1 (да). Таким
образом, текст можно будет включить или отключить. - Специальный текст: тип параметра – текстовый. Позволит
вписывать любой текст в символ (я намерена использовать одну букву,
чтобы она помещалась внутри прямоугольника блока кондиционера). - Шрифт: тип – текстовый. Обратите внимание – некоторые
виды написания этой переменной позволяют выбирать в столбце значения
шрифта из списка установленных на компьютере. «Fonttype» вызывает это
список автоматически, если же я напишу «typefont» или просто «font», то
придется писать название шрифта вручную. Этот момент я заметила случайно
в каком-то из стандартных объектов. - Перо текста: тип – перо. Ну, тут всё понятно.
Теперь посмотрим на пиктограммы, которые я нажала в начале строк.
У первой строки нажата пиктограмма , что означает bold – жирный. То есть эта строка в окне параметров объекта будет жирной.
У трех других – пиктограмма . Она означает, что эти строки будут вложены выпадающим списком под первую строку.
На рис. 15 – скриншот, иллюстрирующий, как это выглядит в Параметрах Объекта.
Для начала я добавила четыре новых параметра (рис. 14):
Рис. 15. Окно Параметров Объекта
А на рис. 16 – то, что я дописала в 2D-скрипте (по традиции с переводом и комментариями).
Рис. 16. Дописанные строки в 2D-скрипте
На следующем скриншоте (рис. 17) я для большей ясности подкрасила разные типы слов/команд/переменных.
Рис. 17. Дописанные строки в 2D-скрипте с пояснениями
Объект готов (рис. 18).
Рис. 18. Новые объекты на плане под разными углами
А если бы я не писала строки с поворотом и масштабированием, то объект выглядел бы так, как на рис. 19.
Рис. 19. Новые объекты на плане под разными углами без строк поворота и масштабирования
ПРИМЕР №3 – детализация
Для упрощения работ над проектом можно
при написании объекта добавить текстовый параметр с выбором из
нескольких вариантов детализации (простой, средний, детальный). И в
3D-скрипте при построении разных мелких деталей дописать условие типа:
если уровень детализации = “детально”, то
(описание построения деталей)
конец условия
Отдельного внимания заслуживают
Глобальные Переменные. В справочном руководстве они занимают 40 страниц и
для удобства поиска сгруппированы по темам. В предыдущем примере я
использовала некоторые данные об ориентации объекта в проекте. Тот же
раздел справочного руководства содержит Глобальные Переменные для
координат расположения объекта – с их помощью создаются объекты типа
выноски с координатами или отметки высоты на разрезе/фасаде.
Очень часто используется GLOB_SCALE
– масштаб чертежа (зависит от вида согласно текущему окну), при
масштабе 1:100 он равен 100, при масштабе 1:20 равен 20. Применяется
чаще всего для перевода размера шрифта в метры модели или наоборот.
Также на этот параметр можно «повесить» варианты отображения на плане.
Например, для скамейки написать в 2D-скрипте следующее:
IF GLOB_SCALE < 100 THEN PROJECT2 3, 270, 2 ELSE RECT2 0, 0, A, B ENDIF |
! если масштаб крупнее, чем 1:100, то ! строить проекцию из 3D-модели ! иначе ! строить прямоугольник размерами AxB ! конец условия |
Так на генплане в масштабе 1:500 скамьи
отобразятся прямоугольниками, а на фрагменте с более крупным масштабом
будет отрисовываться детальная проекция.
Подобный прием, но уже для трехмерной модели, используется в стандартных деревьях – если включить галочку Автоматический тип кроны.
На определенном расстоянии от камеры тип кроны меняется с детального на
простой, а с простого на эллипс. Правда, для того чтобы скрипты объекта
перечитались, нужно что-то с ними сделать – например, после смены
ракурса, выделив все деревья, открыть окно параметров объекта и, ничего
не меняя, просто нажать ОК, или нажать и отжать галочку замены покрытий.
Покажу на примере аппроксимации сферы. Вот что я написала в 3D-скрипте:
discam_x=abs(GLOB_EYEPOS_X-SYMB_POS_X) discam_y=abs(GLOB_EYEPOS_Y-SYMB_POS_Y) discam_h=sqr(discam_x^2+discam_y^2) discam_z=abs(GLOB_EYEPOS_Z-SYMB_POS_Z) discam=sqr(discam_h^2+discam_z^2) if discam<=20 then res=50 if discam<=30 and discam>20 then res=20 if discam<=40 and discam>30 then res=10 if discam>40 then res=5
resol res |
! разница в координатах позиции глаз и объекта по оси X ! разница в координатах позиции глаз и объекта по оси Y ! расстояние от глаз до объекта в плане по теореме Пифагора ! разница в координатах позиции глаз и объекта по оси Z ! расстояние от глаз до объекта в пространстве по теореме Пифагора ! если расстояние до объекта меньше или равно 20 м, то res=50 ! если расстояние до объекта меньше или равно 30 м и больше 20, то res=20 ! если расстояние до объекта меньше или равно 40 м и больше 30, то res=10 ! если расстояние до объекта больше 40, то res=5 ! задать для последующих построений аппроксимацию res |
В скрипте я использовала Глобальные Переменные GLOB_EYEPOS_X, GLOB_EYEPOS_Y, GLOB_EYEPOS_Z – это координаты расположения камеры (глаз) в 3D-окне проекта и SYMB_POS_X, SYMB_POS_Y, SYMB_POS_Z – это координаты расположения объекта в пространстве;
abs – модуль числа (убирает «-», если он есть);
sqr – квадратный корень;
^2 – возведение числа в квадрат.
В 3D-окне на разном расстоянии от камеры сфера будет строиться с разной
аппроксимацией. Для наглядности я включила каркасный режим (рис. 20).
Рис. 20. Объект с разной аппроксимацией в зависимости от расстояния в 3D-окне
Через Глобальные Переменные объект может получить:
- данные о расположении проекта (север, широта, долгота, возвышение), установленные в соответствующем диалоговом окне;
- текущий этаж и собственный этаж;
- тип текущего вида (например, в перемычках ГОСТ используется
такое условие: если тип вида – ведомость, то строить вид перемычки в
сечении с выносками позиций); в примере с решеткой можно дописать такое
условие: если тип вида – ведомость, то не поворачивать систему
координат, чтобы в любом случае в ведомости решеток был бы фронтальный
вид; - неполный показ конструкций (можно заставить объект не показывать какие-то части, если выбран показ только ядра).
В объект окна или двери можно вытащить данные о стене. Выносные
надписи могут получить очень много различной информации об элементе, с
которым они связаны, – например, флажок со слоями многослойной
конструкции или выноску с объемом элемента. И так далее 40 страниц
разных и очень полезных Глобальных Переменных.
ПРИМЕР №4 – маркер зоны
Рассмотрим, как создается собственный маркер зоны. Если создать новый объект и в разделе Детали выбрать ему подтип Паспорт Зоны, то в разделе Параметры отображаются синим цветом все специфические параметры, которые инструмент Зона передает маркеру (рис. 21).
Рис. 21. Параметры объекта подтипа Паспорт Зоны
При помощи команды TEXT2 можно написать
любую из этих переменных в 2D-скрипте – так получится маркер, состоящий
только из текста (рис. 22).
Рис. 22. 2D-скрипт с использованием переменных зоны
Используя общие параметры маркера зоны, можно определить текстовый стиль и высоту строки, зависящую от высоты шрифта:
DEFINE STYLE «ROOM» AC_TextFont_1,ROOM_LSIZE,5,0 STYLE «ROOM» row = ROOM_LSIZE/1000*GLOB_SCALE*1.5 |
! определение текстового стиля ! назначение текстового стиля |
text2 0, row, text2 0, 0, text2 0, -row, |
ROOM_NUMBER ROOM_NAME ROOM_AREA |
Можно создать новый параметр для выбора
типа маркера (рис. 23), задать ему варианты в скрипте Параметров (рис.
24) и в 2D-скрипте прописать разные виды отрисовки маркера для разных
типов.
Рис. 23. Добавление параметра для типа маркера
Рис. 24. Скрипт Параметров – варианты значений параметра «mt»
2D-скрипт:
if mt="маркер с номером" then<br /> text2 0, 0, ROOM_NUMBER<br /> CIRCLE2 0,0,row<br /> endif<br /> if mt="номер и площадь" then<br /> text2 0, row/2, ROOM_NUMBER<br /> text2 0, -row/2, AREA_TEXT<br /> endif<br /> if mt="название и площадь" then<br /> text2 0, row/2, ROOM_NAME<br /> text2 0, -row/2, AREA_TEXT<br /> endif<br /> if mt="номер, название и площадь" then<br /> text2 0, row, ROOM_NUMBER<br /> text2 0, 0, ROOM_NAME<br /> text2 0, -row, AREA_TEXT<br /> endif<br /> if mt="только площадь" then<br /> text2 0, 0, AREA_TEXT<br /> endif
В этом скрипте в качестве площади я не
использовала заранее определенную переменную площади зоны, а
преобразовала площадь в текст и добавила к ней единицы измерения:
area = str (ROOM_AREA, 4, 2) AREA_TEXT = area + » кв.м.» |
! преобразования числа в текст с 2 знаками после запятой ! добавление к строковому значению букв “кв.м.” |
Можно дополнить строки в маркере
линиями, разделяющими некоторые строки. Чтобы найти длину строки, нужно
использовать команду STW. Допишем в начале скрипта:
tl1=stw(ROOM_NUMBER) /1000*GLOB_SCALE
tl2=stw(ROOM_NAME) /1000*GLOB_SCALE
tl3=stw(AREA_TEXT) /1000*GLOB_SCALE
if mt=»номер и площадь» if mt=»номер, название и площадь» if mt=»название и площадь» if mt=»только площадь» |
then tl= MAX (tl1, tl3) then tl= MAX (tl1, tl2) then tl= MAX (tl2, tl3) then tl= tl3 |
И в вариантах маркеров допишем линии командой LINE2 (рис. 25).
Рис. 25. 2D-скрипт
Если номер зоны состоит из нескольких
цифр, для маркера можно создать параметр радиуса окружности, независимый
от высоты шрифта, или же вместо окружности описать фигуру наподобие
эллипса, длиной равной длине строки номера зоны, которую мы нашли ранее:
POLY2_ 5, 1+2+4,
-tl1 /2, row, 1,
tl1 /2, row, 1,
tl1 /2, -row, 1001,
-tl1 /2, -row, 1, -tl1 /2, row, 1001
Можно добавить новый параметр для типа
пола (FLOOR_TYPE) и параметр, позволяющий скрывать или показывать его
(ShowFloorType), а в 2D-скрипте дописать треугольник полилинией и текст с
типом пола:
if ShowFloorType then
ADD2 0, row*3
POLY2_ 4, 1,
-row*1.4, -row*0.8, 1,
row*2.8, 60, 201,
row*1.4, -row*0.8, 1,
0, 0, 700
text2 0,0, FLOOR_TYPE
endif
Для типа пола желательно добавить
отдельный параметр для пера, а также точки для графического
редактирования расположения маркера пола. О том, как добавлять точки
графического редактирования, я подробно рассказывала в своем вебинаре, а по ссылке в конце статьи можно скачать объекты и посмотреть, как это реализовано в данном конкретном случае.
И напоследок рассмотрим еще один очень важный подтип объекта, который
открывает большие возможности, – Глобальные Параметры Библиотеки (рис.
26).
Рис. 26. Выбор подтипа объекта «Глобальные Параметры Библиотеки»
Объект с этим подтипом ничего не строит и
не чертит, он определяет параметры в модельных видах. Таким образом,
туда можно вынести те параметры, которые хотелось бы видеть общими у
объекта, но при этом иметь возможность выставить разное значение для
разных видов.
Покажу это на примере маркера зоны. Мне попадались проекты, в которых
было несколько комплектов зон в разных слоях для разных видов. Если есть
потребность в разных маркерах, то Глобальные Параметры Библиотеки –
лучшее решение.
У меня есть маркер, в котором есть возможность ставить тип пола в
треугольнике и менять тип маркировки (рис. 27). И эти два параметра
вынесены в отдельный файл подтипа Глобальные Параметры Библиотеки (рис.
28).
Рис. 27. Зона со специальным маркером в окне плана
Рис. 28. Параметры объекта подтипа «Глобальные Параметры Библиотеки»
Чтобы эти параметры отобразились в диалоговом окне Параметры Модельного Вида,
нужно прописать их в скрипте Интерфейса объекта (рис. 29). Не буду
подробно задерживаться на специальных командах для этого скрипта, они
достаточно подробно и с примерами описаны в справочнике. Скажу только,
что тут мы описываем, в каком месте поля графического интерфейса будет
располагаться та или иная надпись или кнопка (поле с выбором вариантов,
галочка и т.д.), в Пользовательский Интерфейс можно вставлять и
изображения. В стандартной библиотеке почти каждый объект имеет
графический интерфейс; вы можете увидеть все возможности и посмотреть,
как написаны эти скрипты. Кроме кнопки Проверить скрипт имеет еще и кнопку Просмотр. Нажав на нее, можно быстро увидеть, что получается.
Рис. 29. Скрипт интерфейса объекта подтипа «Глобальные Параметры Библиотеки»
Можно сохранить объект и посмотреть его в диалоговом окне Параметры Модельного Вида (рис. 30). Здесь мы сможем менять тип маркировки сразу для всех зон в проекте (с этим маркером), но отдельно для разных видов.
Рис. 30. Новая вкладка Глобальных Параметров в диалоговом окне Параметры Модельного Вида
Теперь в объекте маркера зоны нужно запросить у объекта значения этих двух параметров.
В Основном Скрипте (который читается объектом первым, поэтому все
расчеты и определения значений, которые должны применяться в нескольких
скриптах, лучше писать тут) пишу две вот такие строки:
success1 = LIBRARYGLOBAL («LibraryGlobals20», «ShowFloorType», ShowFloorType)
success2 = LIBRARYGLOBAL («LibraryGlobals20», «mt», mt)
«success» будет равен 1, если запрос выполнен успешно; в противном случае будет 0.
Это можно использовать для того, чтобы вместо маркера зоны написать
предупреждающее сообщение о том, что в библиотеку не подгружен объект
LibraryGlobals20.
Дальше объект работает как обычно, используя два новых значения: если тип маркировки такой-то, то писать то-то и то-то и т.д.
В этой статье я осветила лишь малую
часть возможностей GDL. С его помощью можно создавать как совсем простые
элементы для оформления, так и очень сложные объекты.
Например, вы занимаетесь небольшими и простыми домами из СИП-панелей. У
вас есть определенный список вариантов изменений проекта:
- длина и ширина дома может быть от 2,4 до 24 метров с шагом 1,2 м;
- если ширина превышает 6 м, то посередине должна стоять еще одна стена;
- два варианта высоты этажа в зависимости от типоразмера панели;
- этажность – один или два этажа;
- окна могут быть в определенных местах панелей, определенного размера;
- отделка фасадов в трех вариантах;
- кровельное покрытие в трех вариантах;
- толщина стен нескольких типоразмеров
- и так далее.
Вы можете задать все эти параметры
для объекта, дописав еще стоимость за квадратный метр панели, кровли,
отделки и т.д. А в 2D- и 3D-скриптах объекта полностью выстроить и
вычертить этот дом с переменными вместо статичных размеров. Чтобы
пользователь не запутался в длинном списке параметров, можно написать
графический интерфейс на несколько страниц с картинками и схемами.
В Основном Скрипте посчитать все объемы и вывести стоимость. Еще можно в
2D-скрипте рядом с планом вывести таблицу с раскроем панелей. Написание
такого объекта потребует немало времени, нужно будет составить
детальное ТЗ, предусмотреть все нюансы, но зато вы получите не просто
объект, а почти программу, в которой выбором параметров можно будет
получить комплект эскизного проекта с расчетом материалов и стоимости
для заказчика.
Надеюсь, этим обзором я кого-то
заинтересовала возможностями GDL. Моя история началась с острого желания
изменить какую-то мелочь в каком-то стандартном маркере зоны, и чем
больше я вчитываюсь в справочник, тем больше раскрывается потенциал
этого инструмента, на мой взгляд, очень полезного для архитектора.
По ссылке ниже можно скачать все объекты, которые рассматривались в качестве примеров в этой статье:
Скачать примеры
Примечание. Для написания этих объектов использовался ARCHICAD 20, поэтому в более ранних версиях они не откроются.
О GRAPHISOFT
Компания GRAPHISOFT® в 1984 году совершила BIM революцию, разработав ARCHICAD®
— первое в индустрии САПР BIM-решение для архитекторов. GRAPHISOFT
продолжает лидировать на рынке архитектурного программного обеспечения,
создавая такие инновационные продукты, как BIMcloud™ — первое в мире решение, направленное на организацию совместного BIM-проектирования в режиме реального времени, EcoDesigner™
— первое в мире полностью интегрированное приложение, предназначенное
для энергетического моделирования и оценки энергоэффективности зданий и BIMx®
— лидирующее мобильное приложение для демонстрации и презентации
BIM-моделей. С 2007 года компания GRAPHISOFT входит в состав концерна Nemetschek Group.
Идя навстречу многочисленным пожеланиям профессиональных пользователей Archicad, компания Graphisoft локализовала на русский язык документацию «Справочное руководство GDL», которая входит в официальный комплект поставки программы Archicad и поставляется в электронном виде на DVD диске в межплатформенном PDF-формате.
Переведенное справочное руководство касается последней модификации языка GDL (Geometric Description Language, встроенном языке программы Archicad), содержащейся в Archicad версии 11, затрагивает все аспекты программирования, описывает все заложенные в язык команды и управляющие директивы. Это самое полное руководство по программированию на языке GDL.
Бесплатно скачать документацию «Справочное руководство GDL Archicad 11» вы можете с русскоязычного веб-сайта, посвященного программе Archicad — openBIM.ru. Успехов в написании библиотек под Archicad!
Объекты, написанные на языке GDL (Geometric Description Language, встроенном языке программы Archicad) — это самый оптимальный способ описания строительных конструкций и изделий для их дальнейшего использования в системах проектирования и программах для эксплуатационных служб. GDL объекты могут содержать различную информацию: 2D чертеж/символ объекта и его 3D геометрию, информацию об изделии и его характеристики, параметры, структуру и конструкцию изделия, покрытие и т.д.
С помощью языка GDL вы можете разрабатывать рекламные каталоги своей продукции и распространять их на выставках, торговых точках, Интернет — привлеките внимание проектировщиков к продукции вашей фирмы!
- 3 апреля 2008 г.
Разработчикам,
Техподдержка,
Новости
ArchiCAD 11 GDL Reference Guide
Graphisoft
Visit the Graphisoft website at http://www.graphisoft.com for local distributor and product availability information.
ArchiCAD 11 GDL Reference Guide
Copyright © 2007 by Graphisoft, all rights reserved. Reproduction, paraphrasing or translation without express prior written permission is strictly prohibited.
Trademarks
ArchiCAD and ArchiFM are registered trademarks and PlotMaker, Virtual Building, StairMaker and GDL are trademarks of Graphisoft. All other trademarks are the property of their respective holders.
Introduction
This manual is a complete reference for Graphisoft’s proprietary scripting language, GDL (Geometric Description Language). The manual is recommended for those users who wish to expand on the possibilities presented by the construction tools and object libraries available in Graphisoft software. It gives a detailed description of GDL, including syntax definition, commands, variables, etc.
ArchiCAD 11 GDL Reference Guide |
3 |
4 |
ArchiCAD 11 GDL Reference Guide |
General Overview ____________________________________11 Starting Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Library Part Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Analyze, Deconstruct and Simplify . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Elaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Entry Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Intermediate Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Advanced Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Expert Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3D Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
The 3D Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Coordinate Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 The GDL Interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 The GDL Script Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
GDL Syntax _________________________________________21 Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Characters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Simple Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Derived Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
Coordinate Transformations __________________________ 25 2D Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 3D Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 Managing the Transformation Stack . . . . . . . . . . . . . . . . . . . .29
3D Shapes __________________________________________31 Basic Shapes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
BLOCK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 BRICK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 CYLIND. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
SPHERE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 ELLIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 CONE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 PRISM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 PRISM_. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 CPRISM_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 BPRISM_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 FPRISM_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 HPRISM_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 SPRISM_. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 SLAB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 SLAB_. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 CSLAB_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 CWALL_. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 BWALL_. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 XWALL_. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 XWALL_{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 BEAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 CROOF_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 ARMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 ARME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 ELBOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Planar Shapes in 3D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
HOTSPOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 LIN_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 RECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 POLY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 POLY_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 PLANE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 PLANE_. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 CIRCLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 ARC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Shapes Generated from Polylines . . . . . . . . . . . . . . . . . . . . . . . 62
EXTRUDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 PYRAMID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
ArchiCAD 11 GDL Reference Guide |
5 |
Contents
REVOLVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 RULED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 RULED{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 SWEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 TUBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 TUBEA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 COONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 MASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Elements for Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
LIGHT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 PICTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3D Text Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 RICHTEXT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Primitive Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
VERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 TEVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 VECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 EDGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 PGON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 PIPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 COOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 BODY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 BASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Cutting in 3D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
CUTPLANE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 CUTPOLY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 CUTPOLYA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 CUTSHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 CUTFORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Solid Geometry Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 108
GROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 ENDGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 ADDGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 SUBGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 ISECTGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 ISECTLINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 PLACEGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 KILLGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
SWEEPGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114
Binary 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
2D Shapes__________________________________________117 Drawing Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
HOTSPOT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117 LINE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117 RECT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118 POLY2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118 POLY2_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119 POLY2_A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119 POLY2_B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 POLY2_B{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 POLY2_B{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 ARC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 CIRCLE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 SPLINE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 SPLINE2A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 PICTURE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125 PICTURE2{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
Text Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
TEXT2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126 RICHTEXT2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
Binary 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
FRAGMENT2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127 FRAGMENT2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
3D Projections in 2D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
PROJECT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127 PROJECT2{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 PROJECT2{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
Drawings in the List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
DRAWING2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131 DRAWING3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131 DRAWING3{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131 DRAWING3{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
Graphical Editing __________________________________ 133 Hotspot-based Editing Commands. . . . . . . . . . . . . . . . . . . . .133
HOTSPOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133 HOTLINE2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137
6 |
ArchiCAD 11 GDL Reference Guide |
Contents
HOTARC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138
Status Codes _______________________________________ 139 Status Code Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Additional Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141
Previous part of the polyline: current position and tangent is defined. 141
Segment by absolute endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141 Segment by relative endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142 Segment by length and direction . . . . . . . . . . . . . . . . . . . . . . . . . . .142 Tangential segment by length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143 Set start point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143 Close polyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144 Set tangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144 Set centerpoint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145 Tangential arc to endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145 Tangential arc by radius and angle . . . . . . . . . . . . . . . . . . . . . . . . . .146 Arc using centerpoint and point on the final radius . . . . . . . . . . . .146 Arc using centerpoint and angle . . . . . . . . . . . . . . . . . . . . . . . . . . . .147 Full circle using centerpoint and radius . . . . . . . . . . . . . . . . . . . . . .147
Attributes _________________________________________ 151 Directives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
Directives for 3D and 2D Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . .151
[LET] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151 RADIUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152 RESOL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153 TOLER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154 PEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154 LINE_PROPERTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155 [SET] STYLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155 SET STYLE 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155
Directives Used in 3D Scripts Only . . . . . . . . . . . . . . . . . . . . . . . . .155
MODEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155 [SET] MATERIAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 SECT_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 SHADOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
Directives Used in 2D Scripts Only . . . . . . . . . . . . . . . . . . . . . . . . .159
DRAWINDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159 [SET] FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
[SET] LINE_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
Inline Attribute Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
Materials. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
DEFINE MATERIAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160 DEFINE MATERIAL BASED_ON . . . . . . . . . . . . . . . . . . . . .163 DEFINE TEXTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
Fills. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
DEFINE FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166 DEFINE FILLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169 DEFINE SYMBOL_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 DEFINE SOLID_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172 DEFINE EMPTY_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
Line Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
DEFINE LINE_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172 DEFINE SYMBOL_LINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
DEFINE STYLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173 DEFINE STYLE {2}. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
Paragraph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175 Textblock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176 Additional Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
External file dependence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
Non-Geometric Scripts ______________________________ 179 The Properties Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179
DATABASE_SET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179 DESCRIPTOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180 REF DESCRIPTOR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180 COMPONENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180 REF COMPONENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 BINARYPROP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 SURFACE3D ( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 VOLUME3D ( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 POSITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 DRAWING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182
The Parameter Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182
VALUES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183 PARAMETERS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184 LOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185 HIDEPARAMETER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
ArchiCAD 11 GDL Reference Guide |
7 |
Contents
The User Interface Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
UI_DIALOG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 UI_PAGE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 UI_CURRENT_PAGE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 UI_BUTTON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 UI_SEPARATOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 UI_GROUPBOX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 UI_PICT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 UI_STYLE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 UI_OUTFIELD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 UI_INFIELD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 UI_INFIELD {2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 UI_INFIELD{3} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 UI_TOOLTIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Expressions and Functions ___________________________ 195 Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
DIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 VARDIM1(expr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 VARDIM2(expr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Arithmetical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Relational Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Boolean Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Arithmetical Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
ABS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 CEIL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 FRA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 ROUND_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 SGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 SQR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Circular Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
ACS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 ASN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 ATN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 COS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 SIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 TAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
PI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
Transcendental Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
EXP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200 LGT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200 LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
Boolean Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
Statistical Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
MIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201 MAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201 RND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
Bit functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
BITTEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201 BITSET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
Special Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202 String Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202
STR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202 STR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202 STR{2} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202 SPLIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205 STW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206 STRLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206 STRSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206 STRSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207
Control Statements _________________________________ 209 Flow Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
FOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209 NEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209 DO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210 IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212 GOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213 GOSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213 RETURN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213 END / EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
Parameter Buffer Manipulation . . . . . . . . . . . . . . . . . . . . . . . .214 Macro Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218 The Output Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 File Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
OPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220
8 |
ArchiCAD 11 GDL Reference Guide |
Contents
INPUT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220 VARTYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221 OUTPUT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221 CLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221
Miscellaneous______________________________________ 223 Global Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
General environment information . . . . . . . . . . . . . . . . . . . . . . . . . .223 Story information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224 Fly-through information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224 General element parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225 Object, Lamp, Door, Window parameters. . . . . . . . . . . . . . . . . . . .225 Object, Lamp parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226 Object, Lamp, Door, Window parameters — available for listing and labels only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226 Object, Lamp parameters — available for listing and labels only . . .226 Window, Door and Wall End parameters . . . . . . . . . . . . . . . . . . . .227 Window, Door parameters — available for listing and labels only . .228 Lamp parameters — available for listing and labels only . . . . . . . . . .228 Label parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229 Wall parameters — available for Doors/Windows. . . . . . . . . . . . . . .230 Wall parameters — available for listing and labels only . . . . . . . . . . .231 Column parameters — available for listing and labels only . . . . . . . .233 Beam parameters — available for listing and labels only . . . . . . . . . .235 Slab parameters — available for listing and labels only . . . . . . . . . . .236 Roof parameters — available for listing and labels only . . . . . . . . . .237 Fill parameters — available for listing and labels only . . . . . . . . . . . .238 Mesh parameters — available for listing and labels only . . . . . . . . . .238 Free users’ globals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239 Old Global Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .240
Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
REQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242 REQUEST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243
Doors and Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
General Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253 Creation of Door/Window Library Parts . . . . . . . . . . . . . . . . . . . .254 3D related challanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254 Rectangular Doors/Windows in Straight Walls . . . . . . . . . . . . . . . .254 Non-Rectangular Doors/Windows in Straight Walls . . . . . . . . . . .256
WALLHOLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
WALLNICHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .260
Rectangular Doors/Windows in Curved Walls . . . . . . . . . . . . . . . .261 Non-Rectangular Doors/Windows in Curved Walls. . . . . . . . . . . .263 2D Related Challanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264
Cutting custom wall opening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264 WALLHOLE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264 WALLBLOCK2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265 WALLLINE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265 WALLARC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266
GDL Created from the Floor Plan . . . . . . . . . . . . . . . . . . . . . 266 Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Common Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267 Reserved Keywords. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267 3D Use Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .268 2D Use Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .270 2D and 3D Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271 Non-Geometric Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271
Property Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271 Parameter Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272 Interface Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .273
Alphabetical List of Current GDL Keywords . . . . . . . . . . . . . . . . .274
A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274 B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274 C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275 D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278 E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .280 F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .280 G. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281 H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281 I. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281 K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282 L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282 M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282 N. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283 O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283 P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284 R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286 S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289 T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290
ArchiCAD 11 GDL Reference Guide |
9 |
Contents
U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 W. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Parameter Naming Convention . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
GDL Data I/O Add-On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Description of Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Opening a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Reading Values from Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Writing Values into Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Closing Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
GDL DateTime Add-On. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Opening Channel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Reading Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Closing Channel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
GDL File Manager I/O Add-On . . . . . . . . . . . . . . . . . . . . . . 301
Specifying Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Getting File/Folder Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Finishing Folder Scanning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .302
GDL Text I/O Add-On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Opening File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303
Reading Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .304
Writing Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305
Closing File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306
Property GDL Add-On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
OPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307
CLOSE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307
INPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308
OUTPUT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311
GDL XML Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Opening XML Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312
Reading XML Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .313
Modifying XML Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316
Index_____________________________________________ 321
10 |
ArchiCAD 11 GDL Reference Guide |
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #