Skip to content

Instantly share code, notes, and snippets.

@chuongmep
Last active October 18, 2022 13:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chuongmep/dee8eebeac64908d0f54a152f4d0a69b to your computer and use it in GitHub Desktop.
Save chuongmep/dee8eebeac64908d0f54a152f4d0a69b to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: ifcopenshell in c:\\users\\chuon\\appdata\\local\\programs\\python\\python310\\lib\\site-packages (0.7.0)\n"
]
}
],
"source": [
"# install ifc open shell\n",
"!pip install ifcopenshell"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<ifcopenshell.file.file at 0x1a3884cded0>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import ifcopenshell\n",
"import pandas as pd\n",
"path = r\"C:\\Users\\chuon\\3D Objects\\GuideIFCOpenShell\\RAC_basic_sample_project.ifc\"\n",
"model = ifcopenshell.open(path)\n",
"model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let’s see what IFC schema we are using:"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'IFC4'"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.schema"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Get All Walls"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total Wall: 47\n"
]
},
{
"data": {
"text/plain": [
"#1093=IfcWall('3lLx0gNe59vvExhby0Bfew',#20,'Basic Wall:SIP 202mm Wall - conc clad:198694',$,'Basic Wall:SIP 202mm Wall - conc clad',#1085,#1092,'198694',.NOTDEFINED.)"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"walls = model.by_type('IfcWall')\n",
"wall = walls[0]\n",
"print(\"Total Wall:\",len(walls))\n",
"wall"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Basic Wall:SIP 202mm Wall - conc clad:198694</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Basic Wall:Wall - Timber Clad:198749</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Basic Wall:Wall - Timber Clad:234869</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Basic Wall:Wall - Timber Clad:418079</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Basic Wall:Wall - Timber Clad:422243</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>Basic Wall:Interior - 165 Partition (1-hr):424922</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>Basic Wall:Interior - 165 Partition (1-hr):425745</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>Basic Wall:Wall - Timber Clad:427092</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>Basic Wall:SIP 202mm Wall - conc clad:428588</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>Basic Wall:SIP 202mm Wall - conc clad:428745</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0\n",
"0 Basic Wall:SIP 202mm Wall - conc clad:198694\n",
"1 Basic Wall:Wall - Timber Clad:198749\n",
"2 Basic Wall:Wall - Timber Clad:234869\n",
"3 Basic Wall:Wall - Timber Clad:418079\n",
"4 Basic Wall:Wall - Timber Clad:422243\n",
"5 Basic Wall:Interior - 165 Partition (1-hr):424922\n",
"6 Basic Wall:Interior - 165 Partition (1-hr):425745\n",
"7 Basic Wall:Wall - Timber Clad:427092\n",
"8 Basic Wall:SIP 202mm Wall - conc clad:428588\n",
"9 Basic Wall:SIP 202mm Wall - conc clad:428745"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"WallNames = [i.Name for i in walls]\n",
"pd.DataFrame(WallNames).head(10)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Analytical Properties</th>\n",
" <th>Construction</th>\n",
" <th>Graphics</th>\n",
" <th>Identity Data</th>\n",
" <th>Materials and Finishes</th>\n",
" <th>Other</th>\n",
" <th>Pset_ReinforcementBarPitchOfWall</th>\n",
" <th>Pset_WallCommon</th>\n",
" <th>Pset_EnvironmentalImpactIndicators</th>\n",
" <th>Constraints</th>\n",
" <th>Cross-Section Definition</th>\n",
" <th>Dimensions</th>\n",
" <th>Phasing</th>\n",
" <th>Structural</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Roughness</th>\n",
" <td>1.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Absorptance</th>\n",
" <td>0.100000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Heat Transfer Coefficient (U)</th>\n",
" <td>47.545455</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Thermal Mass</th>\n",
" <td>33.244200</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Thermal Resistance (R)</th>\n",
" <td>0.021033</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>id</th>\n",
" <td>1303.000000</td>\n",
" <td>1304</td>\n",
" <td>1305</td>\n",
" <td>1306</td>\n",
" <td>1307</td>\n",
" <td>1297</td>\n",
" <td>1245</td>\n",
" <td>1248</td>\n",
" <td>1243</td>\n",
" <td>1291</td>\n",
" <td>1293</td>\n",
" <td>1295.000000</td>\n",
" <td>1299</td>\n",
" <td>1301</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Function</th>\n",
" <td>NaN</td>\n",
" <td>Exterior</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Width</th>\n",
" <td>NaN</td>\n",
" <td>202.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Wrapping at Ends</th>\n",
" <td>NaN</td>\n",
" <td>None</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Wrapping at Inserts</th>\n",
" <td>NaN</td>\n",
" <td>Both</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Coarse Scale Fill Color</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Coarse Scale Fill Pattern</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>&lt;Solid fill&gt;</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Assembly Code</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Assembly Description</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td></td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Description</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Structural Insulation Panel Wall with Kiln Dri...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Structural Insulation Panel Wall with Kiln Dri...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Keynote</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>F10</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Type Mark</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>WT1</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Type Name</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>SIP 202mm Wall - conc clad</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Structural Material</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Structure - Timber Insulated Panel - Insulation</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Category</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Walls</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Family Name</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Basic Wall</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Family</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Basic Wall</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Family and Type</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Basic Wall: SIP 202mm Wall - conc clad</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Type</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>SIP 202mm Wall - conc clad</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Type Id</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>428955</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Reference</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>SIP 202mm Wall - conc clad</td>\n",
" <td>SIP 202mm Wall - conc clad</td>\n",
" <td>SIP 202mm Wall - conc clad</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>IsExternal</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>True</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ThermalTransmittance</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>47.545455</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>LoadBearing</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ExtendToStructure</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Related to Mass</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Room Bounding</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>True</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Base Constraint</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Level 2</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Base Extension Distance</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Base is Attached</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Base Offset</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-300.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Location Line</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Wall Centerline</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Top Constraint</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Up to level: Roof Line</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Top Extension Distance</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Top is Attached</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Top Offset</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Unconnected Height</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>3300.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cross-Section</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Vertical</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Area</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>22.354990</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Length</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>6202.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Volume</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>4.515708</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Phase Created</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Working Drawings</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Structural</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Structural Usage</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Non-bearing</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Analytical Properties Construction \\\n",
"Roughness 1.000000 NaN \n",
"Absorptance 0.100000 NaN \n",
"Heat Transfer Coefficient (U) 47.545455 NaN \n",
"Thermal Mass 33.244200 NaN \n",
"Thermal Resistance (R) 0.021033 NaN \n",
"id 1303.000000 1304 \n",
"Function NaN Exterior \n",
"Width NaN 202.0 \n",
"Wrapping at Ends NaN None \n",
"Wrapping at Inserts NaN Both \n",
"Coarse Scale Fill Color NaN NaN \n",
"Coarse Scale Fill Pattern NaN NaN \n",
"Assembly Code NaN NaN \n",
"Assembly Description NaN NaN \n",
"Description NaN NaN \n",
"Keynote NaN NaN \n",
"Type Mark NaN NaN \n",
"Type Name NaN NaN \n",
"Structural Material NaN NaN \n",
"Category NaN NaN \n",
"Family Name NaN NaN \n",
"Family NaN NaN \n",
"Family and Type NaN NaN \n",
"Type NaN NaN \n",
"Type Id NaN NaN \n",
"Reference NaN NaN \n",
"IsExternal NaN NaN \n",
"ThermalTransmittance NaN NaN \n",
"LoadBearing NaN NaN \n",
"ExtendToStructure NaN NaN \n",
"Related to Mass NaN NaN \n",
"Room Bounding NaN NaN \n",
"Base Constraint NaN NaN \n",
"Base Extension Distance NaN NaN \n",
"Base is Attached NaN NaN \n",
"Base Offset NaN NaN \n",
"Location Line NaN NaN \n",
"Top Constraint NaN NaN \n",
"Top Extension Distance NaN NaN \n",
"Top is Attached NaN NaN \n",
"Top Offset NaN NaN \n",
"Unconnected Height NaN NaN \n",
"Cross-Section NaN NaN \n",
"Area NaN NaN \n",
"Length NaN NaN \n",
"Volume NaN NaN \n",
"Phase Created NaN NaN \n",
"Structural NaN NaN \n",
"Structural Usage NaN NaN \n",
"\n",
" Graphics \\\n",
"Roughness NaN \n",
"Absorptance NaN \n",
"Heat Transfer Coefficient (U) NaN \n",
"Thermal Mass NaN \n",
"Thermal Resistance (R) NaN \n",
"id 1305 \n",
"Function NaN \n",
"Width NaN \n",
"Wrapping at Ends NaN \n",
"Wrapping at Inserts NaN \n",
"Coarse Scale Fill Color 0 \n",
"Coarse Scale Fill Pattern <Solid fill> \n",
"Assembly Code NaN \n",
"Assembly Description NaN \n",
"Description NaN \n",
"Keynote NaN \n",
"Type Mark NaN \n",
"Type Name NaN \n",
"Structural Material NaN \n",
"Category NaN \n",
"Family Name NaN \n",
"Family NaN \n",
"Family and Type NaN \n",
"Type NaN \n",
"Type Id NaN \n",
"Reference NaN \n",
"IsExternal NaN \n",
"ThermalTransmittance NaN \n",
"LoadBearing NaN \n",
"ExtendToStructure NaN \n",
"Related to Mass NaN \n",
"Room Bounding NaN \n",
"Base Constraint NaN \n",
"Base Extension Distance NaN \n",
"Base is Attached NaN \n",
"Base Offset NaN \n",
"Location Line NaN \n",
"Top Constraint NaN \n",
"Top Extension Distance NaN \n",
"Top is Attached NaN \n",
"Top Offset NaN \n",
"Unconnected Height NaN \n",
"Cross-Section NaN \n",
"Area NaN \n",
"Length NaN \n",
"Volume NaN \n",
"Phase Created NaN \n",
"Structural NaN \n",
"Structural Usage NaN \n",
"\n",
" Identity Data \\\n",
"Roughness NaN \n",
"Absorptance NaN \n",
"Heat Transfer Coefficient (U) NaN \n",
"Thermal Mass NaN \n",
"Thermal Resistance (R) NaN \n",
"id 1306 \n",
"Function NaN \n",
"Width NaN \n",
"Wrapping at Ends NaN \n",
"Wrapping at Inserts NaN \n",
"Coarse Scale Fill Color NaN \n",
"Coarse Scale Fill Pattern NaN \n",
"Assembly Code \n",
"Assembly Description \n",
"Description Structural Insulation Panel Wall with Kiln Dri... \n",
"Keynote F10 \n",
"Type Mark WT1 \n",
"Type Name SIP 202mm Wall - conc clad \n",
"Structural Material NaN \n",
"Category NaN \n",
"Family Name NaN \n",
"Family NaN \n",
"Family and Type NaN \n",
"Type NaN \n",
"Type Id NaN \n",
"Reference NaN \n",
"IsExternal NaN \n",
"ThermalTransmittance NaN \n",
"LoadBearing NaN \n",
"ExtendToStructure NaN \n",
"Related to Mass NaN \n",
"Room Bounding NaN \n",
"Base Constraint NaN \n",
"Base Extension Distance NaN \n",
"Base is Attached NaN \n",
"Base Offset NaN \n",
"Location Line NaN \n",
"Top Constraint NaN \n",
"Top Extension Distance NaN \n",
"Top is Attached NaN \n",
"Top Offset NaN \n",
"Unconnected Height NaN \n",
"Cross-Section NaN \n",
"Area NaN \n",
"Length NaN \n",
"Volume NaN \n",
"Phase Created NaN \n",
"Structural NaN \n",
"Structural Usage NaN \n",
"\n",
" Materials and Finishes \\\n",
"Roughness NaN \n",
"Absorptance NaN \n",
"Heat Transfer Coefficient (U) NaN \n",
"Thermal Mass NaN \n",
"Thermal Resistance (R) NaN \n",
"id 1307 \n",
"Function NaN \n",
"Width NaN \n",
"Wrapping at Ends NaN \n",
"Wrapping at Inserts NaN \n",
"Coarse Scale Fill Color NaN \n",
"Coarse Scale Fill Pattern NaN \n",
"Assembly Code NaN \n",
"Assembly Description NaN \n",
"Description NaN \n",
"Keynote NaN \n",
"Type Mark NaN \n",
"Type Name NaN \n",
"Structural Material Structure - Timber Insulated Panel - Insulation \n",
"Category NaN \n",
"Family Name NaN \n",
"Family NaN \n",
"Family and Type NaN \n",
"Type NaN \n",
"Type Id NaN \n",
"Reference NaN \n",
"IsExternal NaN \n",
"ThermalTransmittance NaN \n",
"LoadBearing NaN \n",
"ExtendToStructure NaN \n",
"Related to Mass NaN \n",
"Room Bounding NaN \n",
"Base Constraint NaN \n",
"Base Extension Distance NaN \n",
"Base is Attached NaN \n",
"Base Offset NaN \n",
"Location Line NaN \n",
"Top Constraint NaN \n",
"Top Extension Distance NaN \n",
"Top is Attached NaN \n",
"Top Offset NaN \n",
"Unconnected Height NaN \n",
"Cross-Section NaN \n",
"Area NaN \n",
"Length NaN \n",
"Volume NaN \n",
"Phase Created NaN \n",
"Structural NaN \n",
"Structural Usage NaN \n",
"\n",
" Other \\\n",
"Roughness NaN \n",
"Absorptance NaN \n",
"Heat Transfer Coefficient (U) NaN \n",
"Thermal Mass NaN \n",
"Thermal Resistance (R) NaN \n",
"id 1297 \n",
"Function NaN \n",
"Width NaN \n",
"Wrapping at Ends NaN \n",
"Wrapping at Inserts NaN \n",
"Coarse Scale Fill Color NaN \n",
"Coarse Scale Fill Pattern NaN \n",
"Assembly Code NaN \n",
"Assembly Description NaN \n",
"Description NaN \n",
"Keynote NaN \n",
"Type Mark NaN \n",
"Type Name NaN \n",
"Structural Material NaN \n",
"Category Walls \n",
"Family Name Basic Wall \n",
"Family Basic Wall \n",
"Family and Type Basic Wall: SIP 202mm Wall - conc clad \n",
"Type SIP 202mm Wall - conc clad \n",
"Type Id 428955 \n",
"Reference NaN \n",
"IsExternal NaN \n",
"ThermalTransmittance NaN \n",
"LoadBearing NaN \n",
"ExtendToStructure NaN \n",
"Related to Mass NaN \n",
"Room Bounding NaN \n",
"Base Constraint NaN \n",
"Base Extension Distance NaN \n",
"Base is Attached NaN \n",
"Base Offset NaN \n",
"Location Line NaN \n",
"Top Constraint NaN \n",
"Top Extension Distance NaN \n",
"Top is Attached NaN \n",
"Top Offset NaN \n",
"Unconnected Height NaN \n",
"Cross-Section NaN \n",
"Area NaN \n",
"Length NaN \n",
"Volume NaN \n",
"Phase Created NaN \n",
"Structural NaN \n",
"Structural Usage NaN \n",
"\n",
" Pset_ReinforcementBarPitchOfWall \\\n",
"Roughness NaN \n",
"Absorptance NaN \n",
"Heat Transfer Coefficient (U) NaN \n",
"Thermal Mass NaN \n",
"Thermal Resistance (R) NaN \n",
"id 1245 \n",
"Function NaN \n",
"Width NaN \n",
"Wrapping at Ends NaN \n",
"Wrapping at Inserts NaN \n",
"Coarse Scale Fill Color NaN \n",
"Coarse Scale Fill Pattern NaN \n",
"Assembly Code NaN \n",
"Assembly Description NaN \n",
"Description Structural Insulation Panel Wall with Kiln Dri... \n",
"Keynote NaN \n",
"Type Mark NaN \n",
"Type Name NaN \n",
"Structural Material NaN \n",
"Category NaN \n",
"Family Name NaN \n",
"Family NaN \n",
"Family and Type NaN \n",
"Type NaN \n",
"Type Id NaN \n",
"Reference SIP 202mm Wall - conc clad \n",
"IsExternal NaN \n",
"ThermalTransmittance NaN \n",
"LoadBearing NaN \n",
"ExtendToStructure NaN \n",
"Related to Mass NaN \n",
"Room Bounding NaN \n",
"Base Constraint NaN \n",
"Base Extension Distance NaN \n",
"Base is Attached NaN \n",
"Base Offset NaN \n",
"Location Line NaN \n",
"Top Constraint NaN \n",
"Top Extension Distance NaN \n",
"Top is Attached NaN \n",
"Top Offset NaN \n",
"Unconnected Height NaN \n",
"Cross-Section NaN \n",
"Area NaN \n",
"Length NaN \n",
"Volume NaN \n",
"Phase Created NaN \n",
"Structural NaN \n",
"Structural Usage NaN \n",
"\n",
" Pset_WallCommon \\\n",
"Roughness NaN \n",
"Absorptance NaN \n",
"Heat Transfer Coefficient (U) NaN \n",
"Thermal Mass NaN \n",
"Thermal Resistance (R) NaN \n",
"id 1248 \n",
"Function NaN \n",
"Width NaN \n",
"Wrapping at Ends NaN \n",
"Wrapping at Inserts NaN \n",
"Coarse Scale Fill Color NaN \n",
"Coarse Scale Fill Pattern NaN \n",
"Assembly Code NaN \n",
"Assembly Description NaN \n",
"Description NaN \n",
"Keynote NaN \n",
"Type Mark NaN \n",
"Type Name NaN \n",
"Structural Material NaN \n",
"Category NaN \n",
"Family Name NaN \n",
"Family NaN \n",
"Family and Type NaN \n",
"Type NaN \n",
"Type Id NaN \n",
"Reference SIP 202mm Wall - conc clad \n",
"IsExternal True \n",
"ThermalTransmittance 47.545455 \n",
"LoadBearing False \n",
"ExtendToStructure False \n",
"Related to Mass NaN \n",
"Room Bounding NaN \n",
"Base Constraint NaN \n",
"Base Extension Distance NaN \n",
"Base is Attached NaN \n",
"Base Offset NaN \n",
"Location Line NaN \n",
"Top Constraint NaN \n",
"Top Extension Distance NaN \n",
"Top is Attached NaN \n",
"Top Offset NaN \n",
"Unconnected Height NaN \n",
"Cross-Section NaN \n",
"Area NaN \n",
"Length NaN \n",
"Volume NaN \n",
"Phase Created NaN \n",
"Structural NaN \n",
"Structural Usage NaN \n",
"\n",
" Pset_EnvironmentalImpactIndicators \\\n",
"Roughness NaN \n",
"Absorptance NaN \n",
"Heat Transfer Coefficient (U) NaN \n",
"Thermal Mass NaN \n",
"Thermal Resistance (R) NaN \n",
"id 1243 \n",
"Function NaN \n",
"Width NaN \n",
"Wrapping at Ends NaN \n",
"Wrapping at Inserts NaN \n",
"Coarse Scale Fill Color NaN \n",
"Coarse Scale Fill Pattern NaN \n",
"Assembly Code NaN \n",
"Assembly Description NaN \n",
"Description NaN \n",
"Keynote NaN \n",
"Type Mark NaN \n",
"Type Name NaN \n",
"Structural Material NaN \n",
"Category NaN \n",
"Family Name NaN \n",
"Family NaN \n",
"Family and Type NaN \n",
"Type NaN \n",
"Type Id NaN \n",
"Reference SIP 202mm Wall - conc clad \n",
"IsExternal NaN \n",
"ThermalTransmittance NaN \n",
"LoadBearing NaN \n",
"ExtendToStructure NaN \n",
"Related to Mass NaN \n",
"Room Bounding NaN \n",
"Base Constraint NaN \n",
"Base Extension Distance NaN \n",
"Base is Attached NaN \n",
"Base Offset NaN \n",
"Location Line NaN \n",
"Top Constraint NaN \n",
"Top Extension Distance NaN \n",
"Top is Attached NaN \n",
"Top Offset NaN \n",
"Unconnected Height NaN \n",
"Cross-Section NaN \n",
"Area NaN \n",
"Length NaN \n",
"Volume NaN \n",
"Phase Created NaN \n",
"Structural NaN \n",
"Structural Usage NaN \n",
"\n",
" Constraints \\\n",
"Roughness NaN \n",
"Absorptance NaN \n",
"Heat Transfer Coefficient (U) NaN \n",
"Thermal Mass NaN \n",
"Thermal Resistance (R) NaN \n",
"id 1291 \n",
"Function NaN \n",
"Width NaN \n",
"Wrapping at Ends NaN \n",
"Wrapping at Inserts NaN \n",
"Coarse Scale Fill Color NaN \n",
"Coarse Scale Fill Pattern NaN \n",
"Assembly Code NaN \n",
"Assembly Description NaN \n",
"Description NaN \n",
"Keynote NaN \n",
"Type Mark NaN \n",
"Type Name NaN \n",
"Structural Material NaN \n",
"Category NaN \n",
"Family Name NaN \n",
"Family NaN \n",
"Family and Type NaN \n",
"Type NaN \n",
"Type Id NaN \n",
"Reference NaN \n",
"IsExternal NaN \n",
"ThermalTransmittance NaN \n",
"LoadBearing NaN \n",
"ExtendToStructure NaN \n",
"Related to Mass False \n",
"Room Bounding True \n",
"Base Constraint Level 2 \n",
"Base Extension Distance 0.0 \n",
"Base is Attached False \n",
"Base Offset -300.0 \n",
"Location Line Wall Centerline \n",
"Top Constraint Up to level: Roof Line \n",
"Top Extension Distance 0.0 \n",
"Top is Attached False \n",
"Top Offset 0.0 \n",
"Unconnected Height 3300.0 \n",
"Cross-Section NaN \n",
"Area NaN \n",
"Length NaN \n",
"Volume NaN \n",
"Phase Created NaN \n",
"Structural NaN \n",
"Structural Usage NaN \n",
"\n",
" Cross-Section Definition Dimensions \\\n",
"Roughness NaN NaN \n",
"Absorptance NaN NaN \n",
"Heat Transfer Coefficient (U) NaN NaN \n",
"Thermal Mass NaN NaN \n",
"Thermal Resistance (R) NaN NaN \n",
"id 1293 1295.000000 \n",
"Function NaN NaN \n",
"Width NaN NaN \n",
"Wrapping at Ends NaN NaN \n",
"Wrapping at Inserts NaN NaN \n",
"Coarse Scale Fill Color NaN NaN \n",
"Coarse Scale Fill Pattern NaN NaN \n",
"Assembly Code NaN NaN \n",
"Assembly Description NaN NaN \n",
"Description NaN NaN \n",
"Keynote NaN NaN \n",
"Type Mark NaN NaN \n",
"Type Name NaN NaN \n",
"Structural Material NaN NaN \n",
"Category NaN NaN \n",
"Family Name NaN NaN \n",
"Family NaN NaN \n",
"Family and Type NaN NaN \n",
"Type NaN NaN \n",
"Type Id NaN NaN \n",
"Reference NaN NaN \n",
"IsExternal NaN NaN \n",
"ThermalTransmittance NaN NaN \n",
"LoadBearing NaN NaN \n",
"ExtendToStructure NaN NaN \n",
"Related to Mass NaN NaN \n",
"Room Bounding NaN NaN \n",
"Base Constraint NaN NaN \n",
"Base Extension Distance NaN NaN \n",
"Base is Attached NaN NaN \n",
"Base Offset NaN NaN \n",
"Location Line NaN NaN \n",
"Top Constraint NaN NaN \n",
"Top Extension Distance NaN NaN \n",
"Top is Attached NaN NaN \n",
"Top Offset NaN NaN \n",
"Unconnected Height NaN NaN \n",
"Cross-Section Vertical NaN \n",
"Area NaN 22.354990 \n",
"Length NaN 6202.000000 \n",
"Volume NaN 4.515708 \n",
"Phase Created NaN NaN \n",
"Structural NaN NaN \n",
"Structural Usage NaN NaN \n",
"\n",
" Phasing Structural \n",
"Roughness NaN NaN \n",
"Absorptance NaN NaN \n",
"Heat Transfer Coefficient (U) NaN NaN \n",
"Thermal Mass NaN NaN \n",
"Thermal Resistance (R) NaN NaN \n",
"id 1299 1301 \n",
"Function NaN NaN \n",
"Width NaN NaN \n",
"Wrapping at Ends NaN NaN \n",
"Wrapping at Inserts NaN NaN \n",
"Coarse Scale Fill Color NaN NaN \n",
"Coarse Scale Fill Pattern NaN NaN \n",
"Assembly Code NaN NaN \n",
"Assembly Description NaN NaN \n",
"Description NaN NaN \n",
"Keynote NaN NaN \n",
"Type Mark NaN NaN \n",
"Type Name NaN NaN \n",
"Structural Material NaN NaN \n",
"Category NaN NaN \n",
"Family Name NaN NaN \n",
"Family NaN NaN \n",
"Family and Type NaN NaN \n",
"Type NaN NaN \n",
"Type Id NaN NaN \n",
"Reference NaN NaN \n",
"IsExternal NaN NaN \n",
"ThermalTransmittance NaN NaN \n",
"LoadBearing NaN NaN \n",
"ExtendToStructure NaN NaN \n",
"Related to Mass NaN NaN \n",
"Room Bounding NaN NaN \n",
"Base Constraint NaN NaN \n",
"Base Extension Distance NaN NaN \n",
"Base is Attached NaN NaN \n",
"Base Offset NaN NaN \n",
"Location Line NaN NaN \n",
"Top Constraint NaN NaN \n",
"Top Extension Distance NaN NaN \n",
"Top is Attached NaN NaN \n",
"Top Offset NaN NaN \n",
"Unconnected Height NaN NaN \n",
"Cross-Section NaN NaN \n",
"Area NaN NaN \n",
"Length NaN NaN \n",
"Volume NaN NaN \n",
"Phase Created Working Drawings NaN \n",
"Structural NaN False \n",
"Structural Usage NaN Non-bearing "
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import ifcopenshell.util\n",
"import ifcopenshell.util.element\n",
"props = ifcopenshell.util.element.get_psets(wall)\n",
"pd.DataFrame(props)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The wall type element is #1241=IfcWallType('38NblWsDL1I8DljLvn67Ze',#20,'Basic Wall:SIP 202mm Wall - conc clad',$,$,(#1303,#1304,#1305,#1306,#1307,#1308,#1310,#1312),$,'428955',$,.STANDARD.)\n",
"The name of the wall type is Basic Wall:SIP 202mm Wall - conc clad\n",
"The wall type element is #1443=IfcWallType('3lLx0gNe59vvExhby0BfJ3',#20,'Basic Wall:Wall - Timber Clad',$,$,(#1487,#1488,#1489,#1490,#1491,#1492,#1494,#1495),$,'198367',$,.STANDARD.)\n",
"The name of the wall type is Basic Wall:Wall - Timber Clad\n",
"The wall type element is #11289=IfcWallType('28i3i5WDD8Ju0YHnzXOy6$',#20,'Basic Wall:Interior - 165 Partition (1-hr)',$,$,(#11326,#11327,#11328,#11329,#11330,#11331,#11332),$,'232754',$,.STANDARD.)\n",
"The name of the wall type is Basic Wall:Interior - 165 Partition (1-hr)\n",
"The wall type element is #14187=IfcWallType('28i3i5WDD8Ju0YHnzXOy7s',#20,'Basic Wall:Interior - Partition',$,$,(#14222,#14223,#14224,#14225,#14226,#14227,#14228),$,'232827',$,.STANDARD.)\n",
"The name of the wall type is Basic Wall:Interior - Partition\n",
"The wall type element is #15630=IfcWallType('3frnhfKA1FqBKpsy2DvVgb',#20,'Basic Wall:CL_W1',$,$,(#15677,#15678,#15679,#15680,#15681,#15682,#15684),$,'600634',$,.STANDARD.)\n",
"The name of the wall type is Basic Wall:CL_W1\n",
"The wall type element is #15805=IfcWallType('1$ACxXkPXADudYzOG5msCg',#20,'Basic Wall:Foundation - 300mm Concrete',$,$,(#15847,#15848,#15849,#15850,#15851,#15852,#15854),$,'581500',$,.STANDARD.)\n",
"The name of the wall type is Basic Wall:Foundation - 300mm Concrete\n",
"The wall type element is #22638=IfcWallType('0LKJKCHUL1kBtnlFfddW28',#20,'Basic Wall:Retaining - 300mm Concrete',$,$,(#22675,#22676,#22677,#22678,#22679,#22680,#22681),$,'711906',$,.STANDARD.)\n",
"The name of the wall type is Basic Wall:Retaining - 300mm Concrete\n",
"The wall type element is #113577=IfcWallType('3rPRxvVIT7WRZKOFIc3wil',#20,'Basic Wall:Cavity wall_sliders',$,$,(#113622,#113623,#113624,#113625,#113626,#113628),$,'845480',$,.STANDARD.)\n",
"The name of the wall type is Basic Wall:Cavity wall_sliders\n"
]
}
],
"source": [
"# Get all wall types\n",
"\n",
"for wall_type in model.by_type(\"IfcWallType\"):\n",
" print(\"The wall type element is\", wall_type)\n",
" print(\"The name of the wall type is\", wall_type.Name)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The door type is Single-Flush:800 x 2100\n",
"There are 1 of this type\n",
"The door name is Single-Flush:800 x 2100:422466\n",
"The door type is Entrance door:Entrance door\n",
"There are 1 of this type\n",
"The door name is Entrance door:Entrance door:423107\n",
"The door type is Single-Flush:800 x 2100\n",
"There are 1 of this type\n",
"The door name is Single-Flush:800 x 2100:425292\n",
"The door type is Curtain Wall Dbl Glass:Curtain Wall Dbl Glass\n",
"There are 3 of this type\n",
"The door name is Curtain Wall Dbl Glass:Curtain Wall Dbl Glass:485452\n",
"The door name is Curtain Wall Dbl Glass:Curtain Wall Dbl Glass:704276\n",
"The door name is Curtain Wall Dbl Glass:Curtain Wall Dbl Glass:704286\n",
"The door type is Single-Flush:800 x 2100\n",
"There are 3 of this type\n",
"The door name is Single-Flush:800 x 2100:430997\n",
"The door name is Single-Flush:800 x 2100:431144\n",
"The door name is Single-Flush:800 x 2100:431198\n",
"The door type is Single-Flush:800 x 2100\n",
"There are 2 of this type\n",
"The door name is Single-Flush:800 x 2100:431064\n",
"The door name is Single-Flush:800 x 2100:485679\n",
"The door type is Pocket_Slider_Door_5851:2.027 x 0.945\n",
"There are 2 of this type\n",
"The door name is Pocket_Slider_Door_5851:2.027 x 0.945:505974\n",
"The door name is Pocket_Slider_Door_5851:2.027 x 0.945:940221\n",
"The door type is Entrance door:Entrance door\n",
"There are 1 of this type\n",
"The door name is Entrance door:Entrance door:709246\n",
"The door type is M_Double-Flush:1730 x 2134mm\n",
"There are 1 of this type\n",
"The door name is M_Double-Flush:1730 x 2134mm:906937\n",
"The door type is Pocket_Slider_Door_5851:2.027 x 0.945\n",
"There are 1 of this type\n",
"The door name is Pocket_Slider_Door_5851:2.027 x 0.945:939962\n"
]
}
],
"source": [
"# Get all door occurrences of a type\n",
"\n",
"import ifcopenshell.util.element\n",
"\n",
"for door_type in model.by_type(\"IfcDoorType\"):\n",
" print(\"The door type is\", door_type.Name)\n",
" doors = ifcopenshell.util.element.get_types(door_type)\n",
" print(f\"There are {len(doors)} of this type\")\n",
" for door in doors:\n",
" print(\"The door name is\", door.Name)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The wall type of Basic Wall:SIP 202mm Wall - conc clad:198694 is Basic Wall:SIP 202mm Wall - conc clad\n"
]
}
],
"source": [
"# Get the type of a wall\n",
"\n",
"import ifcopenshell.util.element\n",
"\n",
"wall = model.by_type(\"IfcWall\")[0]\n",
"wall_type = ifcopenshell.util.element.get_type(wall)\n",
"print(f\"The wall type of {wall.Name} is {wall_type.Name}\")"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'Analytical Properties': {'Roughness': 1, 'Absorptance': 0.1, 'Heat Transfer Coefficient (U)': 47.545454545454554, 'Thermal Mass': 33.24419999999999, 'Thermal Resistance (R)': 0.02103250478011472, 'id': 1303}, 'Construction': {'Function': 'Exterior', 'Width': 202.0, 'Wrapping at Ends': 'None', 'Wrapping at Inserts': 'Both', 'id': 1304}, 'Graphics': {'Coarse Scale Fill Color': 0, 'Coarse Scale Fill Pattern': '<Solid fill>', 'id': 1305}, 'Identity Data': {'Assembly Code': '', 'Assembly Description': '', 'Description': 'Structural Insulation Panel Wall with Kiln Dried Timber Panel Rainscreen', 'Keynote': 'F10', 'Type Mark': 'WT1', 'Type Name': 'SIP 202mm Wall - conc clad', 'id': 1306}, 'Materials and Finishes': {'Structural Material': 'Structure - Timber Insulated Panel - Insulation', 'id': 1307}, 'Other': {'Category': 'Walls', 'Family Name': 'Basic Wall', 'id': 1308}, 'Pset_ReinforcementBarPitchOfWall': {'Description': 'Structural Insulation Panel Wall with Kiln Dried Timber Panel Rainscreen', 'id': 1310}, 'Pset_WallCommon': {'IsExternal': True, 'ThermalTransmittance': 47.545454545454554, 'id': 1312}}\n",
"{'Analytical Properties': {'Roughness': 1, 'Absorptance': 0.1, 'Heat Transfer Coefficient (U)': 47.545454545454554, 'Thermal Mass': 33.24419999999999, 'Thermal Resistance (R)': 0.02103250478011472, 'id': 1303}, 'Construction': {'Function': 'Exterior', 'Width': 202.0, 'Wrapping at Ends': 'None', 'Wrapping at Inserts': 'Both', 'id': 1304}, 'Graphics': {'Coarse Scale Fill Color': 0, 'Coarse Scale Fill Pattern': '<Solid fill>', 'id': 1305}, 'Identity Data': {'Assembly Code': '', 'Assembly Description': '', 'Description': 'Structural Insulation Panel Wall with Kiln Dried Timber Panel Rainscreen', 'Keynote': 'F10', 'Type Mark': 'WT1', 'Type Name': 'SIP 202mm Wall - conc clad', 'id': 1306}, 'Materials and Finishes': {'Structural Material': 'Structure - Timber Insulated Panel - Insulation', 'id': 1307}, 'Other': {'Category': 'Walls', 'Family Name': 'Basic Wall', 'id': 1297, 'Family': 'Basic Wall', 'Family and Type': 'Basic Wall: SIP 202mm Wall - conc clad', 'Type': 'SIP 202mm Wall - conc clad', 'Type Id': '428955'}, 'Pset_ReinforcementBarPitchOfWall': {'Description': 'Structural Insulation Panel Wall with Kiln Dried Timber Panel Rainscreen', 'id': 1245, 'Reference': 'SIP 202mm Wall - conc clad'}, 'Pset_WallCommon': {'IsExternal': True, 'ThermalTransmittance': 47.545454545454554, 'id': 1248, 'LoadBearing': False, 'Reference': 'SIP 202mm Wall - conc clad', 'ExtendToStructure': False}, 'Pset_EnvironmentalImpactIndicators': {'Reference': 'SIP 202mm Wall - conc clad', 'id': 1243}, 'Constraints': {'Related to Mass': False, 'Room Bounding': True, 'Base Constraint': 'Level 2', 'Base Extension Distance': 0.0, 'Base is Attached': False, 'Base Offset': -300.0, 'Location Line': 'Wall Centerline', 'Top Constraint': 'Up to level: Roof Line', 'Top Extension Distance': 0.0, 'Top is Attached': False, 'Top Offset': 0.0, 'Unconnected Height': 3300.0, 'id': 1291}, 'Cross-Section Definition': {'Cross-Section': 'Vertical', 'id': 1293}, 'Dimensions': {'Area': 22.35498965607848, 'Length': 6201.999999999788, 'Volume': 4.5157079105278415, 'id': 1295}, 'Phasing': {'Phase Created': 'Working Drawings', 'id': 1299}, 'Structural': {'Structural': False, 'Structural Usage': 'Non-bearing', 'id': 1301}}\n",
"{'Analytical Properties': {'Roughness': 1, 'Absorptance': 0.1, 'Heat Transfer Coefficient (U)': 47.545454545454554, 'Thermal Mass': 33.24419999999999, 'Thermal Resistance (R)': 0.02103250478011472, 'id': 1303}, 'Construction': {'Function': 'Exterior', 'Width': 202.0, 'Wrapping at Ends': 'None', 'Wrapping at Inserts': 'Both', 'id': 1304}, 'Graphics': {'Coarse Scale Fill Color': 0, 'Coarse Scale Fill Pattern': '<Solid fill>', 'id': 1305}, 'Identity Data': {'Assembly Code': '', 'Assembly Description': '', 'Description': 'Structural Insulation Panel Wall with Kiln Dried Timber Panel Rainscreen', 'Keynote': 'F10', 'Type Mark': 'WT1', 'Type Name': 'SIP 202mm Wall - conc clad', 'id': 1306}, 'Materials and Finishes': {'Structural Material': 'Structure - Timber Insulated Panel - Insulation', 'id': 1307}, 'Other': {'Category': 'Walls', 'Family Name': 'Basic Wall', 'id': 1297, 'Family': 'Basic Wall', 'Family and Type': 'Basic Wall: SIP 202mm Wall - conc clad', 'Type': 'SIP 202mm Wall - conc clad', 'Type Id': '428955'}, 'Pset_ReinforcementBarPitchOfWall': {'Description': 'Structural Insulation Panel Wall with Kiln Dried Timber Panel Rainscreen', 'id': 1245, 'Reference': 'SIP 202mm Wall - conc clad'}, 'Pset_WallCommon': {'IsExternal': True, 'ThermalTransmittance': 47.545454545454554, 'id': 1248, 'LoadBearing': False, 'Reference': 'SIP 202mm Wall - conc clad', 'ExtendToStructure': False}, 'Pset_EnvironmentalImpactIndicators': {'Reference': 'SIP 202mm Wall - conc clad', 'id': 1243}, 'Constraints': {'Related to Mass': False, 'Room Bounding': True, 'Base Constraint': 'Level 2', 'Base Extension Distance': 0.0, 'Base is Attached': False, 'Base Offset': -300.0, 'Location Line': 'Wall Centerline', 'Top Constraint': 'Up to level: Roof Line', 'Top Extension Distance': 0.0, 'Top is Attached': False, 'Top Offset': 0.0, 'Unconnected Height': 3300.0, 'id': 1291}, 'Cross-Section Definition': {'Cross-Section': 'Vertical', 'id': 1293}, 'Dimensions': {'Area': 22.35498965607848, 'Length': 6201.999999999788, 'Volume': 4.5157079105278415, 'id': 1295}, 'Phasing': {'Phase Created': 'Working Drawings', 'id': 1299}, 'Structural': {'Structural': False, 'Structural Usage': 'Non-bearing', 'id': 1301}}\n",
"{}\n"
]
}
],
"source": [
"# Get the properties of a wall type\n",
"\n",
"import ifcopenshell.util.element\n",
"\n",
"wall = model.by_type(\"IfcWall\")[0]\n",
"wall_type = ifcopenshell.util.element.get_type(wall)\n",
"\n",
"# Get all properties and quantities as a dictionary\n",
"# returns {\"Pset_WallCommon\": {\"id\": 123, \"FireRating\": \"2HR\", ...}}\n",
"psets = ifcopenshell.util.element.get_psets(wall_type)\n",
"print(psets)\n",
"\n",
"# Get all properties and quantities of the wall, including inherited type properties\n",
"psets = ifcopenshell.util.element.get_psets(wall)\n",
"print(psets)\n",
"\n",
"# Get only properties and not quantities\n",
"print(ifcopenshell.util.element.get_psets(wall, psets_only=True))\n",
"\n",
"# Get only quantities and not properties\n",
"print(ifcopenshell.util.element.get_psets(wall, qtos_only=True))"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The wall is located on Level 2\n"
]
}
],
"source": [
"# Find the spatial container of an element\n",
"\n",
"import ifcopenshell.util.element\n",
"\n",
"wall = model.by_type(\"IfcWall\")[0]\n",
"# Walls are typically located on a storey, equipment might be located in spaces, etc\n",
"container = ifcopenshell.util.element.get_container(wall)\n",
"# The wall is located on Level 01\n",
"print(f\"The wall is located on {container.Name}\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Get all elements in a container\n",
"\n",
"import ifcopenshell.util.element\n",
"\n",
"for storey in model.by_type(\"IfcBuildingStorey\"):\n",
" elements = ifcopenshell.util.element.get_decomposition(storey)\n",
" print(f\"There are {len(elements)} located on storey {storey.Name}, they are:\")\n",
" for element in elements:\n",
" print(element.Name)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[-11116.90295913 -8490.41893007 2700. ]\n"
]
}
],
"source": [
"# Get the XYZ coordinates of a element\n",
"\n",
"import ifcopenshell.util.placement\n",
"\n",
"wall = model.by_type(\"IfcWall\")[0]\n",
"# This returns a 4x4 matrix, including the location and rotation. For example:\n",
"# array([[ 1.00000000e+00, 0.00000000e+00, 0.00000000e+00, 2.00000000e+00],\n",
"# [ 0.00000000e+00, 1.00000000e+00, 0.00000000e+00, 3.00000000e+00],\n",
"# [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00, 5.00000000e+00],\n",
"# [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])\n",
"matrix = ifcopenshell.util.placement.get_local_placement(wall.ObjectPlacement)\n",
"# The last column holds the XYZ values, such as:\n",
"# array([ 2.00000000e+00, 3.00000000e+00, 5.00000000e+00])\n",
"print(matrix[:,3][:3])"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [],
"source": [
"# Get the classification of an element\n",
"import ifcopenshell.util.classification\n",
"\n",
"wall = model.by_type(\"IfcWall\")[0]\n",
"# Elements may have multiple classification references assigned\n",
"references = ifcopenshell.util.classification.get_references(wall)\n",
"for reference in references:\n",
" # A reference code might be Pr_30_59_99_02\n",
" print(\"The wall has a classification reference of\", reference[1])\n",
" # A system might be Uniclass 2015\n",
" system = ifcopenshell.util.classification.get_classification(reference)\n",
" print(\"This reference is part of the system\", system.Name)"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"# Convert to and from SI units and project units\n",
"\n",
"import ifcopenshell.util.unit\n",
"ifc_project_length = 0\n",
"unit_scale = ifcopenshell.util.unit.calculate_unit_scale(model)\n",
"si_meters = ifc_project_length * unit_scale\n",
"ifc_project_length = si_meters / unit_scale\n"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"ename": "IndexError",
"evalue": "list index out of range",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32mc:\\Users\\chuon\\Downloads\\IfcOpenShellNow.ipynb Cell 18\u001b[0m in \u001b[0;36m<cell line: 5>\u001b[1;34m()\u001b[0m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/chuon/Downloads/IfcOpenShellNow.ipynb#X25sZmlsZQ%3D%3D?line=0'>1</a>\u001b[0m \u001b[39m# Get the distribution system of an element\u001b[39;00m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/chuon/Downloads/IfcOpenShellNow.ipynb#X25sZmlsZQ%3D%3D?line=2'>3</a>\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mifcopenshell\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mutil\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mclassification\u001b[39;00m\n\u001b[1;32m----> <a href='vscode-notebook-cell:/c%3A/Users/chuon/Downloads/IfcOpenShellNow.ipynb#X25sZmlsZQ%3D%3D?line=4'>5</a>\u001b[0m pipe \u001b[39m=\u001b[39m model\u001b[39m.\u001b[39;49mby_type(\u001b[39m\"\u001b[39;49m\u001b[39mIfcPipeSegment\u001b[39;49m\u001b[39m\"\u001b[39;49m)[\u001b[39m0\u001b[39;49m]\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/chuon/Downloads/IfcOpenShellNow.ipynb#X25sZmlsZQ%3D%3D?line=5'>6</a>\u001b[0m \u001b[39m# Elements may be assigned to multiple systems simultaneously, such as electrical, hydraulic, etc\u001b[39;00m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Users/chuon/Downloads/IfcOpenShellNow.ipynb#X25sZmlsZQ%3D%3D?line=6'>7</a>\u001b[0m systems \u001b[39m=\u001b[39m ifcopenshell\u001b[39m.\u001b[39mutil\u001b[39m.\u001b[39msystem\u001b[39m.\u001b[39mget_element_systems(pipe)\n",
"\u001b[1;31mIndexError\u001b[0m: list index out of range"
]
}
],
"source": [
"# Get the distribution system of an element\n",
"\n",
"import ifcopenshell.util.classification\n",
"\n",
"pipe = model.by_type(\"IfcPipeSegment\")[0]\n",
"# Elements may be assigned to multiple systems simultaneously, such as electrical, hydraulic, etc\n",
"systems = ifcopenshell.util.system.get_element_systems(pipe)\n",
"for system in systems:\n",
" # For example, it might be part of a Chilled Water system\n",
" print(\"This pipe is part of the system\", system.Name)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"root.create_entity {\"ifc_class\": \"IfcProject\", \"name\": \"My Project\"}\n",
"FINISHED create_owner_history in 0.0\n",
"FINISHED create_entity in 0.0009944438934326172\n",
"unit.assign_unit {}\n",
"FINISHED assign_unit in 0.0009989738464355469\n",
"context.add_context {\"context_type\": \"Model\"}\n",
"FINISHED add_context in 0.0009992122650146484\n",
"context.add_context {\"context_type\": \"Model\", \"context_identifier\": \"Body\", \"target_view\": \"MODEL_VIEW\", \"parent\": {\"cast_type\": \"entity_instance\", \"value\": 10, \"Name\": null}}\n",
"FINISHED add_context in 0.0\n",
"root.create_entity {\"ifc_class\": \"IfcSite\", \"name\": \"My Site\"}\n",
"FINISHED create_owner_history in 0.0\n",
"FINISHED create_entity in 0.0\n",
"root.create_entity {\"ifc_class\": \"IfcBuilding\", \"name\": \"Building A\"}\n",
"FINISHED create_owner_history in 0.0\n",
"FINISHED create_entity in 0.0009980201721191406\n",
"root.create_entity {\"ifc_class\": \"IfcBuildingStorey\", \"name\": \"Ground Floor\"}\n",
"FINISHED create_owner_history in 0.0\n",
"FINISHED create_entity in 0.0\n",
"aggregate.assign_object {\"relating_object\": {\"cast_type\": \"entity_instance\", \"value\": 1, \"Name\": \"My Project\"}, \"product\": {\"cast_type\": \"entity_instance\", \"value\": 12, \"Name\": \"My Site\"}}\n",
"FINISHED create_owner_history in 0.0\n",
"FINISHED assign_object in 0.0009996891021728516\n",
"aggregate.assign_object {\"relating_object\": {\"cast_type\": \"entity_instance\", \"value\": 12, \"Name\": \"My Site\"}, \"product\": {\"cast_type\": \"entity_instance\", \"value\": 13, \"Name\": \"Building A\"}}\n",
"FINISHED create_owner_history in 0.0\n",
"FINISHED assign_object in 0.0009996891021728516\n",
"aggregate.assign_object {\"relating_object\": {\"cast_type\": \"entity_instance\", \"value\": 13, \"Name\": \"Building A\"}, \"product\": {\"cast_type\": \"entity_instance\", \"value\": 14, \"Name\": \"Ground Floor\"}}\n",
"FINISHED create_owner_history in 0.0\n",
"FINISHED assign_object in 0.0\n",
"root.create_entity {\"ifc_class\": \"IfcWall\"}\n",
"FINISHED create_owner_history in 0.0\n",
"FINISHED create_entity in 0.0009989738464355469\n",
"geometry.add_wall_representation {\"context\": {\"cast_type\": \"entity_instance\", \"value\": 11, \"Name\": null}, \"length\": 5, \"height\": 3, \"thickness\": 0.2}\n",
"FINISHED add_wall_representation in 0.0009999275207519531\n",
"geometry.assign_representation {\"product\": {\"cast_type\": \"entity_instance\", \"value\": 18, \"Name\": null}, \"representation\": {\"cast_type\": \"entity_instance\", \"value\": 28, \"Name\": null}}\n",
"FINISHED update_owner_history in 0.0\n",
"FINISHED assign_representation in 0.0009996891021728516\n",
"spatial.assign_container {\"relating_structure\": {\"cast_type\": \"entity_instance\", \"value\": 14, \"Name\": \"Ground Floor\"}, \"product\": {\"cast_type\": \"entity_instance\", \"value\": 18, \"Name\": null}}\n",
"FINISHED create_owner_history in 0.0\n",
"FINISHED assign_container in 0.0\n"
]
}
],
"source": [
"# Create a simple model from scratch\n",
"import ifcopenshell\n",
"from ifcopenshell.api import run\n",
"\n",
"# Create a blank model\n",
"model = ifcopenshell.file()\n",
"\n",
"# All projects must have one IFC Project element\n",
"project = run(\"root.create_entity\", model, ifc_class=\"IfcProject\", name=\"My Project\")\n",
"\n",
"# Geometry is optional in IFC, but because we want to use geometry in this example, let's define units\n",
"# Assigning without arguments defaults to metric units\n",
"run(\"unit.assign_unit\", model)\n",
"\n",
"# Let's create a modeling geometry context, so we can store 3D geometry (note: IFC supports 2D too!)\n",
"context = run(\"context.add_context\", model, context_type=\"Model\")\n",
"# In particular, in this example we want to store the 3D \"body\" geometry of objects, i.e. the body shape\n",
"body = run(\n",
" \"context.add_context\", model,\n",
" context_type=\"Model\", context_identifier=\"Body\", target_view=\"MODEL_VIEW\", parent=context\n",
")\n",
"\n",
"# Create a site, building, and storey. Many hierarchies are possible.\n",
"site = run(\"root.create_entity\", model, ifc_class=\"IfcSite\", name=\"My Site\")\n",
"building = run(\"root.create_entity\", model, ifc_class=\"IfcBuilding\", name=\"Building A\")\n",
"storey = run(\"root.create_entity\", model, ifc_class=\"IfcBuildingStorey\", name=\"Ground Floor\")\n",
"\n",
"# Since the site is our top level location, assign it to the project\n",
"# Then place our building on the site, and our storey in the building\n",
"run(\"aggregate.assign_object\", model, relating_object=project, product=site)\n",
"run(\"aggregate.assign_object\", model, relating_object=site, product=building)\n",
"run(\"aggregate.assign_object\", model, relating_object=building, product=storey)\n",
"\n",
"# Let's create a new wall\n",
"wall = run(\"root.create_entity\", model, ifc_class=\"IfcWall\")\n",
"# Add a new wall-like body geometry, 5 meters long, 3 meters high, and 200mm thick\n",
"representation = run(\"geometry.add_wall_representation\", model, context=body, length=5, height=3, thickness=0.2)\n",
"# Assign our new body geometry back to our wall\n",
"run(\"geometry.assign_representation\", model, product=wall, representation=representation)\n",
"\n",
"# Place our wall in the ground floor\n",
"run(\"spatial.assign_container\", model, relating_structure=storey, product=wall)\n",
"\n",
"# Write out to a file\n",
"model.write(\"newmodel.ifc\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Document\n",
"https://blenderbim.org/docs-python/ifcopenshell-python/hello_world.html"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.10.0 64-bit",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.0"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "ec8507a9d0d51557069ff9e910ec47822a40c04209a5f1a2da16428a37fdf4db"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment