Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F84257237
progress.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sat, Sep 21, 16:38
Size
1 KB
Mime Type
text/x-python
Expires
Mon, Sep 23, 16:38 (2 d)
Engine
blob
Format
Raw Data
Handle
20972034
Attached To
R8831 BIMxBEM
progress.py
View Options
class
Progress
:
progress_func
=
None
current_pourcentage
=
0
current_step_id
=
""
current_message
=
""
pourcent_range
=
1
len_spaces
=
1
current_space
=
0
nb_space
=
0
nb_rel_space
=
0
nb_built_element
=
0
@classmethod
def
set
(
cls
,
pourcentage
:
int
=
None
,
step_id
:
str
=
None
,
message
:
str
=
None
,
pourcent_range
:
int
=
None
,
):
"""Set progression during IFC import
Pourcentage: is x as in x/100.
step_id: step name which can be interpretable as an id for translation
message: is a free string message
pourcent_range: used for substeps"""
if
not
pourcentage
is
None
:
cls
.
current_pourcentage
=
pourcentage
else
:
pourcentage
=
cls
.
current_pourcentage
+
cls
.
space_pourcentage
()
if
step_id
:
cls
.
current_step_id
=
step_id
else
:
step_id
=
cls
.
current_step_id
if
message
is
None
:
message
=
cls
.
space_count
()
if
pourcent_range
:
cls
.
pourcent_range
=
pourcent_range
if
cls
.
progress_func
:
cls
.
progress_func
(
pourcentage
,
step_id
,
message
)
@classmethod
def
next_space
(
cls
):
cls
.
current_space
+=
1
return
cls
.
current_space
@classmethod
def
space_pourcentage
(
cls
):
return
int
(
cls
.
current_space
*
cls
.
pourcent_range
/
cls
.
len_spaces
)
@classmethod
def
space_count
(
cls
):
cls
.
next_space
()
return
f
"{cls.current_space}/{cls.len_spaces}"
@classmethod
def
new_space_count
(
cls
):
cls
.
current_space
=
0
return
f
"{cls.current_space}/{cls.len_spaces}"
@classmethod
def
count_elements
(
cls
,
ifc_file
):
cls
.
nb_space
=
len
(
ifc_file
.
by_type
(
"IfcSpace"
))
cls
.
nb_rel_space
=
len
(
ifc_file
.
by_type
(
"IfcRelSpaceBoundary"
))
cls
.
nb_built_element
=
len
(
ifc_file
.
by_type
(
"IfcBuildingElement"
))
or
len
(
ifc_file
.
by_type
(
"IfcBuiltElement"
)
)
Event Timeline
Log In to Comment