New introduction section in IOS docs

This commit is contained in:
Dion Moult
2023-09-27 18:21:20 +10:00
parent c1bedec354
commit 986ffe66f8
16 changed files with 373 additions and 252 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

@@ -0,0 +1,340 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="109.26941mm"
height="43.140995mm"
viewBox="0 0 109.26941 43.140994"
version="1.1"
id="svg5949"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="ifc-concepts.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview5951"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="3.2213244"
inkscape:cx="203.48774"
inkscape:cy="70.623127"
inkscape:window-width="1920"
inkscape:window-height="1055"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
inkscape:current-layer="g6319" />
<defs
id="defs5946" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-50.82658,-122.98702)">
<rect
style="fill:#ffffff;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2.4, 1.2"
id="rect6321"
width="108.964"
height="42.840996"
x="50.978603"
y="123.13702"
rx="1"
ry="1" />
<g
id="g6319">
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="63.653316"
y="136.22639"
id="text2382"><tspan
sodipodi:role="line"
id="tspan2380"
style="fill:#2e3436;stroke:none;stroke-width:0.3"
x="63.653316"
y="136.22639">BEAM</tspan></text>
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="M 81.679206,134.15073 H 71.177442"
id="path2452"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 88.001513,134.15073 h 6.268424"
id="path2454"
sodipodi:nodetypes="cc" />
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
id="rect2384"
width="15.048248"
height="5.4335899"
x="56.129192"
y="131.43393"
rx="1"
ry="1" />
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect2392"
width="6.3223071"
height="2.2828455"
x="81.679207"
y="133.00931"
rx="0.42013577"
ry="0.42013577" />
<g
id="g2515"
transform="translate(41.0339,46.77625)">
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#73d216;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="65.356758"
y="89.45015"
id="text2388"><tspan
sodipodi:role="line"
id="tspan2386"
style="fill:#73d216;stroke:none;stroke-width:0.3"
x="65.356758"
y="89.45015">MATERIAL</tspan></text>
<rect
style="fill:none;stroke:#73d216;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
id="rect2390"
width="24.448156"
height="5.4335899"
x="53.236038"
y="84.657684"
rx="1"
ry="1" />
</g>
<text
xml:space="preserve"
style="font-size:2.82222px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="58.451916"
y="129.84737"
id="text2466"><tspan
sodipodi:role="line"
style="font-size:2.82222px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="58.451916"
y="129.84737"
id="tspan2464">THIS BEAM</tspan></text>
<text
xml:space="preserve"
style="font-size:2.82222px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="77.731064"
y="129.84737"
id="text2484"><tspan
sodipodi:role="line"
style="font-size:2.82222px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="77.731064"
y="129.84737"
id="tspan2482">IS MADE FROM</tspan></text>
<text
xml:space="preserve"
style="font-size:2.82222px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="103.59808"
y="129.84737"
id="text2488"><tspan
sodipodi:role="line"
style="font-size:2.82222px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="103.59808"
y="129.84737"
id="tspan2486">STEEL</tspan></text>
<g
id="g2505"
transform="translate(41.0339,46.77625)">
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="66.070381"
y="101.95021"
id="text2492"><tspan
sodipodi:role="line"
id="tspan2490"
style="fill:#2e3436;stroke:none;stroke-width:0.3"
x="66.070381"
y="101.95021">STOREY</tspan></text>
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
id="rect2494"
width="22.647181"
height="5.4335899"
x="54.746784"
y="97.157753"
rx="1"
ry="1" />
</g>
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect2517"
width="6.3223071"
height="2.2828455"
x="81.679207"
y="145.50937"
rx="0.42013577"
ry="0.42013577" />
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect2519"
width="6.3223071"
height="2.2828455"
x="81.679207"
y="156.96959"
rx="0.42013577"
ry="0.42013577" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 88.001513,146.6508 h 7.779171"
id="path2521"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 88.001513,158.11101 10.127774,1e-5"
id="path2523"
sodipodi:nodetypes="cc" />
<g
id="g2510"
transform="translate(41.0339,46.77625)">
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#3465a4;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="64.681526"
y="113.41045"
id="text2498"><tspan
sodipodi:role="line"
id="tspan2496"
style="fill:#3465a4;stroke:none;stroke-width:0.3"
x="64.681526"
y="113.41045">TASK</tspan></text>
<rect
style="fill:none;stroke:#204a87;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
id="rect2500"
width="15.048248"
height="5.4335899"
x="57.095387"
y="108.61797"
rx="1"
ry="1" />
</g>
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 81.679206,146.6508 c -6.322309,0 -6.309216,-12.50007 -10.501764,-12.50007 4.192548,0 4.179457,23.96028 10.501764,23.96028"
id="path2525"
sodipodi:nodetypes="ccc" />
<text
xml:space="preserve"
style="font-size:2.82222px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="77.540207"
y="142.06029"
id="text2529"><tspan
sodipodi:role="line"
style="font-size:2.82222px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="77.540207"
y="142.06029"
id="tspan2527">IS LOCATED ON</tspan></text>
<text
xml:space="preserve"
style="font-size:2.82222px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="79.1091"
y="153.96016"
id="text2533"><tspan
sodipodi:role="line"
style="font-size:2.82222px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="79.1091"
y="153.96016"
id="tspan2531">IS BUILT ON</tspan></text>
<text
xml:space="preserve"
style="font-size:2.82222px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="103.17963"
y="142.06029"
id="text2537"><tspan
sodipodi:role="line"
style="font-size:2.82222px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="103.17963"
y="142.06029"
id="tspan2535">LEVEL 3</tspan></text>
<text
xml:space="preserve"
style="font-size:2.82222px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="99.207642"
y="153.96016"
id="text2541"><tspan
sodipodi:role="line"
style="font-size:2.82222px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="99.207642"
y="153.96016"
id="tspan2539">ACTIVITY 3.14</tspan></text>
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect2692"
width="6.3223071"
height="2.2828455"
x="123.30532"
y="156.96959"
rx="0.42013577"
ry="0.42013577" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 113.17753,158.11102 10.12778,-1e-5"
id="path2694" />
<g
id="g2702"
transform="translate(82.649738,46.77625)">
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#3465a4;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="64.681526"
y="113.41045"
id="text2698"><tspan
sodipodi:role="line"
id="tspan2696"
style="fill:#3465a4;stroke:none;stroke-width:0.3"
x="64.681526"
y="113.41045">TIME</tspan></text>
<rect
style="fill:none;stroke:#204a87;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
id="rect2700"
width="15.048248"
height="5.4335899"
x="57.095387"
y="108.61797"
rx="1"
ry="1" />
</g>
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 129.62762,158.11101 h 10.1175"
id="path2704" />
<text
xml:space="preserve"
style="font-size:2.82222px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="119.19112"
y="153.96016"
id="text2708"><tspan
sodipodi:role="line"
style="font-size:2.82222px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="119.19112"
y="153.96016"
id="tspan2706">SCHEDULED ON</tspan></text>
<text
xml:space="preserve"
style="font-size:2.82222px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="141.91006"
y="153.96016"
id="text2712"><tspan
sodipodi:role="line"
style="font-size:2.82222px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="141.91006"
y="153.96016"
id="tspan2710">OCTOBER 2</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

