forked from dlubal-software/RSTAB_Python_Client
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_ModelCheck.py
More file actions
72 lines (58 loc) · 2.08 KB
/
Copy pathtest_ModelCheck.py
File metadata and controls
72 lines (58 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import sys
import os
PROJECT_ROOT = os.path.abspath(os.path.join(
os.path.dirname(__file__),
os.pardir)
)
sys.path.append(PROJECT_ROOT)
from RSTAB.BasicObjects.member import Member
from RSTAB.BasicObjects.node import Node
from RSTAB.BasicObjects.section import Section
from RSTAB.BasicObjects.material import Material
from RSTAB.initModel import Model, CheckIfMethodOrTypeExists
from RSTAB.Tools.ModelCheck import ModelCheck
import pytest
if Model.clientModel is None:
Model()
# TODO: US-8140
@pytest.mark.skipif(CheckIfMethodOrTypeExists(Model.clientModel,'model_check__get_object_groups_operation', True), reason="model_check__get_object_groups_operation not in RSTAB GM yet")
def test_model_check():
Model.clientModel.service.delete_all()
Model.clientModel.service.begin_modification()
Material(1, 'S235')
Section(1, 'IPE 300', 1)
Node(1, 0, 0, 0)
Node(2, 0, 0, 0)
Node(3, 1, 1, 1)
Node(4, 1, 1, 1)
Node(5, 10, 0, 0)
Node(6, 10, 3, 0)
Node(7, 9, 2, 0)
Node(8, 11, 2, 0)
Node(9, 13, 0, 0)
Node(10, 13, 3, 0)
Node(11, 12, 2, 0)
Node(12, 14, 2, 0)
Node(13, 5, 0, 0)
Node(14, 5, 3, 0)
Node(15, 7, 0, 0)
Node(16, 7, 3, 0)
Member(1, 9, 10, 0, 1, 1)
Member(2, 11, 12, 0, 1, 1)
Member(3, 15, 16, 0, 1, 1)
Member(4, 15, 16, 0, 1, 1)
Model.clientModel.service.finish_modification()
identical_nodes = ModelCheck.GetIdenticalNodes(0.0005)
assert identical_nodes[0][0] == "1,2"
assert identical_nodes[0][1] == "3,4"
ModelCheck.DeleteUnusedNodes(0.0005, identical_nodes)
connected_lines = ModelCheck.GetNotConnectedLines(0.0005)
assert connected_lines[0][0] == "1,2"
assert connected_lines[0][1] == "5,6"
ModelCheck.CrossLines(0.0005, connected_lines)
ModelCheck.GetNotConnectedMembers(0.0005)
overlapping_lines = ModelCheck.GetOverlappingLines()
assert overlapping_lines[0][0] == "3,4"
assert overlapping_lines[0][1] == "7,8"
overlapping_members = ModelCheck.GetOverlappingMembers()
assert overlapping_members[0][0] == "3,4"