code: def random_divisible_line(
      comp_min: int, comp_max: int, n_decimals: int
  ) -> (str, str, str):
      """Generates three points on a straight line in 3D space.
  
      The 'line_start' variable represents the position that a line begins from.
      After the start point is generated, the 'line_add' variable represents the
      mid point movement away from the start point.
  
      Parameters:
          comp_min: The minimum start position for any component of the points.
          comp_max: The maximum start position for any component of the points.
          n_decimals: The number of decimal places to use in the output points.
  
      Returns:
          A tuple of three strings. Each string represents a point on the line.
      """
      line_start = (
          random.randint(comp_min, comp_max),
          random.randint(comp_min, comp_max),
          random.randint(comp_min, comp_max),
      )
  
      line_add = (
          random.randint(comp_min, comp_max),
          random.randint(comp_min, comp_max),
          random.randint(comp_min, comp_max),
      )
  
      line_start = comp_float_mul(line_start, n_decimals=n_decimals)
      line_add = comp_float_mul(line_add, n_decimals=n_decimals)
  
      line_center = (
          line_start[0] + (line_add[0]),
          line_start[1] + (line_add[1]),
          line_start[2] + (line_add[2]),
      )
  
      line_end = (
          line_center[0] + (line_add[0]),
          line_center[1] + (line_add[1]),
          line_center[2] + (line_add[2]),
      )
  
      line_start = tuple_to_string(line_start, n_decimals)
      line_center = tuple_to_string(line_center, n_decimals)
      line_end = tuple_to_string(line_end, n_decimals)
  
      return line_start, line_center, line_end
  
imports: import json
  import random
label_desc: Use image node_id 3 for calling a global function with example usage: random_divisible_line(comp_min, comp_max, n_decimals) and returns: line_start,  line_center,  line_end