I am creating an FBX export script with following requirements:

1-Export object selection with its underlying hierarchy / child objects (WORKS!)

2-Do this even if they are hidden (DOESN'T WORK)

So far, from what I could find and test, the FBX exporter will not export objects that are hidden from view. How could I go around this?

For example I want to export this:

->Object MSH_Table_01 (Parent)

    ->UCX_MSH_Table_01_01 (Child, Hidden)

Without having to manually set UCX_MSH_Table_01_01 as visible.

Here's what I have so far, any help appreciated.

EDIT: My code pasted weird, but the important part is at the bottom



#Import required libraries

import sys
import bpy
import os, errno
import configparser
import subprocess

#Determine open scene filepath

filepath = bpy.data.filepath
directory = os.path.dirname(filepath)

#Read user settings from config file

Config = configparser.ConfigParser()

#Defining helper function  to read data from config file

def ConfigSectionMap(section):
    dict1 = {}
    options = Config.options(section)
    for option in options:
            dict1[option] = Config.get(section, option)
            if dict1[option] == -1:
                DebugPrint("skip: %s" % option)
            print("exception on %s!" % option)
            dict1[option] = None
    return dict1

#Import variable(s) from ProjectDirectoryStructure.ini

path_scenes = ConfigSectionMap("ProjectDirectoryStructure")['path_scenes']
path_final = ConfigSectionMap("ProjectDirectoryStructure")['path_final']

#Determine export directory

directory_removelength = len(path_scenes)
export_directory = directory[:-directory_removelength]
export_directory = export_directory + path_final

#Export FBX in directory

scene = bpy.context.scene
for ob in bpy.context.selected_objects:

    #Make Sure what we are exporting is a mesh
    if ob.type == 'MESH':
        #select underlying hierarchy
        bpy.ops.object.select_hierarchy(direction='CHILD', extend=True)
        #export the currently selected object to its own file based on its name
                filepath=os.path.join(export_directory, ob.name + '.fbx'),
        #unselect underlying hierarchy
        bpy.ops.object.select_hierarchy(direction='PARENT', extend=False)
    # deselect the object and move on to another if any more are left
    ob.select = False

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.