Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
191 commits
Select commit Hold shift + click to select a range
f0caf11
start of the test for ifc_check_ifctester
Cudok Feb 24, 2025
6a459b3
first version of ids test
Cudok Mar 4, 2025
d360577
adapt test_checkIFC_IDS (use files from IDS repo)
Cudok Mar 4, 2025
caa3745
add modul check_ifc_ids
Cudok Mar 4, 2025
35419ad
add/adapt tests check_ifc via ids
Cudok Mar 11, 2025
edcfa41
remove test, because problem with test files
Cudok Mar 11, 2025
00b26ce
add test again, because issue with ifcTester
Cudok Mar 12, 2025
e9e176f
able to read and print the guids
Cudok Mar 13, 2025
9963d52
guid uniqeness and none check
Cudok Mar 25, 2025
98a4d84
uncomment guid Non-check and "log" print
Cudok Mar 26, 2025
10e8dbd
add tests for uniqueness check of guids
Cudok Mar 26, 2025
8ad94a7
adapt the "log" print
Cudok Mar 26, 2025
a5c098a
small adapt of doc string
Cudok Apr 8, 2025
2417ae3
add passing guid_unique test
Cudok Apr 8, 2025
d814130
function check guid not empty
Cudok Apr 8, 2025
fb7df97
add test for check guid empty
Cudok Apr 8, 2025
805cc75
add test for guid 22 character
Cudok Apr 9, 2025
b464956
add test for check 2LSB (1st version)
Cudok Apr 22, 2025
c9791ae
separate test case with/without ifctester
Cudok Apr 22, 2025
2a6ee8b
add ifccheck project and plugin
Cudok May 21, 2025
3aab445
add dummy task CheckIfcNew
Cudok May 21, 2025
37ef61a
before integration uniqueness test guid
Cudok May 21, 2025
8048e8f
adapt test ifc check to use class TestTask
Cudok Jun 10, 2025
c771fd7
adapt name and class name
Cudok Jun 10, 2025
f787f07
ifc check with ifcLoad
Cudok Jun 11, 2025
fbb30ed
rename CheckIfcNew > CheckIfc and some adaptions
Cudok Jun 11, 2025
6c7f041
remove CheckIfcNew and adaptation
Cudok Jun 11, 2025
15be3ae
set weather data path centraly
Cudok Jun 17, 2025
a705681
add checkIFC_guid_unique_fail to TestCheckIFC
Cudok Jun 17, 2025
40b4a00
move test_checkIFC_guid_unique_specific_guid_return
Cudok Jun 17, 2025
6c74785
change tested ifc files (and add decisions)
Cudok Jun 18, 2025
7d4a324
put run_check_guid_empty into CheckIfc task
Cudok Jun 18, 2025
a77994f
remove TODO (done)
Cudok Jun 18, 2025
293419d
add test ...guid_empty_fail
Cudok Jun 18, 2025
6859b1f
add check_guid_empty_passion
Cudok Jun 18, 2025
04e0c6a
rename test functions (not capital letters)
Cudok Jun 18, 2025
8927373
minor correction
Cudok Jun 18, 2025
5283d16
add specific check ifc sim_settings
Cudok Jun 18, 2025
f7ae50f
add sim_settings ids_file_path to example e3
Cudok Jun 18, 2025
61414b2
only hint for later work
Cudok Jun 24, 2025
9cef96a
implement 1st version ids test in class CheckIFC
Cudok Jun 24, 2025
7f07b95
make run_ids_check_on_ifc static methode
Cudok Jun 24, 2025
09110a9
remove old stuff
Cudok Jun 24, 2025
5b80f20
adapt path to function and remove old code
Cudok Jun 24, 2025
96a0c7e
add adapt position of logging messages
Cudok Jun 24, 2025
167d3ed
bring print output in logger.info for run_ids...
Cudok Jun 24, 2025
5a347d1
adapt log message depending on kind of result
Cudok Jun 24, 2025
8aa7712
move logge command
Cudok Jun 25, 2025
f3ef623
move output to log-system
Cudok Jun 25, 2025
8ae12e5
moved test_check_ifc.py into plugingIFCCheck
Cudok Jun 25, 2025
f49b100
add usage integration test
Cudok Jun 25, 2025
dc1a894
add ifctester to project.toml
Cudok Jun 25, 2025
4e7193f
add integration test for FZK-Haus
Cudok Jun 25, 2025
2d49f7d
rename module name of new CheckIfcIds
Cudok Jun 26, 2025
efd8208
add 2nd integration test other ifc file
Cudok Jun 26, 2025
120706b
add ifctester to pyproject.toml
Cudok Jul 1, 2025
1acd7da
add tests with 3rooms ifc files
Cudok Jul 1, 2025
f8b6f5d
add report feature to ifctest base check
Cudok Jul 1, 2025
d6ae4ea
remove finished todo
Cudok Jul 2, 2025
b7d364a
write dummy html report file
Cudok Jul 7, 2025
f21de09
make all 3 html reports active
Cudok Jul 7, 2025
91ac2a8
add ifc version check from check_ifc.py(old)
Cudok Jul 9, 2025
b217909
adapt import of ifcopenshell
Cudok Jul 9, 2025
657538e
add test check_ifc_version
Cudok Jul 15, 2025
078b9d5
add option auto popup of the reports
Cudok Jul 16, 2025
cb55779
correct closing tags (minor)
Cudok Jul 16, 2025
aa8c023
add verion check into report
Cudok Jul 16, 2025
e432281
make new template and restore old template
Cudok Jul 17, 2025
9a207cc
move/rename checkIFC example
Cudok Jul 21, 2025
a9b0628
no error rise in verion ifc check
Cudok Jul 21, 2025
298017b
two adaption for testing reasons
Cudok Jul 21, 2025
e1af071
logger output "critical" for fail critical checks
Cudok Jul 21, 2025
fdecb69
add guid check into error_summary
Cudok Jul 22, 2025
1851676
adapt link to guid summary
Cudok Jul 22, 2025
fa76b78
add guid report, 1st version
Cudok Jul 22, 2025
546246c
add/adapt a Non-unique table
Cudok Jul 22, 2025
fe696f2
add table for empty guids
Cudok Jul 22, 2025
fea317b
forgotten change for generate template
Cudok Jul 22, 2025
7d96893
empty_guid > empty_guids
Cudok Jul 22, 2025
b660bf6
add todo
Cudok Jul 30, 2025
dcb9651
add if question for log output
Cudok Jul 31, 2025
a9a7763
check u_value for ifcWindow via ids works
Cudok Aug 26, 2025
dd9d9b4
adapt name of requirement
Cudok Aug 26, 2025
633942a
add u_value of slab
Cudok Aug 26, 2025
07ac111
add ifcWall to ids file
Cudok Aug 27, 2025
52dfe53
extend ifcSlab by ifcRoof in ids file
Cudok Aug 27, 2025
589de34
add IfcBuilding to ids file
Cudok Aug 27, 2025
00c87ee
add ifcBuildingStorey to ids file
Cudok Aug 27, 2025
70ad5cd
switch to sb55 in..dev.py
Cudok Aug 27, 2025
747cf38
add 1st version of space check to ids file
Cudok Aug 27, 2025
81607a3
add guid length = 22 character check to ids file
Cudok Aug 27, 2025
69f1ae8
check RatatingSpace final, no change needed
Cudok Aug 28, 2025
4d6f2d7
add check ReleatedBuildingElement
Cudok Sep 2, 2025
b855936
add check ConnectionGeometry
Cudok Sep 2, 2025
1853ac5
move attribute check ifcConnectionSureface
Cudok Sep 3, 2025
a4e6181
add PhysicalOrVirtualBoundary to ids file
Cudok Sep 3, 2025
d9f954e
add InternalOrExternalBoundary to ids file
Cudok Sep 3, 2025
0269271
add check CorrespondingBoundary and description
Cudok Sep 3, 2025
ede1a96
minor correction
Cudok Sep 29, 2025
9b39b96
add paths to small ifc example
Cudok Sep 29, 2025
7e82ad3
set decision answer
Cudok Oct 15, 2025
f21bfa5
changes only for developing
Cudok Oct 16, 2025
173fb69
add further ifc checks taken form old ifc check
Cudok Oct 16, 2025
1408ecb
results from def validate_sub_inst return
Cudok Oct 16, 2025
123ce6e
move check (by falk) to baselogic class
Cudok Oct 16, 2025
0961e94
start rearrange structure
Cudok Oct 17, 2025
e978473
rearrange position of self.sub_inst
Cudok Oct 22, 2025
6020a5b
rename filter ifc data variables, adapt doc string
Cudok Oct 23, 2025
0bce593
move BPS specific checks to CheckLogicBPS
Cudok Oct 23, 2025
1363678
add check ConnectionGeometry CheckLogicBPS
Cudok Oct 23, 2025
164b3ac
add check functions: relating_elem, related_elem
Cudok Oct 23, 2025
97a53a9
add check basis surface
Cudok Oct 23, 2025
bbd864b
add check func inner_boundaries
Cudok Oct 23, 2025
f9ba155
add check func outer_boundary_composite
Cudok Oct 23, 2025
b9f4d8b
add check func check_segments
Cudok Oct 23, 2025
6cd4800
add func check_segments_poly_coords
Cudok Oct 23, 2025
0217aec
add check outer_boundary_poly, outer_boundary_poly_corrd
Cudok Oct 29, 2025
fe8e31b
add check plan position
Cudok Oct 29, 2025
1b75ea6
add check location
Cudok Oct 29, 2025
55c9e86
add check axis
Cudok Oct 29, 2025
4b1c202
add check refdirection
Cudok Oct 29, 2025
403ee53
add check location coord
Cudok Oct 29, 2025
80c2204
add check axis dir ratios
Cudok Oct 29, 2025
a6a521a
check refdirection dir ratios
Cudok Oct 29, 2025
da5db12
add _check_inst_sb
Cudok Oct 30, 2025
d4365df
remove not needed lines
Cudok Oct 30, 2025
0270148
add check inst materials
Cudok Oct 30, 2025
db9cf33
add check inst properties
Cudok Nov 5, 2025
1798f50
add check inst containded in structrure
Cudok Nov 5, 2025
b76ef97
add check inst representation
Cudok Nov 5, 2025
b584e52
rename example file
Cudok Nov 6, 2025
f7321f2
example check ifc for hvac use cases
Cudok Nov 6, 2025
ba197c2
rename ifc_props.ids > ifc_bps.ids
Cudok Nov 6, 2025
eaa6f45
add check FlowDirection to hvac ids
Cudok Nov 6, 2025
79f8ed6
add new class CheckLogicHVAC and check assignments
Cudok Nov 6, 2025
d924339
add check connection
Cudok Nov 6, 2025
7e09c02
add check contained in
Cudok Nov 6, 2025
72ca5a5
rename object
Cudok Nov 12, 2025
54b7c8f
add check inst port
Cudok Nov 12, 2025
0f88411
add check contained in structure
Cudok Nov 12, 2025
b2eb2f1
add check inst properties
Cudok Nov 12, 2025
da7fa18
add check representation
Cudok Nov 12, 2025
0998491
use check assignments also for elements
Cudok Nov 12, 2025
8cff113
remove debug print
Cudok Nov 12, 2025
412203e
adapt ifcopenshell import
Cudok Nov 12, 2025
7c67dcd
remove not needed TODOs
Cudok Nov 12, 2025
e8949c1
remove not needed import
Cudok Nov 12, 2025
e5c6629
remove not needed TODO
Cudok Nov 12, 2025
9fe4e54
remove not needed debug prints
Cudok Nov 12, 2025
2b72e61
adapt paths to functions
Cudok Nov 12, 2025
27ac5a4
remove leavings form older versions
Cudok Nov 12, 2025
2bfc205
rename files and remove not used parts
Cudok Nov 12, 2025
f8c243d
adapt 1 path to test resource
Cudok Nov 13, 2025
6a56487
remove not used part (was an idea)
Cudok Nov 13, 2025
4c3d32d
adapt the checks related to bound.ConnectionGeometry
Cudok Dec 4, 2025
18489bb
adapt integration test
Cudok Dec 4, 2025
a578ae6
add another example
Cudok Dec 4, 2025
5a4bd35
remove not used imports
Cudok Dec 5, 2025
6ad5b2a
switch to an more sophisticated ids file
Cudok Dec 5, 2025
e222966
update submodule resources (some test ifc files)
Cudok Dec 17, 2025
a0a303a
change file pathes (to /test/resources)
Cudok Dec 17, 2025
aaf8db0
adpte branch of the test/resources submodule
Cudok Dec 17, 2025
58a49f3
adapt file pathes of the test resources
Cudok Dec 17, 2025
9b56785
starting point of the regression test
Cudok Dec 17, 2025
1470e8a
remove not needed part
Cudok Dec 17, 2025
385f61b
empty regression test (starting point)
Cudok Jan 14, 2026
ba14805
regr test is running
Cudok Jan 14, 2026
6fe6041
add jupyter notebook example
Cudok Jan 15, 2026
69112cb
comment out not needed setup
Cudok Jan 15, 2026
7b76e4b
switch ifc file
Cudok Jan 15, 2026
ebc97ef
switch resources commit
Cudok Jan 15, 2026
8dc64cb
simplify the test code
Cudok Jan 15, 2026
625b627
find the path to the result html files
Cudok Jan 15, 2026
9b34cc5
switch to lxml
Cudok Jan 16, 2026
bf8ddc2
1st regression test for ifc check
Cudok Jan 21, 2026
d262453
rename test and clean up
Cudok Jan 21, 2026
f4b7d02
add test for report 'error_summary_prop'
Cudok Jan 22, 2026
4f3e888
some clean up
Cudok Jan 22, 2026
0bff1eb
path change (only temporary)
Cudok Jan 22, 2026
78dceff
remove disturbing (and unnecessary) spaces
Cudok Jan 22, 2026
e6e4787
2nd test func finished
Cudok Jan 22, 2026
a980a7e
add some line breaks
Cudok Jan 22, 2026
44cc46b
add test for summary report
Cudok Jan 22, 2026
9ce70d2
add reg test for summary_guid
Cudok Jan 23, 2026
6267e0e
clean up, remove unused stuff
Cudok Jan 23, 2026
f428c78
switch to files from /test/resources
Cudok Jan 23, 2026
db54cab
disable automatic show up generated reports
Cudok Jan 23, 2026
6610ef8
unsure clean close of the opened file
Cudok Jan 23, 2026
68f9eae
add integration test for IFCCheck (py3.10)
Cudok Jan 23, 2026
0e4ca91
skip unit test (ifcTester issue)
Cudok Jan 23, 2026
fb3a931
add test to ci for ifccheck
Cudok Jan 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,18 @@ PluginOpenFOAM:py3.11:
variables:
plugin: "PluginOpenFOAM"

