Skip to content

Commit

Permalink
arrows app example
Browse files Browse the repository at this point in the history
  • Loading branch information
seb-esser committed Sep 26, 2023
1 parent cfe599d commit cceb3aa
Show file tree
Hide file tree
Showing 6 changed files with 553 additions and 0 deletions.
101 changes: 101 additions & 0 deletions 08_understanding_IFC_under_the_hood.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "2209f650338bac01",
"metadata": {},
"source": [
"# Understanding IFC \"under the hood\"\n",
"\n",
"In this notebook, you will be equipped with advanced visualization tools that may help you explore the underlying network of objects forming an IFC model. \n",
"You may have already seen the graphViz utility in another notebook. \n",
"In addition to those tools, we will now explore a `labeled property graph` representation of an IFC file. "
]
},
{
"cell_type": "markdown",
"id": "1afdbd05209a2a38",
"metadata": {},
"source": [
"## Getting started\n",
"\n",
"All you need is included in `IfcArrowsViz` file, which contains the IFCArrowsGraphGenerator class. \n",
"We are going to use the arrows.app, which provides options to interactively draw graphs and export them in various representations (e.g., svg, png, json, cypher, or graphML). \n",
"\n",
"You can reach the app free of charge and without login here: https://arrows.app/ \n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "initial_id",
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from pprint import pprint\n",
"from utils.IfcArrowsViz import IFCArrowsGraphGenerator\n",
"\n",
"visualizer = IFCArrowsGraphGenerator(model_path=\"data/cube_single.ifc\")\n",
"json = visualizer.generate_arrows_visualization(ignore_null_values=True)\n",
"\n",
"print(json)\n"
]
},
{
"attachments": {
"arrows_import.png": {
"image/png": "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kIhCAABEIQAAohAAgEQUAgAgCgEAEIUAACSiEAAAUQgAgCgEACARhQAAiEIAAEQhAACJKAQAQBQCACAKAQBIRCEAAKIQAABRCABAIgoBABCFAACIQgAAElEIAIAoBABAFAIAkIhCAABEIQAAohAAgEQUAgAgCgEAEIUAACSiEAAAUQgAgCgEACARhQAAiEIAAEQhAACJKAQAQBQCACAKAQBIRCEAAKIQAABRCABAIgoBABCFAACIQgAAElEIAIAoBABAFAIAkIhCAABEIQAAohAAgEQUAgAgCgEAEIUAACSiEAAAUQgAgCgEACARhQAAiEIAAEQhAACJKAQAQBQCACAKAQBIRCEAAKIQAABRCABAIgoBABCFAACIQgAAElEIAIAoBABAFAIAkIhCAABEIQAAohAAgEQUAgAgCgEAEIUAACSiEAAAUQgAgCgEACARhQAAiEIAAEQhAACJKAQAQBQCACAKAQBIRCEAAKIQAABRCABAIgoBABCFAACIQgAAElEIAIAoBABAFAIAkIhCAABEIQAAohAAgEQUAgAgCgEAEIUAACSiEAAAUQgAgCgEACARhQAAiEIAAEQhAACJKAQAQBQCACAKAQBIRCEAAKIQAABRCABAIgoBABCFAACIQgAAElEIAIAoBABAFAIAkIhCAABEIQAAohAAgEQUAgAgCgEAEIUAACSiEAAAUQgAgCgEACARhQAAiEIAAEQhAACJKAQAQBQCACAKAQBIRCEAAKIQAABRCABAIgoBABCFAACIQgAAElEIAIAoBABAFAIAkIhCAABEIQAAohAAgEQUAgAgCgEAEIUAACSiEAAAUQgAgCgEACARhQAAiEIAAEQhAACJKAQAQBQCACAKAQBIRCEAAKIQAABRCABARPx/wtM3FA/haC0AAAAASUVORK5CYII="
}
},
"cell_type": "markdown",
"id": "6737ce42ccc9ef30",
"metadata": {},
"source": [
"## Explore and build visualization\n",
"\n",
"Using the JSON produced in the cell above, you can now move into the arrows app. \n",
"Please select \"import\" in the upper left corner and paste the json. \n",
"\n",
"![arrows_import.png](img\\arrows_import.png)\n",
"\n",
"Now, you can proceed and arrange the nodes and relationships according to your needs. \n",
"There are several export options available. \n",
"\n",
"The following example illustrates the Cube-single IFC model. \n",
"\n",
"![CubeSingle_Graph3.png](img\\CubeSingle_Graph3.png) \n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fae19a6ac6a090cc",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.11.5"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
41 changes: 41 additions & 0 deletions data/cube_single.ifc
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [Ifc4NotAssigned]'),'2;1');
FILE_NAME(
/* name */ 'cube_single.ifc',
/* time_stamp */ '2021-06-23T09:17:48',
/* author */ ('Sebastian Esser'),
/* organization */ ('Unknown'),
/* preprocessor_version */ 'GeometryGymIFC v0.1.13.0 by Geometry Gym Pty Ltd built 2021-06-15T10:17:44',
/* originating_system */ 'ConsoleCreateGeomRep v1.0.0.0',
/* authorization */ 'None');

FILE_SCHEMA (('IFC4'));
ENDSEC;

DATA;
#1= IFCCARTESIANPOINT((0.0,0.0,0.0));
#2= IFCAXIS2PLACEMENT3D(#1,$,$);
#3= IFCLOCALPLACEMENT($,#2);
#4= IFCSITE('2gG1du9OH4eQ4omNt$zfn1',$,'site',$,$,#3,$,$,$,$,$,$,$,$);
#5= IFCPROJECT('2KrDsiaI1FkRwWUa5EvoNK',$,'GeomRep',$,$,$,$,(#10),$);
#6= IFCRELAGGREGATES('1U7z3bi0N_4L0UNA$m7S6j',$,$,$,#5,(#4));
#7= IFCRECTANGLEPROFILEDEF(.AREA.,'rectangleProfileDef',$,4.0,6.0);
#8= IFCEXTRUDEDAREASOLID(#7,$,#9,1.35);
#9= IFCDIRECTION((0.0,0.0,1.0));
#10= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.0001,#12,#13);
#11= IFCCARTESIANPOINT((0.0,0.0,0.0));
#12= IFCAXIS2PLACEMENT3D(#11,$,$);
#13= IFCDIRECTION((0.0,1.0));
#14= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#10,$,.MODEL_VIEW.,$);
#15= IFCSHAPEREPRESENTATION(#14,'Body','SweptSolid',(#8));
#16= IFCPRODUCTDEFINITIONSHAPE($,$,(#15));
#17= IFCCARTESIANPOINT((2.0,5.0,1.0));
#18= IFCAXIS2PLACEMENT3D(#17,$,$);
#19= IFCLOCALPLACEMENT(#3,#18);
#20= IFCBUILDINGELEMENTPROXY('3xn$Io5tr8TOYxqxH15Rkg',$,'Cuboid1',$,$,#19,#16,$,$);
#21= IFCRELCONTAINEDINSPATIALSTRUCTURE('3FNv6N_ur0zQ8tygS1XDuH',$,'Site','Site Container for Elements',(#20),#4);
ENDSEC;

END-ISO-10303-21;

Binary file added img/CubeSingle_Graph3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
ifcopenshell
networkx
graphviz
jsonpickle
Loading

0 comments on commit cceb3aa

Please sign in to comment.