How can I make an animation using importing several x3d files to Blender by scripting?
I have the same problem. I somehow managed importing the .x3d files. However I couldn't animate it. Here is my detail information: I have 11 .x3d files representing a simulation at time of 0 second, 10 seconds up to 100 seconds. I want to set frame 0 to the file at 0 seconds, frame 1 for the file at 10 seconds and so on. I hope the importing scripts will help. My importing script is:
    import bpy
    import os
    import sys
    from mathutils import Vector

    importFolder = &quot;./x3d&quot; #the relative path of the folder containing the files
   # Fixed parameters
    geoName = &quot;imported_geometry1&quot;
    blenderVersion = bpy.app.version
    if blenderVersion[1] &gt;= 79:
      x3dImportString = 'Shape_IndexedFaceSet'
   else:
       x3dImportString = 'ShapeIndexedFaceSet'
      #--------------------------------------------------------------------------#

      # Turn relative into absolute paths
      importFolder=os.path.join(os.getcwd(), importFolder)
       # Get a list of all files in this directory - these are going to be the files we 
       #import and visualize
      importFiles = os.listdir(importFolder)
      importFiles.sort()
      # Start the rendering loop over all import files
      for frame in range(len(importFiles)):
    importFile = os.path.join(importFolder,importFiles[frame])
    print(&quot;Processing frame &quot;,frame+1,&quot; importing &quot;,importFile)

    bpy.context.scene.frame_set(frame+1)

    # Import the current object, either supplied as a .ply or a .x3d file
    # The geometry will always be renamed so it can be easily used later on
    bpy.ops.import_scene.x3d(filepath=importFile, filter_glob=&quot;*.x3d;*.wrl&quot;, axis_forward='Y', axis_up='Z')
     # check for geometries / meshes, lamps and cameras
    imported_geo_exists = [item.name for item in bpy.data.objects if x3dImportString in item.name]
    nImportedGeo = len(imported_geo_exists)
    imported_lights_exists = [item.name for item in bpy.data.objects if (&quot;TODO&quot; in item.name or &quot;DirectLight&quot; in item.name)]
    imported_cameras_exists = [item.name for item in bpy.data.objects if &quot;Viewpoint&quot; in item.name]
    # rename geometry
    if imported_geo_exists:
        for i in range(0,nImportedGeo):
              bpy.data.objects[imported_geo_exists[i]].name=geoName+str(i)
        bpy.ops.object.select_all(action='DESELECT')
        # delete lights and cameras that blender creates after import
        if imported_lights_exists:
            #bpy.ops.object.mode_set(mode='OBJECT')
            bpy.ops.object.select_pattern(pattern=&quot;TODO*&quot;)
            bpy.ops.object.delete(use_global=False)
            bpy.ops.object.select_pattern(pattern=&quot;DirectLight*&quot;)
            bpy.ops.object.delete(use_global=False)
        if imported_cameras_exists:
            #bpy.ops.object.mode_set(mode='OBJECT')
            bpy.ops.object.select_pattern(pattern=&quot;Viewpoint*&quot;)
            bpy.ops.object.delete(use_global=False)

```