Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
253 commits
Select commit Hold shift + click to select a range
6909966
add modul check_ifc_ids
Cudok Mar 4, 2025
573fe9d
add/adapt tests check_ifc via ids
Cudok Mar 11, 2025
e02b3a1
remove test, because problem with test files
Cudok Mar 11, 2025
10beacc
add test again, because issue with ifcTester
Cudok Mar 12, 2025
e3af98e
able to read and print the guids
Cudok Mar 13, 2025
4d9afee
guid uniqeness and none check
Cudok Mar 25, 2025
b609a10
uncomment guid Non-check and "log" print
Cudok Mar 26, 2025
08bf97e
add tests for uniqueness check of guids
Cudok Mar 26, 2025
89be6af
adapt the "log" print
Cudok Mar 26, 2025
9a98512
small adapt of doc string
Cudok Apr 8, 2025
6a99522
add passing guid_unique test
Cudok Apr 8, 2025
25b4d25
function check guid not empty
Cudok Apr 8, 2025
07cb768
add test for check guid empty
Cudok Apr 8, 2025
679cf8b
add test for guid 22 character
Cudok Apr 9, 2025
ae05fb8
add test for check 2LSB (1st version)
Cudok Apr 22, 2025
1ec2fe5
separate test case with/without ifctester
Cudok Apr 22, 2025
1224293
add ifccheck project and plugin
Cudok May 21, 2025
ffcbcd4
add dummy task CheckIfcNew
Cudok May 21, 2025
b412786
before integration uniqueness test guid
Cudok May 21, 2025
0e9023b
adapt test ifc check to use class TestTask
Cudok Jun 10, 2025
1e53dfb
adapt name and class name
Cudok Jun 10, 2025
413a63d
ifc check with ifcLoad
Cudok Jun 11, 2025
4f54c94
rename CheckIfcNew > CheckIfc and some adaptions
Cudok Jun 11, 2025
67bb316
remove CheckIfcNew and adaptation
Cudok Jun 11, 2025
f72befd
set weather data path centraly
Cudok Jun 17, 2025
41902b1
add checkIFC_guid_unique_fail to TestCheckIFC
Cudok Jun 17, 2025
0a70fa2
move test_checkIFC_guid_unique_specific_guid_return
Cudok Jun 17, 2025
696332d
change tested ifc files (and add decisions)
Cudok Jun 18, 2025
2a05da6
put run_check_guid_empty into CheckIfc task
Cudok Jun 18, 2025
378b854
remove TODO (done)
Cudok Jun 18, 2025
35835fd
add test ...guid_empty_fail
Cudok Jun 18, 2025
7035e59
add check_guid_empty_passion
Cudok Jun 18, 2025
7820c26
rename test functions (not capital letters)
Cudok Jun 18, 2025
360e837
minor correction
Cudok Jun 18, 2025
17d44d1
add specific check ifc sim_settings
Cudok Jun 18, 2025
42421f7
add sim_settings ids_file_path to example e3
Cudok Jun 18, 2025
d89be8a
only hint for later work
Cudok Jun 24, 2025
2cfdb8e
implement 1st version ids test in class CheckIFC
Cudok Jun 24, 2025
482705a
make run_ids_check_on_ifc static methode
Cudok Jun 24, 2025
7667894
remove old stuff
Cudok Jun 24, 2025
6999480
adapt path to function and remove old code
Cudok Jun 24, 2025
83cf392
add adapt position of logging messages
Cudok Jun 24, 2025
bb449e0
bring print output in logger.info for run_ids...
Cudok Jun 24, 2025
9d17279
adapt log message depending on kind of result
Cudok Jun 24, 2025
62f03c8
move logge command
Cudok Jun 25, 2025
8375c54
move output to log-system
Cudok Jun 25, 2025
e6133fd
moved test_check_ifc.py into plugingIFCCheck
Cudok Jun 25, 2025
80b4bdd
add usage integration test
Cudok Jun 25, 2025
fcf6724
add ifctester to project.toml
Cudok Jun 25, 2025
5bf2e48
add integration test for FZK-Haus
Cudok Jun 25, 2025
399631d
rename module name of new CheckIfcIds
Cudok Jun 26, 2025
77b9078
add 2nd integration test other ifc file
Cudok Jun 26, 2025
c379799
add ifctester to pyproject.toml
Cudok Jul 1, 2025
44de6f4
add tests with 3rooms ifc files
Cudok Jul 1, 2025
e40f3a0
add report feature to ifctest base check
Cudok Jul 1, 2025
372028b
remove finished todo
Cudok Jul 2, 2025
aaf07e0
write dummy html report file
Cudok Jul 7, 2025
5fc843a
make all 3 html reports active
Cudok Jul 7, 2025
e53e40e
add ifc version check from check_ifc.py(old)
Cudok Jul 9, 2025
5145f6b
adapt import of ifcopenshell
Cudok Jul 9, 2025
a801645
add test check_ifc_version
Cudok Jul 15, 2025
e466c07
add option auto popup of the reports
Cudok Jul 16, 2025
6b85b30
correct closing tags (minor)
Cudok Jul 16, 2025
295c755
add verion check into report
Cudok Jul 16, 2025
fd2a107
make new template and restore old template
Cudok Jul 17, 2025
7e38a33
move/rename checkIFC example
Cudok Jul 21, 2025
183ba62
no error rise in verion ifc check
Cudok Jul 21, 2025
cea4ce8
two adaption for testing reasons
Cudok Jul 21, 2025
3b3072c
logger output "critical" for fail critical checks
Cudok Jul 21, 2025
2d26a61
add guid check into error_summary
Cudok Jul 22, 2025
72e3e01
adapt link to guid summary
Cudok Jul 22, 2025
34b9084
add guid report, 1st version
Cudok Jul 22, 2025
c16a8c1
add/adapt a Non-unique table
Cudok Jul 22, 2025
4792c7d
add table for empty guids
Cudok Jul 22, 2025
4175909
forgotten change for generate template
Cudok Jul 22, 2025
6f4f9d1
empty_guid > empty_guids
Cudok Jul 22, 2025
b7fb1d7
add todo
Cudok Jul 30, 2025
c1ca0cb
add if question for log output
Cudok Jul 31, 2025
d83896a
check u_value for ifcWindow via ids works
Cudok Aug 26, 2025
a932939
adapt name of requirement
Cudok Aug 26, 2025
3e7e2b9
add u_value of slab
Cudok Aug 26, 2025
c77a420
add ifcWall to ids file
Cudok Aug 27, 2025
67a7476
extend ifcSlab by ifcRoof in ids file
Cudok Aug 27, 2025
0248ec6
add IfcBuilding to ids file
Cudok Aug 27, 2025
2121780
add ifcBuildingStorey to ids file
Cudok Aug 27, 2025
5363c19
switch to sb55 in..dev.py
Cudok Aug 27, 2025
82d228d
add 1st version of space check to ids file
Cudok Aug 27, 2025
128682c
add guid length = 22 character check to ids file
Cudok Aug 27, 2025
205a7f3
check RatatingSpace final, no change needed
Cudok Aug 28, 2025
e543c82
add check ReleatedBuildingElement
Cudok Sep 2, 2025
c0284a3
add check ConnectionGeometry
Cudok Sep 2, 2025
9483c94
move attribute check ifcConnectionSureface
Cudok Sep 3, 2025
75f2fb2
add PhysicalOrVirtualBoundary to ids file
Cudok Sep 3, 2025
d1e037e
add InternalOrExternalBoundary to ids file
Cudok Sep 3, 2025
fb9ecbc
add check CorrespondingBoundary and description
Cudok Sep 3, 2025
41872e7
minor correction
Cudok Sep 29, 2025
bb2904e
add paths to small ifc example
Cudok Sep 29, 2025
37a327c
set decision answer
Cudok Oct 15, 2025
d504747
changes only for developing
Cudok Oct 16, 2025
9e297ca
add further ifc checks taken form old ifc check
Cudok Oct 16, 2025
127b215
results from def validate_sub_inst return
Cudok Oct 16, 2025
b4804e5
move check (by falk) to baselogic class
Cudok Oct 16, 2025
8438ff2
start rearrange structure
Cudok Oct 17, 2025
48a39f9
rearrange position of self.sub_inst
Cudok Oct 22, 2025
cf8cc81
rename filter ifc data variables, adapt doc string
Cudok Oct 23, 2025
76f6923
move BPS specific checks to CheckLogicBPS
Cudok Oct 23, 2025
228e38a
add check ConnectionGeometry CheckLogicBPS
Cudok Oct 23, 2025
70a1830
add check functions: relating_elem, related_elem
Cudok Oct 23, 2025
1820dc9
add check basis surface
Cudok Oct 23, 2025
deaf633
add check func inner_boundaries
Cudok Oct 23, 2025
4721756
add check func outer_boundary_composite
Cudok Oct 23, 2025
36cda42
add check func check_segments
Cudok Oct 23, 2025
492ec17
add func check_segments_poly_coords
Cudok Oct 23, 2025
c2fad7c
add check outer_boundary_poly, outer_boundary_poly_corrd
Cudok Oct 29, 2025
706cd3f
add check plan position
Cudok Oct 29, 2025
db376eb
add check location
Cudok Oct 29, 2025
6ed86e3
add check axis
Cudok Oct 29, 2025
d759aef
add check refdirection
Cudok Oct 29, 2025
bf3c8f0
add check location coord
Cudok Oct 29, 2025
1ce3e85
add check axis dir ratios
Cudok Oct 29, 2025
5250518
check refdirection dir ratios
Cudok Oct 29, 2025
3afe83c
add _check_inst_sb
Cudok Oct 30, 2025
c1ecf9c
remove not needed lines
Cudok Oct 30, 2025
03e4a8a
add check inst materials
Cudok Oct 30, 2025
5f7499b
add check inst properties
Cudok Nov 5, 2025
d64dcfb
add check inst containded in structrure
Cudok Nov 5, 2025
84978ed
add check inst representation
Cudok Nov 5, 2025
37fc6c1
rename example file
Cudok Nov 6, 2025
fb67813
example check ifc for hvac use cases
Cudok Nov 6, 2025
d8a7b9d
rename ifc_props.ids > ifc_bps.ids
Cudok Nov 6, 2025
645f768
add check FlowDirection to hvac ids
Cudok Nov 6, 2025
646c5d8
add new class CheckLogicHVAC and check assignments
Cudok Nov 6, 2025
22c749c
add check connection
Cudok Nov 6, 2025
9fe44a7
add check contained in
Cudok Nov 6, 2025
0de57bc
rename object
Cudok Nov 12, 2025
1037060
add check inst port
Cudok Nov 12, 2025
ac03676
add check contained in structure
Cudok Nov 12, 2025
d7281ae
add check inst properties
Cudok Nov 12, 2025
84ef263
add check representation
Cudok Nov 12, 2025
b45b96b
use check assignments also for elements
Cudok Nov 12, 2025
94ee47e
remove debug print
Cudok Nov 12, 2025
ba75bb7
adapt ifcopenshell import
Cudok Nov 12, 2025
9581910
remove not needed TODOs
Cudok Nov 12, 2025
6abcf82
remove not needed import
Cudok Nov 12, 2025
9a7aa73
remove not needed TODO
Cudok Nov 12, 2025
62222d3
remove not needed debug prints
Cudok Nov 12, 2025
f6e7764
adapt paths to functions
Cudok Nov 12, 2025
f3abe98
remove leavings form older versions
Cudok Nov 12, 2025
14bc908
rename files and remove not used parts
Cudok Nov 12, 2025
28a71ad
adapt 1 path to test resource
Cudok Nov 13, 2025
1dbef74
remove not used part (was an idea)
Cudok Nov 13, 2025
27f2580
adapt the checks related to bound.ConnectionGeometry
Cudok Dec 4, 2025
a18add4
adapt integration test
Cudok Dec 4, 2025
dee0552
add another example
Cudok Dec 4, 2025
2876b05
remove not used imports
Cudok Dec 5, 2025
364bdec
switch to an more sophisticated ids file
Cudok Dec 5, 2025
e1392c6
update submodule resources (some test ifc files)
Cudok Dec 17, 2025
422ef23
change file pathes (to /test/resources)
Cudok Dec 17, 2025
380eba6
adpte branch of the test/resources submodule
Cudok Dec 17, 2025
d20464a
adapt file pathes of the test resources
Cudok Dec 17, 2025
9771819
starting point of the regression test
Cudok Dec 17, 2025
d503084
remove not needed part
Cudok Dec 17, 2025
751d170
empty regression test (starting point)
Cudok Jan 14, 2026
48d74de
regr test is running
Cudok Jan 14, 2026
895eced
add jupyter notebook example
Cudok Jan 15, 2026
2efdacf
comment out not needed setup
Cudok Jan 15, 2026
6a36086
switch ifc file
Cudok Jan 15, 2026
05e0e66
switch resources commit
Cudok Jan 15, 2026
992e788
simplify the test code
Cudok Jan 15, 2026
f71db2b
find the path to the result html files
Cudok Jan 15, 2026
8259a4f
switch to lxml
Cudok Jan 16, 2026
cd8dc86
1st regression test for ifc check
Cudok Jan 21, 2026
70f52c8
rename test and clean up
Cudok Jan 21, 2026
b86923c
add test for report 'error_summary_prop'
Cudok Jan 22, 2026
1ad672f
some clean up
Cudok Jan 22, 2026
0fe863a
path change (only temporary)
Cudok Jan 22, 2026
6f56f5e
remove disturbing (and unnecessary) spaces
Cudok Jan 22, 2026
2be5e50
2nd test func finished
Cudok Jan 22, 2026
d2156c0
add some line breaks
Cudok Jan 22, 2026
903fcd3
add test for summary report
Cudok Jan 22, 2026
f2c730b
add reg test for summary_guid
Cudok Jan 23, 2026
9ac5bd5
clean up, remove unused stuff
Cudok Jan 23, 2026
af875d4
switch to files from /test/resources
Cudok Jan 23, 2026
8af3284
disable automatic show up generated reports
Cudok Jan 23, 2026
01cff40
unsure clean close of the opened file
Cudok Jan 23, 2026
6f67762
add integration test for IFCCheck (py3.10)
Cudok Jan 23, 2026
c41eaad
skip unit test (ifcTester issue)
Cudok Jan 23, 2026
1e8f63d
add test to ci for ifccheck
Cudok Jan 23, 2026
1b720ca
exchange check_ifc (check_ifc_ids >> check_ifc)
Cudok Jan 30, 2026
d34ca7e
Update bim2sim/plugins/PluginIFCCheck/bim2sim_ifccheck/examples/e1_ch…
Cudok Feb 19, 2026
87f5954
remove unnecessary comments
Cudok Feb 19, 2026
079cae6
add a comment
Cudok Feb 19, 2026
123d0dd
remove unnecessary comments
Cudok Feb 19, 2026
fc1b534
add underscore (better readable)
Cudok Feb 19, 2026
dc50225
remove unnecessary comments and commands
Cudok Feb 19, 2026
e39b36c
remove necessary comments
Cudok Feb 19, 2026
70545da
remove unnecessary comments
Cudok Feb 19, 2026
ef5eb78
remove unnecessary settings from integration tests
Cudok Feb 19, 2026
2a4dba4
remove obsolete function
Cudok Feb 19, 2026
5e20e46
removed obsolete function
Cudok Feb 19, 2026
ac7e360
rewrite comment
Cudok Feb 19, 2026
f7a8901
rewrite comment
Cudok Feb 19, 2026
cbff26f
move ids_file_path definitition
Cudok Feb 20, 2026
6c7b029
test ci (ifccheck integration is not working)
Cudok Feb 20, 2026
4a3a0a6
test ci 2nd (ifccheck integration is not working)
Cudok Feb 20, 2026
5f93a20
rename regression tests
Cudok Feb 23, 2026
3fc7b05
comment out task ifccheck
Cudok Feb 23, 2026
7445b21
update docstring of run function
Cudok Feb 23, 2026
86d5dd0
make (double used) sequence into function
Cudok Feb 23, 2026
4a8c1b5
correct indentation
Cudok Feb 23, 2026
0bd835b
remove not necessary TODOs
Cudok Feb 23, 2026
1544b62
add warning message & uppercase letter guid check
Cudok Feb 23, 2026
8bfb7b9
move dependencies of ifccheck to separate section
Cudok Feb 24, 2026
4d02eee
move task ifccheck to a new task group
Cudok Feb 24, 2026
9bab461
add function to generate xpaths
Cudok Feb 24, 2026
b7ab23f
correction of a typo
Cudok Feb 24, 2026
9504ff6
rename function
Cudok Feb 24, 2026
e1fe22b
create function to generate xpaths but 1 input
Cudok Feb 24, 2026
154db29
implement xpath generation function
Cudok Feb 24, 2026
9c61815
formal corrections, mainly on docstrings
Cudok Mar 3, 2026
b421ef1
formal corrections part 2
Cudok Mar 3, 2026
df83db9
formal correction, mainly line length
Cudok Mar 3, 2026
6cf1c02
formal correction, mainly line length
Cudok Mar 3, 2026
9268f75
remove unnecessary lines
Cudok Mar 4, 2026
068ad64
remove unnecessary import
Cudok Mar 4, 2026
cad9e4c
minor formal corrections
Cudok Mar 4, 2026
71d537e
remove unnecessary imports and formal corrections
Cudok Mar 4, 2026
bbcd5f3
remove unnecessary imports and formal corrections
Cudok Mar 4, 2026
3adff02
remove unnecessary imports and formal corrections
Cudok Mar 4, 2026
ade1edf
remove unnecessary imports and formal corrections
Cudok Mar 4, 2026
d8207b8
remove unnecessary imports and add 1 line
Cudok Mar 4, 2026
5f10d35
change name prepro >> checks
Cudok Mar 4, 2026
b90910c
correction of docstring
Cudok Mar 4, 2026
6747a8e
clariefy docstrings
Cudok Mar 4, 2026
b611cc6
update the explanation for not running this test
Cudok Mar 4, 2026
ac07ad2
remove unnecessary imports
Cudok Mar 4, 2026
c2830a9
formal corrections
Cudok Mar 4, 2026
a721388
rename variable ifc_files_paths >> ifc_file_paths
Cudok Mar 4, 2026
68da8c8
remove unnecessary import
Cudok Mar 4, 2026
4cc0326
make ids_file_path mandatory
Cudok Mar 4, 2026
e8cd2dd
spelling correction
Cudok Mar 4, 2026
fedfe31
correct typo
Cudok Mar 4, 2026
7a58882
correct docstring Input: >> Args:
Cudok Mar 4, 2026
910340b
remove empty line
Cudok Mar 4, 2026
550fed4
minor spell correction
Cudok Mar 4, 2026
b65f7f2
remove parentheses
Cudok Mar 4, 2026
fb80deb
correct a typo error_version >> version_error
Cudok Mar 4, 2026
4a97ce4
rephrase of comments
Cudok Mar 4, 2026
e256472
rename variables to check_logic..
Cudok Mar 4, 2026
f896b21
make two functions to be staticmethod
Cudok Mar 10, 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_reg:py3.10:
<<: *test_template_plugin_regression
image: $CI_REGISTRY/bim2sim:py3.10-occ7.9.0
variables:
plugin: "PluginIFCCheck"