@@ -0,0 +1,316 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="99.938004mm"
height="60.486137mm"
viewBox="0 0 99.938004 60.486138"
version="1.1"
id="svg5268"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="ifc-graph.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview5270"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.6106622"
inkscape:cx="144.35057"
inkscape:cy="81.022577"
inkscape:window-width="1920"
inkscape:window-height="1055"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs5265" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-30.523254,-108.72927)">
<rect
style="fill:#ffffff;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2.4, 1.2"
id="rect5742"
width="99.638"
height="60.185001"
x="30.673254"
y="108.87929"
rx="1"
ry="1" />
<g
id="g5788">
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
id="rect234"
width="15.048248"
height="5.4335899"
x="71.557228"
y="141.16963"
rx="1"
ry="1" />
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="79.081352"
y="145.9621"
id="text344"><tspan
sodipodi:role="line"
id="tspan342"
style="fill:#2e3436;stroke:none;stroke-width:0.3"
x="79.081352"
y="145.9621">WALL</tspan></text>
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="104.69791"
y="135.05125"
id="text958"><tspan
sodipodi:role="line"
id="tspan956"
style="fill:#2e3436;stroke:none;stroke-width:0.3"
x="104.69791"
y="135.05125">WINDOW</tspan></text>
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="59.211483"
y="135.05125"
id="text1061"><tspan
sodipodi:role="line"
id="tspan1059"
style="fill:#2e3436;stroke:none;stroke-width:0.3"
x="59.211483"
y="135.05125">SLAB</tspan></text>
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="47.167591"
y="148.8289"
id="text1115"><tspan
sodipodi:role="line"
id="tspan1113"
style="fill:#2e3436;stroke:none;stroke-width:0.3"
x="47.167591"
y="148.8289">COLUMN</tspan></text>
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
id="rect1137"
width="22.647181"
height="5.4335899"
x="93.374313"
y="130.25879"
rx="1"
ry="1" />
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
id="rect1139"
width="22.647181"
height="5.4335899"
x="35.82333"
y="144.03644"
rx="1"
ry="1" />
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
id="rect1141"
width="15.048248"
height="5.4335899"
x="51.687359"
y="130.25879"
rx="1"
ry="1" />
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect1147"
width="6.3223071"
height="2.2828455"
x="77.55674"
y="131.83417"
rx="0.42013577"
ry="0.42013577" />
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect1149"
width="6.3223071"
height="2.2828455"
x="35.82333"
y="123.47385"
rx="0.42013577"
ry="0.42013577" />
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect1151"
width="6.3223071"
height="2.2828455"
x="37.613728"
y="155.89835"
rx="0.42013577"
ry="0.42013577" />
<rect
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
id="rect1153"
width="6.3223071"
height="2.2828455"
x="116.12518"
y="114.02991"
rx="0.42013577"
ry="0.42013577" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 47.14692,149.47002 9.127786,8.86116"
id="path1209" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 40.774879,155.89834 2.968006,-6.27831"
id="path1373" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 50.286778,144.03644 8.924703,-8.34406"
id="path1375" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 71.55723,143.88643 -9.2891,-8.04405"
id="path1377" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 79.081353,141.16964 1.636543,-7.05263"
id="path1379" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="M 77.556742,132.97559 H 66.735604"
id="path1381" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 59.211481,130.25879 3.442457,-9.1798"
id="path1383" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 74.878015,118.3622 14.621643,0.96736"
id="path1385" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 80.717896,131.83416 16.305887,-9.78781"
id="path1387" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 104.6979,130.25879 -4.12665,-8.06244"
id="path1389" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 104.54791,119.32956 11.57727,-4.15822"
id="path1391" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 79.081353,146.60323 -2.835368,11.87795"
id="path1393" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="m 104.6979,135.69238 6.77805,10.41973"
id="path1395" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="M 86.605478,143.88643 97.79072,148.8289"
id="path1397" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="M 47.14692,144.03644 38.984484,125.75669"
id="path1399" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="M 38.984484,123.47384 50.429859,118.3622"
id="path1403" />
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#73d216;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="62.550583"
y="120.43787"
id="text1123"><tspan
sodipodi:role="line"
id="tspan1121"
style="fill:#73d216;stroke:none;stroke-width:0.3"
x="62.550583"
y="120.43787">MATERIAL</tspan></text>
<rect
style="fill:none;stroke:#73d216;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
id="rect1143"
width="24.448156"
height="5.4335899"
x="50.429859"
y="115.6454"
rx="1"
ry="1" />
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#3465a4;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="111.49662"
y="150.90457"
id="text1127"><tspan
sodipodi:role="line"
id="tspan1125"
style="fill:#3465a4;stroke:none;stroke-width:0.3"
x="111.49662"
y="150.90457">COST ITEM</tspan></text>
<rect
style="fill:none;stroke:#204a87;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
id="rect1133"
width="27.370462"
height="5.4335899"
x="97.790718"
y="146.11211"
rx="1"
ry="1" />
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#3465a4;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="97.085793"
y="121.40523"
id="text1119"><tspan
sodipodi:role="line"
id="tspan1117"
style="fill:#3465a4;stroke:none;stroke-width:0.3"
x="97.085793"
y="121.40523">TASK</tspan></text>
<rect
style="fill:none;stroke:#204a87;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
id="rect1145"
width="15.048248"
height="5.4335899"
x="89.499657"
y="116.61276"
rx="1"
ry="1" />
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#cc0000;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="76.266655"
y="163.27365"
id="text1131"><tspan
sodipodi:role="line"
id="tspan1129"
style="fill:#cc0000;stroke:none;stroke-width:0.3"
x="76.266655"
y="163.27365">STRUCTURAL LOAD</tspan></text>
<rect
style="fill:none;stroke:#cc0000;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
id="rect1135"
width="48.767857"
height="5.4335899"
x="51.862061"
y="158.48119"
rx="1"
ry="1" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

