这是python中blender函数的一部分,但是每当我运行这个脚本时,它会说yz_slope没有赋值,但是xy峎u slope没有错误,我在函数中声明了yz_slope。有什么问题吗?在
def execute(self, context):
obj = context.active_object
if obj.mode == 'EDIT':
bm = bmesh.from_edit_mesh(obj.data)
vertices = bm.verts
else:
vertices = obj.data.vertices
verts = [obj.matrix_world * vert.co for vert in vertices]
plain_verts = [vert.to_tuple() for vert in verts]
print(plain_verts)
rdomain_list = [x[0] for x in plain_verts]
domain_list = rdomain_list[:]
domain_list.sort(reverse=False)
domain_list[:] = [x - domain_list[0] for x in domain_list]
xstart = domain_list[0]
for i, var in enumerate(domain_list):
if i == len(domain_list) - 1:
xend = var
print(xstart, xend)
ry_list = [x[1] for x in plain_verts]
y_list = ry_list[:]
y_list.sort(reverse=False)
y_list[:] = [x - y_list[0] for x in y_list]
ystart = y_list[0]
for i, var in enumerate(y_list):
if i == len(y_list) - 1:
yend = var
print(ystart, yend)
rz_list = [x[2] for x in plain_verts]
z_list = rz_list[:]
z_list.sort(reverse=False)
z_list[:] = [x - z_list[0] for x in z_list]
zstart = z_list[0]
for i, var in enumerate(z_list):
if i == len(z_list) - 1:
zend = var
print(zstart, zend)
if rdomain_list[1]==rdomain_list[0]:
xy_slope = 'undefined'
y_int = 'none'
x_int = rdomain_list[0]
if ry_list[1]==ry_list[0]:
yz_slope = 'undefined'
z_int = 'none'
else:
yz_slope = (rz_list[1]-rz_list[0])/(ry_list[1]-ry_list[0])
z_int = rz_list[0]-ry_list[0]*yz_slope
else:
xy_slope = (ry_list[1]-ry_list[0])/(rdomain_list[1]-rdomain_list[0])
y_int = ry_list[0]-rdomain_list[0]*xy_slope
if ry_list[1]==ry_list[0]:
yz_slope = 'undefined'
z_int = 'none'
else:
yz_slope = (rz_list[1]-rz_list[0])/(ry_list[1]-ry_list[0])
有错误的行。UnboundLocalError:赋值前引用了局部变量“yz_slope”
^{pr2}$
目前没有回答
相关问题 更多 >
编程相关推荐