forked from dlubal-software/RFEM_Python_Client
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_RigidLinks.py
82 lines (63 loc) · 1.92 KB
/
test_RigidLinks.py
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
72
73
74
75
76
77
78
79
80
81
import os
import sys
PROJECT_ROOT = os.path.abspath(os.path.join(
os.path.dirname(__file__),
os.pardir)
)
sys.path.append(PROJECT_ROOT)
from RFEM.initModel import Model
from RFEM.BasicObjects.material import Material
from RFEM.BasicObjects.node import Node
from RFEM.BasicObjects.line import Line
from RFEM.BasicObjects.surface import Surface
from RFEM.SpecialObjects.rigidLink import RigidLink
from RFEM.BasicObjects.thickness import Thickness
if Model.clientModel is None:
Model()
def test_rigid_links():
Model.clientModel.service.delete_all()
Model.clientModel.service.begin_modification()
Material(1, 'S235')
Thickness(1, 'Thick', 1, 0.35)
Node(1, 0.1, 0, 0)
Node(2, 4.9, 0, 0)
Node(3, 4.9, 5, 0)
Node(4, 0.1, 5, 0)
Node(5, 0, 6, 0)
Node(6, 0, 6, -3)
Node(7, 5, 6, -3)
Node(8, 5, 6, 0)
Node(9, 5, 6 , 3)
Node(10, 0, 6, 3)
Line(1, '1 2')
Line(2, '2 3')
Line(3, '3 4')
Line(4, '4 1')
Line(5, '10 6')
Line(6, '6 7')
Line(7, '7 9')
Line(8, '9 10')
Line(9, '5 8')
Surface(1, '1-4')
Surface(2, '5-8')
RigidLink(1, 3, 6)
RigidLink.LineToLine(2, 3, 8)
RigidLink.LineToSurface(3, 3, 2)
RigidLink.Diapragm(4,'3 4', '6 9')
Model.clientModel.service.finish_modification()
rl_1 = Model.clientModel.service.get_rigid_link(1)
assert rl_1.type == 'TYPE_LINE_TO_LINE'
assert rl_1.line1 == 3
assert rl_1.line2 == 6
rl_2 = Model.clientModel.service.get_rigid_link(2)
assert rl_2.type == 'TYPE_LINE_TO_LINE'
assert rl_2.line1 == 3
assert rl_2.line2 == 8
rl_3 = Model.clientModel.service.get_rigid_link(3)
assert rl_3.type == 'TYPE_LINE_TO_SURFACE'
assert rl_3.line1 == 3
assert rl_3.line2 == 10
rl_4 = Model.clientModel.service.get_rigid_link(4)
assert rl_4.type == 'TYPE_DIAPHRAGM'
assert rl_4.nodes == '3 4'
assert rl_4.lines == '6 9'