code: def _convert_units(obj, desired, guess=False):
      
      if obj.units is None:
          # try to extract units from metadata
          # if nothing specified in metadata and not allowed
          # to guess will raise a ValueError
          obj.units = units_from_metadata(obj, guess=guess)
  
      log.info('converting units from %s to %s', obj.units, desired)
      # float, conversion factor
      conversion = unit_conversion(obj.units, desired)
  
      # apply scale uses transforms which preserve
      # cached properties (rather than just multiplying vertices)
      obj.apply_scale(conversion)
      # units are now desired units
      obj.units = desired
docs: Given an object with scale and units try to scale
      to different units via the object's `apply_scale`.
  
      Parameters
      ---------
      obj :  object
          With apply_scale method (i.e. Trimesh, Path2D, etc)
      desired : str
          Units desired (eg 'inches')
      guess:   bool
          Whether we are allowed to guess the units
          if they are not specified.