PluginIFCCheck:py3.10:
<<: *test_template_plugin_integration
image: $CI_REGISTRY/bim2sim:py3.10-occ7.9.0
variables:
plugin: "PluginIFCCheck"

PluginIFCCheck:py3.11:
<<: *test_template_plugin_integration
image: $CI_REGISTRY/bim2sim:py3.11-occ7.9.0
variables:
plugin: "PluginIFCCheck"

# Regression tests
PluginTEASER_reg:py3.10:
<<: *test_template_plugin_regression
Expand Down Expand Up @@ -287,3 +299,14 @@ PluginOpenFOAM_reg:py3.11:
variables:
plugin: "PluginOpenFOAM"

PluginIFCCheck:py3.10:
<<: *test_template_plugin_regression
image: $CI_REGISTRY/bim2sim:py3.10-occ7.9.0
variables:
plugin: "PluginIFCCheck"

PluginIFCCheck:py3.11:
<<: *test_template_plugin_regression
image: $CI_REGISTRY/bim2sim:py3.11-occ7.9.0
variables:
plugin: "PluginIFCCheck"
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[submodule "test/resources"]
path = test/resources
url = https://github.com/BIM2SIM/bim2sim-test-resources.git
branch = main
branch = 15-update_test_resources_ifccheck
[submodule "butterfly"]
path = butterfly
url = https://github.com/BIM2SIM/butterfly.git
Expand Down
81 changes: 81 additions & 0 deletions bim2sim/assets/templates/check_ifc/guid_template
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<style type="text/css">
.tg {border-collapse:collapse;border-color:#ccc;border-spacing:0;}
.tg td{background-color:#fff;border-color:#ccc;border-style:solid;
border-width:1px;color:#333;
font-family:Arial, sans-serif;font-size:14px;overflow:hidden;
padding:10px 6px;word-break:normal;}
.tg th{background-color:#f0f0f0;border-color:#ccc;border-style:solid;
border-width:1px;color:#333;
font-family:Arial, sans-serif;font-size:14px;font-weight:normal;
overflow:hidden;padding:10px 6px;word-break:normal;}
.tg .tg-c3ow{border-color:inherit;text-align:center;vertical-align:top}
.tg .tg-fymr{border-color:inherit;font-weight:bold;text-align:left;
vertical-align:top}
.tg .tg-7btt{border-color:inherit;font-weight:bold;text-align:center;
vertical-align:top}
.tg .tg-dvpl{border-color:inherit;text-align:right;vertical-align:top}
.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}
</style>
<h2>Overview</h2>
<table class="tg">
<thead>
<tr>
<th colspan=2 class="tg-7btt">GUID error Summary</th>
</tr>
</thead>
<tbody>
<tr>
<th colspan=2 class="tg-7btt"><a href="#NonUniqueGUID">Non-Unique GUID</a>
</th>
</tr>
<tr>
<td class="tg-fymr">Total non-unique GUIDs:</td>
<td class="tg-dvpl"> ${len(double_guids)}</td>
</tr>