@@ -0,0 +1,493 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="112.01208mm"
height="157.0311mm"
viewBox="0 0 112.01209 157.03109"
version="1.1"
id="svg6566"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="ifc-tree.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview6568"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.1389101"
inkscape:cx="193.60614"
inkscape:cy="326.18903"
inkscape:window-width="1920"
inkscape:window-height="1055"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs6563">
<marker
style="overflow:visible"
id="Dot"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Dot"
markerWidth="5.6666665"
markerHeight="5.6666665"
viewBox="0 0 5.6666667 5.6666667"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5,0 C 5,2.76 2.76,5 0,5 -2.76,5 -5,2.76 -5,0 c 0,-2.76 2.3,-5 5,-5 2.76,0 5,2.24 5,5 z"
id="Dot1"
sodipodi:nodetypes="sssss" />
</marker>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-21.200816,-31.216754)">
<rect
style="fill:#ffffff;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2.4, 1.2"
id="rect7104"
width="111.712"
height="156.731"
x="21.350901"
y="31.36676"
rx="1"
ry="1" />
<g
id="g7188">
<g
id="g3435"
transform="translate(-46.33097,17.229709)">
<path
id="path1709"
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
d="m 135.03507,19.287295 c -0.554,0 -0.99994,0.445939 -0.99994,0.999939 0.0332,8.996822 0.002,9.463219 0,17.300237 0,0.553999 0.44594,0.999939 0.99994,0.999939 h 19.70835 c 0.554,0 0.99994,-0.44594 0.99994,-0.999939 V 24.721073 c 0,-0.554 -0.44594,-1.000456 -0.99994,-1.000456 h -5.66012 v -3.433383 c 0,-0.554 -0.44594,-0.999939 -0.99993,-0.999939 z"
sodipodi:nodetypes="sccssssscsss" />
<text
xml:space="preserve"
style="font-size:5.64444px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="140.09"
y="24.079739"
id="text1713"><tspan
sodipodi:role="line"
id="tspan1711"
style="font-size:5.64444px;fill:#2e3436;stroke:none;stroke-width:0.3"
x="140.09"
y="24.079739">ROOT</tspan></text>
<text
xml:space="preserve"
style="font-size:3.52778px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="135.17041"
y="27.999969"
id="text1725"><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="135.17041"
y="27.999969"
id="tspan1715">- GLOBAL ID</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="135.17041"
y="32.409695"
id="tspan1717">- NAME</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="135.17041"
y="36.81942"
id="tspan1719">- DESCRIPTION</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="135.17041"
y="41.229145"
id="tspan1723" /></text>
</g>
<g
id="g3183"
transform="translate(-46.571039,17.229709)">
<path
id="path1729"
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
d="m 120.4235,46.746787 c -0.554,0 -0.99994,0.445939 -0.99994,0.999939 0.0332,8.996821 0.002,18.459051 0,26.296069 0,0.553999 0.44594,0.999939 0.99994,0.999939 h 19.70835 c 0.554,0 0.99994,-0.44594 0.99994,-0.999939 V 52.180564 c 0,-0.554 -0.44594,-1.000456 -0.99994,-1.000456 h -1.95595 v -3.433382 c 0,-0.554 -0.44594,-0.999939 -0.99993,-0.999939 z"
sodipodi:nodetypes="sccssssscsss" />
<text
xml:space="preserve"
style="font-size:5.64444px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="128.53528"
y="51.539227"
id="text1733"><tspan
sodipodi:role="line"
id="tspan1731"
style="font-size:5.64444px;fill:#2e3436;stroke:none;stroke-width:0.3"
x="128.53528"
y="51.539227">OBJECTS</tspan></text>
<text
xml:space="preserve"
style="font-size:3.52778px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="120.55885"
y="55.459461"
id="text1745"><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="120.55885"
y="55.459461"
id="tspan1735">- GLOBAL ID</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="120.55885"
y="59.869186"
id="tspan1737">- NAME</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="120.55885"
y="64.278908"
id="tspan1739">- DESCRIPTION</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="120.55885"
y="68.688637"
id="tspan1741">- TYPE</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="120.55885"
y="73.098358"
id="tspan1743">...</tspan></text>
</g>
<g
id="g3190"
transform="translate(-49.001431,17.229709)">
<path
id="path2090"
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
d="m 152.55717,46.746787 c -0.554,0 -0.99994,0.445939 -0.99994,0.999939 0.0332,8.996821 0.002,0.467384 0,8.304402 0,0.553999 0.44594,0.999939 0.99994,0.999939 h 19.70835 c 0.554,0 0.99994,-0.44594 0.99994,-0.999939 v -3.870564 c 0,-0.554 -0.44594,-1.000456 -0.99994,-1.000456 h -1.95595 v -3.433382 c 0,-0.554 -0.44594,-0.999939 -0.99993,-0.999939 z"
sodipodi:nodetypes="sccssssscsss" />
<text
xml:space="preserve"
style="font-size:5.64444px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="158.9061"
y="51.539227"
id="text2094"><tspan
sodipodi:role="line"
id="tspan2092"
style="font-size:5.64444px;fill:#2e3436;stroke:none;stroke-width:0.3"
x="158.9061"
y="51.539227">TYPES</tspan></text>
<text
xml:space="preserve"
style="font-size:3.52778px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="152.69252"
y="55.459461"
id="text2106"><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="152.69252"
y="55.459461"
id="tspan2104">...</tspan></text>
</g>
<g
id="g3216"
transform="translate(-79.922916,20.533045)">
<path
id="path1951"
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
d="m 120.4235,79.522043 c -0.554,0 -0.99994,0.445939 -0.99994,0.999939 0.0332,8.996821 0.002,23.221548 0,31.058568 0,0.554 0.44594,0.99994 0.99994,0.99994 h 23.41251 c 0.554,0 0.99994,-0.44594 0.99994,-0.99994 V 84.95582 c 0,-0.554 -0.44594,-1.000456 -0.99994,-1.000456 h -1.95595 v -3.433382 c 0,-0.554 -0.44594,-0.999939 -0.99993,-0.999939 z"
sodipodi:nodetypes="sccssssscsss" />
<text
xml:space="preserve"
style="font-size:5.64444px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="130.48898"
y="84.314484"
id="text1955"><tspan
sodipodi:role="line"
id="tspan1953"
style="font-size:5.64444px;fill:#2e3436;stroke:none;stroke-width:0.3"
x="130.48898"
y="84.314484">PRODUCTS</tspan></text>
<text
xml:space="preserve"
style="font-size:3.52778px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="120.55885"
y="88.234718"
id="text1967"><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="120.55885"
y="88.234718"
id="tspan1957">- GLOBAL ID</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="120.55885"
y="92.64444"
id="tspan1959">- NAME</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="120.55885"
y="97.054169"
id="tspan1961">- DESCRIPTION</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="120.55885"
y="101.46389"
id="tspan1963">- TYPE</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="120.55885"
y="105.87362"
id="tspan1965">- GEOMETRY</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="120.55885"
y="110.28334"
id="tspan2260">- LOCATION</tspan></text>
</g>
<g
id="g3197"
transform="translate(-78.74649,20.533045)">
<path
id="path2119"
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
d="m 152.55717,79.522043 c -0.554,0 -0.99994,0.445939 -0.99994,0.999939 0.0332,8.996821 0.002,0.467384 0,8.304402 0,0.553999 0.44594,0.999939 0.99994,0.999939 h 18.12085 c 0.554,0 0.99994,-0.44594 0.99994,-0.999939 V 84.95582 c 0,-0.554 -0.44594,-1.000456 -0.99994,-1.000456 h -1.95595 v -3.433382 c 0,-0.554 -0.44594,-0.999939 -0.99993,-0.999939 z"
sodipodi:nodetypes="sccssssscsss" />
<text
xml:space="preserve"
style="font-size:5.64444px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="159.96442"
y="84.314484"
id="text2123"><tspan
sodipodi:role="line"
id="tspan2121"
style="font-size:5.64444px;fill:#2e3436;stroke:none;stroke-width:0.3"
x="159.96442"
y="84.314484">GROUPS</tspan></text>
<text
xml:space="preserve"
style="font-size:3.52778px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="152.69252"
y="88.234718"
id="text2127"><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="152.69252"
y="88.234718"
id="tspan2125">...</tspan></text>
</g>
<g
id="g3204"
transform="translate(-78.347362,20.533045)">
<path
id="path2129"
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
d="m 180.26003,79.522043 c -0.554,0 -0.99994,0.445939 -0.99994,0.999939 0.0332,8.996821 0.002,0.467384 0,8.304402 0,0.553999 0.44594,0.999939 0.99994,0.999939 h 25.00002 c 0.554,0 0.99994,-0.44594 0.99994,-0.999939 V 84.95582 c 0,-0.554 -0.44594,-1.000456 -0.99994,-1.000456 h -1.95595 v -3.433382 c 0,-0.554 -0.44594,-0.999939 -0.99993,-0.999939 z"
sodipodi:nodetypes="sccssssscsss" />
<text
xml:space="preserve"
style="font-size:5.64444px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="191.37144"
y="84.314484"
id="text2133"><tspan
sodipodi:role="line"
id="tspan2131"
style="font-size:5.64444px;fill:#2e3436;stroke:none;stroke-width:0.3"
x="191.37144"
y="84.314484">RESOURCES</tspan></text>
<text
xml:space="preserve"
style="font-size:3.52778px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="180.39539"
y="88.234718"
id="text2137"><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="180.39539"
y="88.234718"
id="tspan2135">...</tspan></text>
</g>
<g
id="g3596"
transform="translate(-94.414472,20.738137)">
<g
id="g3230">
<path
id="rect1405"
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
d="m 121.9155,120.68433 c -0.554,0 -0.99994,0.44594 -0.99994,0.99994 0.0332,8.99683 0.002,31.68823 0,39.52525 0,0.554 0.44594,0.99994 0.99994,0.99994 h 19.70835 c 0.554,0 0.99994,-0.44594 0.99994,-0.99994 v -35.09141 c 0,-0.554 -0.44594,-1.00046 -0.99994,-1.00046 h -5.66012 v -3.43338 c 0,-0.554 -0.44594,-0.99994 -0.99993,-0.99994 z"
sodipodi:nodetypes="sccssssscsss" />
<text
xml:space="preserve"
style="font-size:5.64444px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="128.43977"
y="125.47677"
id="text1409"><tspan
sodipodi:role="line"
id="tspan1407"
style="font-size:5.64444px;fill:#2e3436;stroke:none;stroke-width:0.3"
x="128.43977"
y="125.47677">WALL</tspan></text>
<text
xml:space="preserve"
style="font-size:3.52778px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="122.05083"
y="129.397"
id="text1415"><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="122.05083"
y="129.397"
id="tspan1519">- GLOBAL ID</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="122.05083"
y="133.80673"
id="tspan1527">- NAME</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="122.05083"
y="138.21645"
id="tspan1521">- DESCRIPTION</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="122.05083"
y="142.62617"
id="tspan2262">- TYPE</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="122.05083"
y="147.0359"
id="tspan2264">- GEOMETRY</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="122.05083"
y="151.44563"
id="tspan2266">- LOCATION</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="122.05083"
y="155.85535"
id="tspan1523">- WALL TYPE</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="122.05083"
y="160.26508"
id="tspan1529">...</tspan></text>
</g>
<g
id="g3256"
transform="translate(29.703283)">
<path
id="path3232"
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
d="m 121.9155,120.68433 c -0.554,0 -0.99994,0.44594 -0.99994,0.99994 0.0332,8.99683 0.002,31.68823 0,39.52525 0,0.554 0.44594,0.99994 0.99994,0.99994 h 19.70835 c 0.554,0 0.99994,-0.44594 0.99994,-0.99994 v -35.09141 c 0,-0.554 -0.44594,-1.00046 -0.99994,-1.00046 h -5.66012 v -3.43338 c 0,-0.554 -0.44594,-0.99994 -0.99993,-0.99994 z"
sodipodi:nodetypes="sccssssscsss" />
<text
xml:space="preserve"
style="font-size:5.64444px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:center;text-anchor:middle;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="128.43977"
y="125.47677"
id="text3236"><tspan
sodipodi:role="line"
id="tspan3234"
style="font-size:5.64444px;fill:#2e3436;stroke:none;stroke-width:0.3"
x="128.43977"
y="125.47677">SLAB</tspan></text>
<text
xml:space="preserve"
style="font-size:3.52778px;font-family:'OpenGost Type B TT';-inkscape-font-specification:'OpenGost Type B TT, Normal';text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round"
x="122.05083"
y="129.397"
id="text3254"><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="122.05083"
y="129.397"
id="tspan3238">- GLOBAL ID</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="122.05083"
y="133.80673"
id="tspan3240">- NAME</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="122.05083"
y="138.21645"
id="tspan3242">- DESCRIPTION</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="122.05083"
y="142.62617"
id="tspan3244">- TYPE</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="122.05083"
y="147.0359"
id="tspan3246">- GEOMETRY</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#babdb6;stroke:none;stroke-width:0.3"
x="122.05083"
y="151.44563"
id="tspan3248">- LOCATION</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="122.05083"
y="155.85535"
id="tspan3250">- SLAB TYPE</tspan><tspan
sodipodi:role="line"
style="font-size:3.52778px;text-align:start;text-anchor:start;fill:#2e3436;stroke:none;stroke-width:0.3"
x="122.05083"
y="160.26508"
id="tspan3252">...</tspan></text>
</g>
</g>
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;marker-end:url(#Dot)"
d="m 98.558201,55.817119 c 0,3.949447 -16.32226,3.949447 -16.32958,8.159377"
id="path3794"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;marker-end:url(#Dot)"
d="m 98.599271,55.817119 c 0,3.949447 13.325309,3.949447 13.332629,8.159377"
id="path3798"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;marker-end:url(#Dot)"
d="m 83.706561,92.272444 c 0,3.949446 -32.97041,3.572713 -32.97773,7.782646"
id="path4597"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;marker-end:url(#Dot)"
d="m 83.706561,92.272444 c 0,3.949446 -2.30615,3.572712 -2.31347,7.782646"
id="path4601"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;marker-end:url(#Dot)"
d="m 83.706561,92.272444 c 0,3.949446 29.235429,3.572711 29.228109,7.782646"
id="path4607"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;marker-end:url(#Dot)"
d="m 52.206771,133.11353 c 0,3.94945 -18.17435,4.09899 -18.18167,8.30893"
id="path4613"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#2e3436;stroke-width:0.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;marker-end:url(#Dot)"
d="m 52.206771,133.11353 c 0,3.94945 11.52893,4.09899 11.52161,8.30893"
id="path4617"
sodipodi:nodetypes="cc" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

@@ -0,0 +1,37 @@
Introduction to BIM
===================
**Building Information Modeling**, or **BIM**, is a way of digitally describing
our built environment to computers. Aspects of our built environment that can be
described are:
- **Products**, like walls, doors, and windows
- **Processes**, like construction or maintenance tasks, and procedures
- **Resources**, like labour, materials, and equipment
- **Controls**, like permits, orders, costs, or calendar availability
- **Actors**, like occupants, clients, architects, and liable parties
- **Groups**, like systems, inventories, or zones
These objects may have lots of data and relationships. Examples of data might be
classification systems, physical materials, associated documents, simulation
results, and construction types. The data may be relevant to multiple
disciplines, such as architecture, engineering, and construction.
.. note::
BIM data is very different from a regular 3D model. In fact, geometry is
optional, and most data is non-geometric. This means that it is not simply a
3D format that you can import or export from and expect meaningful results.
**Industry Foundation Classes**, or **IFC**, is an international standard for
**BIM**. **IFC** is the most well-established open digital language for our
built environment. Most software will be able to describe their **BIM** data
using **IFC**. Most commonly, **IFC** models will be shared as a ``.ifc`` file.
For example, **IFC** will define a wall as an object that can have a name,
construction type, and quantities. **IFC** will also describe that a wall that
be associated with a location, like a building storey, or have an associated
cost item in a schedule.
When you use **IfcOpenShell**, you will be able to view and create **BIM**
objects and relationships using the **IFC** standard.
@@ -0,0 +1,220 @@
Introduction to IFC
===================
An IFC model is a collection of elements (e.g. doors, windows, construction
tasks, materials, etc) with relationships to other elements in a graph-like
database. Together, these elements and their relationships describe the digital
built environment.
.. image:: images/ifc-graph.png
Each element has a type known as an **IFC Class**. These classes define the
attributes that the element may store. For example, the **IfcWall Class** is
allowed to store a **Name** and **Description** attribute.
This IFC database can be stored in many formats. The most common is the ``.ifc``
format, which stores data in plain text. If you open a ``.ifc`` file in a text
editor, you'll see something like this:
::
#1=IFCPROJECT('3Cbhu4euf1hfgM_SHZbeqM',$,'My Project',$,$,$,$,$,#4);
#2=IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#3=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#4=IFCUNITASSIGNMENT((#2,#3));
#5=IFCCARTESIANPOINT((0.,0.,0.));
In this example there are 5 elements in the graph. The element with the ID of
**#1** has an **IFC Class** of **IfcProject**. This element has 9
comma-separated attributes. IFC defines how many attributes each **IFC Class**
is allowed to have, attribute names, the order of attributes, data type,
optional or mandatory status (i.e. cardinality), and more.
::
IFC Class Quoted string value Null value ID reference
↓ ↓ ↓ ↓
#1=IFCPROJECT('3Cbhu4euf1hfgM_SHZbeqM',$,'My Project',$,$,$,$,$,#4);
↑ ↑
Element ID Comma-separated list of attributes
By selecting elements by their **IFC Class**, and reading their attributes, you
can navigate from one element to another. The relationships between elements are
called **IFC Concepts** and create meaning in our industry. For example, if a
**IfcWall** element has an attribute that references an **IfcBuildingStorey**
element in a particular way, it will mean that the wall is located in the
ground floor of the building.
.. image:: images/ifc-concepts.png
The official IFC documentation describes hundreds of **IFC Classes**, ranging
from walls, door, to tasks, cost items, parametric materials, and structural
analysis constraints. There are also hundreds of **IFC Concepts**, which may
describe how a wall is in a storey, a construction task might occur one after
another, or how an surface bounds a space for energy analysis.
It takes time to learn the many **IFC Classes** and **IFC Concepts** available.
Once you do, you will be able to richly describe our built environment
digitally. IfcOpenShell can help you navigate these IFC elements, read their
attributes, and explore relationships. Your journey begins here.
.. seealso::
If you are already familiar with IFC and just want to learn how to use
IfcOpenShell, you can jump to the `Core functionality crash course`_.
Begin learning IFC
------------------
IFC has three versions published by ISO: **IFC2X3** from 2007, **IFC4** from
2017, and **IFC4X3** in draft form. Each version improves on the previous
version, and will have different **IFC Classes** with different attributes and
different **IFC Concepts**.
You can access the official documentation here:
- `Official IFC2X3 documentation homepage <https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/>`__
- `Official IFC4 documentation homepage <https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/>`__
- `Official IFC4X3 documentation homepage <http://ifc43-docs.standards.buildingsmart.org/>`__
- `List of all IFC2X3 classes <https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/alphabeticalorder_entities.htm>`__
- `List of all IFC4 classes <https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/link/inheritance-general-usage-all%20entities.htm>`__
- `List of all IFC4X3 classes <https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/annex-c.html>`__
.. tip::
It is recommended to use IFC4. However, the IFC4X3 documentation is a lot
more friendly to newcomers.
The official ISO documentation is written for a technical audience and may be
overwhelming. This guide will take you slowly through the core concepts, and
leave you with the knowledge you need to discover more.
Before digging into theory, let's explore an existing IFC model. You can
download this sample IFC for this guide.
.. container:: blockbutton
`Download sample IFC <https://www.ifcwiki.org/images/e/e3/AC20-FZK-Haus.ifc>`__
If you open up the model with a text editor, you will see text similar to this:
::
ISO-10303-21;
HEADER;FILE_DESCRIPTION(('ViewDefinition [, QuantityTakeOffAddOnView, SpaceBoundary2ndLevelAddOnView]'),'2;1');
FILE_NAME('AC20-FZK-Haus.ifc','2016-12-21T17:54:06',('Architect'),(''),'','','');
FILE_SCHEMA(('IFC4'));
ENDSEC;
DATA;
#3= IFCORGANIZATION($,'Nicht definiert',$,$,$);
#12= IFCOWNERHISTORY(#7,#11,$,.ADDED.,$,$,$,1482339244);
#13= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#14= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
...
#62= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.00000000000E-5,#59,#60);
#66= IFCPROJECT('0lY6P5Ur90TAQnnnI6wtnb',#12,'Projekt-FZK-Haus','Projekt FZK-House create by KHH Forschuungszentrum Karlsruhe',$,$,$,(#62,#374),#49);
#77= IFCPROPERTYSINGLEVALUE('GS_TimeStamp',$,IFCTIMESTAMP(9685146),$);
#85= IFCPROPERTYSET('1mnk_H9cG6eU2r9ped0WRu',#12,'GSPset_TimeStamp',$,(#77));
...
#15033= IFCSHAPEREPRESENTATION(#15026,'Axis','Curve2D',(#15031));
#15037= IFCPRODUCTDEFINITIONSHAPE($,$,(#15016,#15024,#15033));
#15042= IFCWALLSTANDARDCASE('2XPyKWY018sA1ygZKgQPtU',#12,'Wand-Int-ERDG-4',$,$,#14983,#15037,'BC6F0F70-6195-495E-A2-FC-239713029DB1',$);
#15046= IFCMATERIAL('Leichtbeton 102890359',$,$);
...
#15231= IFCRELDEFINESBYPROPERTIES('3Q0nMR5elnJFWzAhgkZqe1',#12,$,$,(#15042),#15229);
#15234= IFCWALLTYPE('2AEMyYvIjlsz7LRzqYHy64',#12,'Leichtbeton 102890359 240',$,$,$,(#15244,#15248,#15250,#17288,#17290,#17292,#18637,#18639,#18641,#19015,#19017,#19019,#20770,#20772,#20774),'8A396F22-E52B-6FDB-D1D5-6FDD2247C184',$,.NOTDEFINED.);
#15237= IFCDIRECTION((1.,0.,0.));
#15239= IFCDIRECTION((0.,0.,1.));
... etc
The first thing you should notice is the line that defines that this is an
**IFC4** version. This determines what **IFC Classes** and **IFC Concepts** are
available.
::
FILE_SCHEMA(('IFC4'));
You'll notice certain **IFC Class** keywords jump out at you: things like
**IFCSIUNIT** which defines the length unit of metres, or **IFCPROJECT** which
defines the project, or **IFCPROPERTYSINGLEVALUE** which defines a property of
something, or **IFCWALLSTANDARDCASE** which defines a wall, or **IFCMATERIAL**
which defines a material, and so on.
Let's see how to fetch this data with code. Let's start with loading the model.
Import the IfcOpenShell module, then use the ``open`` function to load the
model into a variable called ``model``. The first piece of information we want
to check is what IFC schema version we are using. We assume the model you are
learning with is IFC4. We'll then fetch all entities that use the **IfcSlab**
class.
.. code-block:: python
import ifcopenshell
model = ifcopenshell.open('/path/to/your/model.ifc')
print(model.schema) # May return IFC2X3, IFC4, or IFC4X3.
print(model.by_type("IfcSlab")) # Will return a list of IFCSLAB entities, like below:
# [
# #34509=IfcSlab('1pPHnf7cXCpPsNEnQf8_6B',#12,'Bodenplatte',$,$,#34464,#34505,'E4D9CD4B-CA43-4735-94-BD-1FD4376BD455',.BASESLAB.),
# #59290=IfcSlab('2RGlQk4xH47RHK93zcTzUL',#12,'Slab-033',$,$,#59253,#59286,'DA0A17AC-B773-47AC-99-C5-D390C73AD5CC',.FLOOR.),
# #59553=IfcSlab('07Enbsqm9C7AQC9iyBwfSD',#12,'Dach-1',$,$,#59508,#59549,'E142B455-80E4-4B96-83-EC-E1589CA998DB',.ROOF.),
# #59753=IfcSlab('2IxUUNUVPB6Ob$eicCfP2N',#12,'Dach-2',$,$,#59716,#59749,'BD6D9414-37DF-40A8-88-40-301A32A9A5B5',.ROOF.)
# ]
.. tip::
Try changing ``model.by_type("IfcSlab")`` to fetch different types of
entities based on their **IFC Class**.
An overview of all IFC classes
------------------------------
There are hundreds of **IFC Classes**. You don't need to know them all, but
we'll help describe the general breakdown so you know where to find the
appropriate class for what you're after.
**IFC Classes** are defined using an **Object Oriented** tree hierarchy. Child
**IFC Classes** inherit the attributes defined by the parent **IFC Class**.
This means that **IFC Classes** with common attributes are grouped together in
the tree.
For example, because all **IfcObject** classes can have a **GlobalId**
attribute, that means that because **IfcWall** is a subtype of **IfcObject**,
it can also have a **GlobalId** attribute.
.. image:: images/ifc-tree.png
Important IFC concepts
----------------------
There are hundreds of **IFC Concepts** that allow you to describe relationships
between **IFC Classes**. In this guide, we'll focus on the five most common
**IFC Concepts** to get you started.
Concept 1: the project context
------------------------------
Concept 2: spatial decomposition
--------------------------------
Concept 3: object typing
------------------------
Concept 4: attributes and property sets
---------------------------------------
Concept 5: material assignment
------------------------------
Self-learning IFC: how to learn more
------------------------------------