Truss.add_node()¶
add_node(*args)
Этот метод добавляет узлы в ферму.
Аргументы:
(label, x, y)— кортеж, где:label— метка узла (строка или символ).x— координата узла по оси X.y— координата узла по оси Y.
Пример¶
from sympy.physics.continuum_mechanics.truss import Truss
t = Truss()
t.add_node(("A", 0, 0))
print(t.nodes) # [("A", 0, 0)]
t.add_node(("B", 3, 0), ("C", 4, 1))
print(t.nodes) # [("A", 0, 0), ("B", 3, 0), ("C", 4, 1)]
p = t.draw()
p.xlim = (-1, 5) # Границы по X
p.ylim = (-1, 2) # Границы по Y
p.show()[('A', 0, 0)]
[('A', 0, 0), ('B', 3, 0), ('C', 4, 1)]

Truss.add_member()¶
add_member(*args)
Этот метод добавляет стержень между двумя узлами фермы.
Аргументы:
(label, start, end)— кортеж, где:label— метка стержня (строка или символ).start— метка начального узла.end— метка конечного узла.
Пример¶
from sympy.physics.continuum_mechanics.truss import Truss
t = Truss()
t.add_node(("A", 0, 0), ("B", 3, 0), ("C", 2, 2))
t.add_member(("AB", "A", "B"), ("BC", "B", "C"))
print(t.members) # {"AB": ["A", "B"], "BC": ["B", "C"]}
t.draw().show(){'AB': ['A', 'B'], 'BC': ['B', 'C']}

Truss.remove_node()¶
remove_node()
Данный метод удаляет узел из фермы. Допускается одновременное удаление нескольких узлов.
Аргументы: Входными данными для этого метода являются метки удаляемых узлов.
label— строка или символ
Метка узла, который необходимо удалить.
Пример¶
from sympy.physics.continuum_mechanics.truss import Truss
t = Truss()
t.add_node(('A', 0, 0), ('B', 3, 0), ('C', 5, 0))
print(t.nodes)
t.remove_node('A', 'C')
print(t.nodes)
p = t.draw()
p.xlim = (1, 5)
p.ylim = (-1, 1)
p.show()[('A', 0, 0), ('B', 3, 0), ('C', 5, 0)]
[('B', 3, 0)]

Truss.remove_member()¶
remove_member()
Данный метод удаляет стержни из заданной фермы.
Аргументы:
labels— строка или символ
Метка удаляемого стержня.
Пример¶
from sympy.physics.continuum_mechanics.truss import Truss
t = Truss()
t.add_node(('A', 0, 0), ('B', 3, 0), ('C', 2, 2))
t.add_member(('AB', 'A', 'B'), ('AC', 'A', 'C'), ('BC', 'B', 'C'))
print(t.members)
t.remove_member('AC', 'BC')
print(t.members)
t.draw().show(){'AB': ['A', 'B'], 'AC': ['A', 'C'], 'BC': ['B', 'C']}
{'AB': ['A', 'B']}

Truss.change_node_label()¶
change_node_label()
Изменяет метку указанного узла.
Аргументы:
(label, new_label)— кортеж, где:
label— текущая метка узла.new_label— новая метка узла.
Пример¶
from sympy.physics.continuum_mechanics.truss import Truss
t = Truss()
t.add_node(("A", 0, 0), ("B", 3, 0))
print(t.nodes)[('A', 0, 0), ('B', 3, 0)]
t.change_node_label(("A", "C"), ("B", "D"))
print(t.nodes)[('C', 0, 0), ('D', 3, 0)]
Truss.change_member_label()¶
change_member_label()
Метод изменяет метку указанного стержня.
Аргументы
(label, new_label)— кортеж, где:
label— текущая метка стержня.new_label— новая метка стержня.
Пример¶
from sympy.physics.continuum_mechanics.truss import Truss
t = Truss()
t.add_node(("A", 0, 0), ("B", 3, 0), ("D", 5, 0))
t.add_member(("AB", "A", "B"), ("BD", "B", "D"))
print(t.members) # {"AB": ["A", "B"], "BD": ["B", "D"]}
t.change_member_label(("AB", "BC_new"), ("BD", "BD_new"))
print(t.members) # {"BC_new": ["B", "C"], "BD_new": ["B", "D"]}{'AB': ['A', 'B'], 'BD': ['B', 'D']}
{'BC_new': ['A', 'B'], 'BD_new': ['B', 'D']}