Ricky
the issue isn’t with the report.
h is defined as a global
h = 0.4
To use self.report here you expect self to be an operator.
def xyz_function_surface_faces(self, x_eq, y_eq, z_eq,
range_u_min, range_u_max, range_u_step, wrap_u,
range_v_min, range_v_max, range_v_step, wrap_v,
a_eq, b_eq, c_eq,d_eq,e_eq, f_eq, g_eq, h_eq,i_eq,j_eq,k_eq,l1a_eq,m_eq,alpha_eq ,beta_eq,mu_eq,omega_eq,phi_eq,n, close_v):
and here
def add_xyz_object(helper=h, param=samples[0], resolution=32):
...
(verts, faces) =xyz_function_surface_faces(
h, p["x"], p["y"], p["z"], p["umin"], p["umax"], resolution, False, p["vmin"], p["vmax"], resolution, False,
afunc, bfunc, cfunc,dfunc, efunc, ffunc, gfunc, hfunc,ifunc,jfunc,kfunc,l1afunc,mfunc,alphafunc,betafunc,mufunc,omegafunc,phifunc, 1, False)
...
When you call this from the operator once again you pass h
o1 = add_xyz_object(helper=h,param=samples[ia1],resolution=seg1)
This is why you get the float object has no attribute report.
The line 1 error occurs in one of your code object modules…
j = float(eval(*expr_args_j))