0

Im in need of some python help or someone with more knowlage with python, tryn to update an old 2.7 scrip to 2.8 and so far so good until clicking on export button. i get this error when using a relative path and the same using a custom path but on line 1638

NameError: name 'FBX_Export_Actions' is not defined , line 1636, in execute

This is the error lines within my class

#FBX Export button  
class FBXEXPORT_OT_button(bpy.types.Operator):
    """Button for Fbx Export"""
    bl_idname = "ue.export_fbx_button"
    bl_label = "ExportFbxButton"
def execute (self, context):   

    ActualPath = dirname(bpy.data.filepath) 

    if FBXRelativeFolderSelector == True:            
        if ActualPath == "":
            self.report({'ERROR'}, "You need Save the file for use save automatically into a relative folder")
        else:
            FBX_Export_actions(self,context) #this is line 1636
    else:
        FBX_Export_actions(self,context)     #this is line 1638  


    #print("test OK")
    return {'FINISHED'}

I can see the problem is within FBX_Export_Actions (maybe not being defined right?)

    #Init button  
class INITUETOOLS_OT_button(bpy.types.Operator): #InitUEToolsButton
    """Init Main Properties"""
    bl_idname = "ue.init_button"
    bl_label = "InitButton"
def execute (self, context):       

    Main_UI_Properties(bpy.context.scene)
    SetObjScale(bpy.context.scene)
    Rename_Properties(bpy.context.scene)
    FBX_Export_Properties(bpy.context.scene)
    Animation_UI_Properties(bpy.context.scene)


    global Init
    Init = True        

    return {'FINISHED'}   

#FBX Export Actions

def FBX_Export_actions(self,context):

    if FBX_PivotToCenter == True:                  

        global FBX_name_multi


        scn = context.scene 

        sufix = 0

        #Create group

        group = "exportgroup"

        if group in bpy.data.collections:
            print ("Group already created")
        else:
            bpy.ops.collections.create(name="exportgroup")        

        ActionGroup = bpy.data.collections["exportgroup"]

        bpy.ops.object.select_all(action='DESELECT') 

        Get_Custom_ExportName("String:   ", 'FBX_Custom_Export_Path', scn)


        #Group Operation

        for ob in ActionGroup.objects:

            print(ob.name) 

            ob.select = True
            bpy.context.scene.objects.active = ob
            bpy.context.view_layer.objects.active = ob

            if FBXBaseNameSelector == "Object":
                FBX_name_multi = ob.name
            if FBXBaseNameSelector == "Custom":
                FBX_name_multi = FBX_CustomExportName + "_" + str(sufix)

            #Store initial position
            obStartPosX = ob.location[0]
            obStartPosY = ob.location[1]
            obStartPosZ = ob.location[2]

            if FBX_ExportCollision == False:
                print("Collision Not Exported")
            if FBX_ExportCollision == True:
                FBX_SelectCollsionObjects (self,context)  


            #move object to center
            bpy.ops.view3d.snap_cursor_to_center(false)
            bpy.ops.view3d.snap_selected_to_cursor(use_offset=False)
            ob.location = (0,0,0) 

            #Export                
            FBX_Export(self,context)

            #Move to initial position
            ob.location = (obStartPosX,obStartPosY,obStartPosZ)
            bpy.ops.view3d.snap_cursor_to_active()
            bpy.ops.view3d.snap_selected_to_cursor(use_offset=False)               

            ob.select = False

            if FBX_ExportCollision == False:
                print("Collision Not Exported")
            if FBX_ExportCollision == True:
                FBX_SelectCollsionObjects (self,context)
                bpy.ops.object.select_all(action='DESELECT')
                #FBX_Make_Only_selectedObjLayer_visible (self,context)               

            sufix = sufix +1           

        bpy.data.collections["exportgroup"].user_clear()        
        bpy.data.collections.remove(bpy.data.collections["exportgroup"])       


        #print("pivotOK")

    if FBX_PivotToCenter == False:
        FBX_Export(self,context)
        print("Export normally")  

It would be a great help if anyone could take a look over this code and help to pinpoint this error.

Kenny W
  • 1
  • 2
  • 1
    Hi and welcome! TBH: There are several naming and reference issues in the script so I don't think it's worth it fixing the bugs. I recommend have a look into the templates that come with blender and start from scratch. What exactly the add-on is doing? Just exporting individual objects of the scene for unreal? Maybe related: https://blender.stackexchange.com/a/169820/31447 – brockmann Jul 12 '20 at 21:51
  • Hey and ty for the welcome @brockmann, This is an old 2.7 addon (Created by Lluis Garca https://www.lluisgarcia.es/ue-tools-addon/ ) for exporting to EU4, im not so python savvy and have tryd to contact him but seems he has no plans to update, so have took it on myself to attemp to update it although im really only looking for the Exporting tools and after a week of fixing errors and bugs have been thinking it may be alot less hastle to create a new scrip from scratch^^ Thank you for the link (will be taking notes from it) – Kenny W Jul 12 '20 at 22:33
  • also This is the idea i have/looking to accomplish - https://www.dropbox.com/s/oxeg3fibd3ang8o/Capture.PNG?dl=0 Iv been going over as many resources i can find online and examples ect but still getting to grips with python... If you have any ideas on how to create such a script that would be greatly appreciated – Kenny W Jul 12 '20 at 22:34
  • Check out the answer I've posted, all in there. To get such interface you would have to declare the properties like use_selection_setting, axis_forward_setting in your export_helper class and they will appear in the properties area of the file browser, done. Or check out the templates that come with blender as mentioned (text editor > templates > python)... Had a look at the original script and I still think this is crappy IMHO. – brockmann Jul 12 '20 at 22:43
  • Will do thanks for your help – Kenny W Jul 12 '20 at 22:44

0 Answers0