【发布时间】:2017-06-27 10:16:12
【问题描述】:
据我检查,缩进是正确的,没有缺少括号,我只在前几行中导入了包但我仍然收到无效的语法错误。
#!/usr/bin/python
import bpy
import mathutils
import numpy as np
from math import radians
from mathutils import Vector
from math import radians
from mathutils import Matrix
from bpy import context
def transform_mesh('parent', 'obj_to_be_transformed', (translate_x, translate_y, translate_z), (rot_x,rot_y,rot_z)):
obj= bpy.data.objects[parent]
obj1= bpy.data.objects[obj_to_be_transformed]
initial_mat = obj1.matrix_world
...some code
(x,y,z) = (translate_x, translate_y, translate_z)
orig_loc_mat = Matrix.Translation(orig_loc+ mathutils.Vector((x,y,z)))
...some more code
eul = mathutils.Euler((radians(rot_x), radians(rot_y), radians(rot_z)), 'XYZ')
rot_mat = eul.to_matrix().to_4x4()
obj.matrix_world = orig_loc_mat * rot_mat * orig_rot_mat * orig_scale_mat
bpy.context.scene.update()
return [initial_loc,initial_rot,initial_scale,loc,rot,scale]
transform_result= transform_mesh('Armature','Coil',(5,0,0),(0,0,1))
print (transform_result)
错误是:
Error: File "D:\users\gayathri\Gayathri\Synthetic_data_generation\Final\HMI_Depth_coilA_final_final.blend\Untitled", line 18
def transform_mesh('parent', 'obj_to_be_transformed', (translate_x, translate_y, translate_z), (rot_x,rot_y,rot_z)):
^
SyntaxError: invalid syntax
location: <unknown location>:-1
【问题讨论】:
-
你的论点不应该是字符串:
transform_mesh(parent, obj_to_be_transformed, (translate_x, translate_y, translate_z), (rot_x,rot_y,rot_z)): -
哇,我不知道嵌套参数列表是可能的。
-
@mkrieger1:这些不是完全嵌套的参数,它们是作为参数的元组。
-
好的,显然在较新的 Python 版本中不再可能:stackoverflow.com/a/28908040
-
@Nuageux 好的,现在它在
(translate_x, translate_y, translate_z)处指出错误
标签: python python-2.7 syntax-error