code: def _add_pipe_by_circle_extrusion(
          self,
          outer_radius,
          inner_radius,
          length,
          R=numpy.eye(3),
          x0=numpy.array([0.0, 0.0, 0.0]),
          lcar=None,
      ):
          
          # Define ring which to Extrude by translation.
          Rc = numpy.array([[0.0, 0.0, 1.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0]])
          c_inner = self.add_circle(
              x0, inner_radius, lcar=lcar, R=numpy.dot(R, Rc), make_surface=False
          )
          circ = self.add_circle(
              x0, outer_radius, lcar=lcar, R=numpy.dot(R, Rc), holes=[c_inner.line_loop]
          )
  
          # Now Extrude the ring surface.
          _, vol, _ = self.extrude(
              circ.plane_surface, translation_axis=numpy.dot(R, [length, 0, 0])
          )
          return vol
docs: Hollow cylinder.
          Define a ring, extrude it by translation.