<tr>
<th colspan=2 class="tg-7btt"><a href="#EmptyGUID">Empty GUID</a>
</th>
</tr>
<tr>
<td class="tg-fymr">Total Empty GUIDs:</td>
<td class="tg-dvpl"> ${len(empty_guids)}</td>
</tr>
</tbody>
</table><br>

<h2 id="NonUniqueGUID">Non-Unique GUIDs</h2>
<table class="tg">
<thead>
<tr>
<th class="tg-1wig">GUID</th>
<th class="tg-1wig">Name</th>
</tr>
</thead>
%for guid, values in double_guids.items():
<tr>
<td class="tg-1wig">${guid}</td>
<td class="tg-1wig">${values.Name}</td>
</tr>
%endfor
</tbody>
</table><br>

<h2 id="EmptyGUID">Empty GUIDs</h2>
<table class="tg">
<thead>
<tr>
<th class="tg-1wig">Generated Key (bim2sim)</th>
<th class="tg-1wig">Name</th>
<th class="tg-1wig">GlobalID</th>
</tr>
</thead>
%for key, values in empty_guids.items():
<tr>
<td class="tg-1wig">${key}</td>
<td class="tg-1wig">${values.Name}</td>
<td class="tg-1wig">${values.GlobalId}</td>
</tr>
%endfor
</tbody>
</table><br>
5 changes: 2 additions & 3 deletions bim2sim/assets/templates/check_ifc/inst_template
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,7 @@
${task.sub_inst_cls}</a></th>
</tr>
<tr>
<td class="tg-fymr">Total ${task.sub_inst_cls} with errors:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>
<td class="tg-fymr">Total ${task.sub_inst_cls} with errors:</th>
<td class="tg-dvpl">
${len(task.error_summary_sub_inst)}/${len(task.sub_inst)}</th>
</tr>
Expand Down Expand Up @@ -110,4 +109,4 @@
%endfor
</tbody>
</table><br>
%endfor
%endfor
14 changes: 7 additions & 7 deletions bim2sim/assets/templates/check_ifc/summary_template
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,20 @@
<tr>
<td class="tg-dvpl">Total IFCProduct with errors:</td>
<td class="tg-dvpl">
${len(task.error_summary_inst)}/${len(task.elements)}</th>
${len(task.error_summary_inst)}/${len(task.elements)}</td>
</tr>
<tr>
<td class="tg-dvpl">Total errors in IFCProducts:</td>
<td class="tg-dvpl">${sum(summary_inst['per_error'].values())}</th>
<td class="tg-dvpl">${sum(summary_inst['per_error'].values())}</td>
</tr>
<tr>
<td class="tg-dvpl">Total ${task.sub_inst_cls} with errors:</td>
<td class="tg-dvpl">
${len(task.error_summary_sub_inst)}/${len(task.sub_inst)}</th>
${len(task.error_summary_sub_inst)}/${len(task.sub_inst)}</td>
</tr>
<tr>
<td class="tg-dvpl">Total errors in ${task.sub_inst_cls}:</td>
<td class="tg-dvpl">${sum(summary_sbs['per_error'].values())}</th>
<td class="tg-dvpl">${sum(summary_sbs['per_error'].values())}</td>
</tr>
<tr>
<th colspan=2 class="tg-7btt"><a href=
Expand All @@ -56,11 +56,11 @@
<tr>
<td class="tg-dvpl">Total IFCProduct with missing properties:</td>
<td class="tg-dvpl">
${len(task.error_summary_prop)}/${len(task.elements)}</th>
${len(task.error_summary_prop)}/${len(task.elements)}</td>
</tr>
<tr>
<td class="tg-dvpl">Total missing properties in IFCProducts:</td>
<td class="tg-dvpl">${sum(summary_props['per_error'].values())}</th>
<td class="tg-dvpl">${sum(summary_props['per_error'].values())}</td>
</tr>
</tbody>
</table>
</table>
100 changes: 100 additions & 0 deletions bim2sim/assets/templates/check_ifc/summary_template_extend
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<style type="text/css">
.tg {border-collapse:collapse;border-color:#ccc;border-spacing:0;}
.tg td{background-color:#fff;border-color:#ccc;border-style:solid;
border-width:1px;color:#333;
font-family:Arial, sans-serif;font-size:14px;overflow:hidden;
padding:10px 6px;word-break:normal;}
.tg th{background-color:#f0f0f0;border-color:#ccc;border-style:solid;
border-width:1px;color:#333;
font-family:Arial, sans-serif;font-size:14px;font-weight:normal;
overflow:hidden;padding:10px 6px;word-break:normal;}
.tg .tg-c3ow{border-color:inherit;text-align:center;vertical-align:top}
.tg .tg-fymr{border-color:inherit;font-weight:bold;text-align:left;
vertical-align:top}
.tg .tg-7btt{border-color:inherit;font-weight:bold;text-align:center;
vertical-align:top}
.tg .tg-dvpl{border-color:inherit;text-align:right;vertical-align:top}
.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}
</style>