PluginIFCCheck_reg: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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change this back to main after review and merge of the test resources.

[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
2 changes: 1 addition & 1 deletion bim2sim/plugins/PluginAixLib/bim2sim_aixlib/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class PluginAixLib(Plugin):
tasks = {LoadLibrariesAixLib}
default_tasks = [
common.LoadIFC,
common.CheckIfc,
# common.CheckIfc,
common.CreateElementsOnIfcTypes,
hvac.ConnectElements,
hvac.MakeGraph,
Expand Down
2 changes: 1 addition & 1 deletion bim2sim/plugins/PluginComfort/bim2sim_comfort/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class PluginComfort(Plugin):
elements = {*bps_elements.items, Material}
default_tasks = [
common.LoadIFC,
common.CheckIfc,
# common.CheckIfc,
common.CreateElementsOnIfcTypes,
bps.CreateSpaceBoundaries,
bps.AddSpaceBoundaries2B,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class PluginEnergyPlus(Plugin):
sim_settings = EnergyPlusSimSettings
default_tasks = [
common.LoadIFC,
common.CheckIfc,
# common.CheckIfc,
common.CreateElementsOnIfcTypes,
bps.CreateSpaceBoundaries,
bps.AddSpaceBoundaries2B,
Expand Down
2 changes: 1 addition & 1 deletion bim2sim/plugins/PluginHKESim/bim2sim_hkesim/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class PluginHKESim(Plugin):
tasks = {LoadLibrariesHKESim}
default_tasks = [
common.LoadIFC,
common.CheckIfc,
# common.CheckIfc,
common.CreateElementsOnIfcTypes,
hvac.ConnectElements,
hvac.MakeGraph,
Expand Down
Empty file.
19 changes: 19 additions & 0 deletions bim2sim/plugins/PluginIFCCheck/bim2sim_ifccheck/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
"""Template plugin for bim2sim.
Holds a plugin with only base tasks mostly for demonstration.
"""
from bim2sim.plugins import Plugin
from bim2sim.tasks import checks, common
from bim2sim.plugins.PluginIFCCheck.bim2sim_ifccheck.sim_settings import \
CheckIFCSimSettings


class PluginIFCCheck(Plugin):
"""PluginIFCCheck template."""

name = 'IFCCheck'
sim_settings = CheckIFCSimSettings
default_tasks = [
common.LoadIFC,
checks.CheckIfc,
]
Loading