class_docstr: A Truss is an assembly of members such as beams,
  connected by nodes, that create a rigid structure.
  In engineering, a truss is a structure that
  consists of two-force members only.
  
  Trusses are extremely important in engineering applications
  and can be seen in numerous real-world applications like bridges.
  
  Examples
  ========
  
  There is a Truss consisting of four nodes and five
  members connecting the nodes. A force P acts
  downward on the node D and there also exist pinned
  and roller joints on the nodes A and B respectively.
  
  .. image:: truss_example.png
  
  >>> from sympy.physics.continuum_mechanics.truss import Truss
  >>> t = Truss()
  >>> t.add_node(("node_1", 0, 0), ("node_2", 6, 0), ("node_3", 2, 2), ("node_4", 2, 0))
  >>> t.add_member(("member_1", "node_1", "node_4"), ("member_2", "node_2", "node_4"), ("member_3", "node_1", "node_3"))
  >>> t.add_member(("member_4", "node_2", "node_3"), ("member_5", "node_3", "node_4"))
  >>> t.apply_load(("node_4", 10, 270))
  >>> t.apply_support(("node_1", "pinned"), ("node_2", "roller"))
docstr: This method removes already
  present external load(s) at specified node(s).
  
  Parameters
  ==========
  The input(s) of this method are tuple(s) of the form (location, magnitude, direction).
  
  location: String or Symbol
      Label of the Node at which load is applied and is to be removed.
  
  magnitude: Sympifyable
      Magnitude of the load applied.
  
  direction: Sympifyable
      The angle, in degrees, that the load vector makes with the horizontal
      in the counter-clockwise direction. It takes the values 0 to 360,
      inclusive.
  
  Examples
  ========
  
  >>> from sympy.physics.continuum_mechanics.truss import Truss
  >>> from sympy import symbols
  >>> t = Truss()
  >>> t.add_node(('A', 0, 0), ('B', 3, 0))
  >>> P = symbols('P')
  >>> t.apply_load(('A', P, 90), ('A', P/2, 45), ('A', P/4, 90))
  >>> t.loads
  {'A': [[P, 90], [P/2, 45], [P/4, 90]]}
  >>> t.remove_load(('A', P/4, 90), ('A', P/2, 45))
  >>> t.loads
  {'A': [[P, 90]]}
docstr_tok: ["This","method","removes","already","present","external","load","(","s",")","at","specified","node","(","s",")",".","Parameters","==========","The","input","(","s",")","of","this","method","are","tuple","(","s",")","of","the","form","(","location",",","magnitude",",","direction",")",".","location",":","String","or","Symbol","Label","of","the","Node","at","which","load","is","applied","and","is","to","be","removed",".","magnitude",":","Sympifyable","Magnitude","of","the","load","applied",".","direction",":","Sympifyable","The","angle",",","in","degrees",",","that","the","load","vector","makes","with","the","horizontal","in","the","counter-clockwise","direction",".","It","takes","the","values","0","to","360",",","inclusive",".","Examples","========",">",">",">","from","sympy.physics.continuum_mechanics.truss","import","Truss",">",">",">","from","sympy","import","symbols",">",">",">","t","=","Truss","(",")",">",">",">","t.add_node","(","(","'","A","'",",","0",",","0",")",",","(","'","B","'",",","3",",","0",")",")",">",">",">","P","=","symbols","(","'","P","'",")",">",">",">","t.apply_load","(","(","'","A","'",",","P",",","90",")",",","(","'","A","'",",","P\/2",",","45",")",",","(","'","A","'",",","P\/4",",","90",")",")",">",">",">","t.loads","{","'","A","'",":","[","[","P",",","90","]",",","[","P\/2",",","45","]",",","[","P\/4",",","90","]","]","}",">",">",">","t.remove_load","(","(","'","A","'",",","P\/4",",","90",")",",","(","'","A","'",",","P\/2",",","45",")",")",">",">",">","t.loads","{","'","A","'",":","[","[","P",",","90","]","]","}"]
code: def remove_load(self, *args):
      """
      This method removes already
      present external load(s) at specified node(s).
  
      Parameters
      ==========
      The input(s) of this method are tuple(s) of the form (location, magnitude, direction).
  
      location: String or Symbol
          Label of the Node at which load is applied and is to be removed.
  
      magnitude: Sympifyable
          Magnitude of the load applied.
  
      direction: Sympifyable
          The angle, in degrees, that the load vector makes with the horizontal
          in the counter-clockwise direction. It takes the values 0 to 360,
          inclusive.
  
      Examples
      ========
  
      >>> from sympy.physics.continuum_mechanics.truss import Truss
      >>> from sympy import symbols
      >>> t = Truss()
      >>> t.add_node(('A', 0, 0), ('B', 3, 0))
      >>> P = symbols('P')
      >>> t.apply_load(('A', P, 90), ('A', P/2, 45), ('A', P/4, 90))
      >>> t.loads
      {'A': [[P, 90], [P/2, 45], [P/4, 90]]}
      >>> t.remove_load(('A', P/4, 90), ('A', P/2, 45))
      >>> t.loads
      {'A': [[P, 90]]}
      """
      for i in args:
          location = i[0]
          magnitude = i[1]
          direction = i[2]
          magnitude = sympify(magnitude)
          direction = sympify(direction)
  
          if location not in self._node_coordinates:
              raise ValueError("Load must be removed from a known node")
  
          else:
              if [magnitude, direction] not in self._loads[location]:
                  raise ValueError(
                      "No load of this magnitude and direction has been applied at this node"
                  )
              else:
                  self._loads[location].remove([magnitude, direction])
          if self._loads[location] == []:
              self._loads.pop(location)
  
imports: from cmath import atan, inf
  from sympy.core.add import Add
  from sympy.core.evalf import INF
  from sympy.core.mul import Mul
  from sympy.core.symbol import Symbol
  from sympy.core.sympify import sympify
  from sympy import Matrix, pi
  from sympy.external.importtools import import_module
  from sympy.functions.elementary.miscellaneous import sqrt
  from sympy.matrices.dense import zeros
  import math
  from sympy.physics.units.quantities import Quantity
  from sympy.plotting import plot
  from sympy.utilities.decorator import doctest_depends_on
  from sympy import sin, cos
label_desc: Use image node_id 18 for calling the Truss obj's underlying member method code with example usage: obj.remove_load() without return types