<table class="tg">
<thead>
<tr>
<th colspan=2 class="tg-7btt">${plugin_name} Error Summary</th>
</tr>
</thead>
<tbody>
<tr>
<th colspan=2 class="tg-7btt">
<a>IFC Version</a>
</th>
</tr>
<tr>
<td class="tg-dvpl">IFC Version:</td>
<td class="tg-dvpl"> ${ifc_version}</td>
</tr>
<tr>
<td class="tg-dvpl">Version error:</td>
<td class="tg-dvpl"> ${version_error}</td>
</tr>
<tr>
<th colspan=2 class="tg-7btt">
<a href="${base_name}_error_summary_guid.html">GUID general</a>
</th>
</tr>
<tr>
<td class="tg-dvpl">Unique GUID:</td>
<td class="tg-dvpl"> ${all_guids_unique}</td>
</tr>
<tr>
<td class="tg-dvpl">Total non-unique GUIDs:</td>
<td class="tg-dvpl"> ${len(double_guids)}</td>
</tr>
<tr>
<td class="tg-dvpl">Empty GUID:</td>
<td class="tg-dvpl"> ${all_guids_filled}</td>
</tr>
<tr>
<td class="tg-dvpl">Total Empty GUIDs:</td>
<td class="tg-dvpl"> ${len(empty_guids)}</td>
</tr>
<tr>
<th colspan=2 class="tg-7btt">
<a href="${base_name}_error_summary_inst.html">Errors in IFC</a>
</th>
</tr>
<tr>
<td class="tg-dvpl">Total IFCProduct with errors:</td>
<td class="tg-dvpl">
${len(task.error_summary_inst)}/${len(task.elements)}</td>
</tr>
<tr>
<td class="tg-dvpl">Total errors in IFCProducts:</td>
<td class="tg-dvpl">${sum(summary_inst['per_error'].values())}</td>
</tr>
<tr>
<td class="tg-dvpl">Total ${task.sub_inst_cls} with errors:</td>
<td class="tg-dvpl">
${len(task.error_summary_sub_inst)}/${len(task.sub_inst)}</td>
</tr>
<tr>
<td class="tg-dvpl">Total errors in ${task.sub_inst_cls}:</td>
<td class="tg-dvpl">${sum(summary_sbs['per_error'].values())}</td>
</tr>
<tr>
<th colspan=2 class="tg-7btt"><a href=
"${base_name}_error_summary_prop.html">Missing Attributes for
${plugin_name}</a>
</th>
</tr>
<tr>
<td class="tg-dvpl">Total IFCProduct with missing properties:</td>
<td class="tg-dvpl">
${len(task.error_summary_prop)}/${len(task.elements)}</td>
</tr>
<tr>
<td class="tg-dvpl">Total missing properties in IFCProducts:</td>
<td class="tg-dvpl">${sum(summary_props['per_error'].values())}</td>
</tr>
</tbody>
</table>
2 changes: 1 addition & 1 deletion bim2sim/elements/base_elements.py
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ def __repr__(self):
def __str__(self):
return "%s" % self.__class__.__name__


# TODO remove one of both classes RelationBased (see above)
class RelationBased(IFCBased):

pass
Expand Down
Empty file.
22 changes: 22 additions & 0 deletions bim2sim/plugins/PluginIFCCheck/bim2sim_ifccheck/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"""Template plugin for bim2sim

Holds a plugin with only base tasks mostly for demonstration.
"""
from bim2sim.plugins import Plugin
from bim2sim.tasks import common, bps
from bim2sim.sim_settings import BuildingSimSettings
from bim2sim.plugins.PluginIFCCheck.bim2sim_ifccheck.sim_settings import \
CheckIFCSimSettings

class PluginIFCCheck(Plugin):
name = 'IFCCheck'
sim_settings = CheckIFCSimSettings
default_tasks = [
common.LoadIFC,
common.CheckIfcIds,
# common.CreateElementsOnIfcTypes,
# bps.CreateSpaceBoundaries,
# bps.EnrichUseConditions,
# common.CreateRelations,
# common.Weather,
]
Loading