Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. SceneLoader error: Found no suitable importer plugin
Qt 6.11 is out! See what's new in the release blog

SceneLoader error: Found no suitable importer plugin

Scheduled Pinned Locked Moved Solved QML and Qt Quick
2 Posts 1 Posters 687 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    bfmv
    wrote on last edited by
    #1

    Hi!

    I've tried to build a simple example to load .STL model with SceneLoader, but it fails with error:

    Qt3D.Renderer.SceneLoaders: Qt3DCore::QEntity* Qt3DRender::Render::LoadSceneJob::tryLoadScene(Qt3DRender::QSceneLoader::Status&, const QStringList&, const std::function<void(Qt3DRender::QSceneImporter*)>&) Found no suitable importer plugin for QUrl("file:///C:/Users/user/Desktop/top.STL")
    

    To say shorter:

    Found no suitable importer plugin
    

    Could anyone please give any advice, comment or explanation?
    Thanks in advance.

    Code (main.qml):

    import QtQuick.Controls 2.2
    import QtQuick.Dialogs 1.2
    
    import QtQuick.Scene3D 2.0
    
    import Qt3D.Core 2.0
    import Qt3D.Render 2.0
    import Qt3D.Input 2.0
    import Qt3D.Extras 2.0
    
    ApplicationWindow
    {
        visible: true
        width: 640
        height: 480
        title: qsTr("3D Viewer")
    
        header: ToolBar
        {
            ToolButton
            {
                text: "Open 3D Model"
                onPressed:
                {
                    fileDialog.open()
                }
            }
        }
    
        FileDialog
        {
            id: fileDialog
            onAccepted:
            {
                sceneLoader.source = fileDialog.fileUrl
            }
        }
    
        Scene3D
        {
            anchors.fill: parent
    
            aspects: ["input", "logic"]
            cameraAspectRatioMode: Scene3D.AutomaticAspectRatio
    
            Entity
            {
                id: sceneRoot
    
                Camera
                {
                    id: camera
                    projectionType: CameraLens.PerspectiveProjection
                    fieldOfView: 30
                    aspectRatio: 16/9
                    nearPlane : 0.1
                    farPlane : 1000.0
                    position: Qt.vector3d( 10.0, 0.0, 0.0 )
                    upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
                    viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 )
                }
    
                OrbitCameraController
                {
                    camera: camera
                }
    
                components: [
                    RenderSettings
                    {
                        activeFrameGraph: ForwardRenderer
                        {
                            clearColor: Qt.rgba(0, 0.5, 1, 1)
                            camera: camera
                        }
                    },
                    InputSettings
                    {
                    }
                ]
    
                Entity
                {
                    id: testEntity
                    components: [
                        SceneLoader
                        {
                            id: sceneLoader
                        }
                    ]
                }
            }
        }
    }
    
    
    B 1 Reply Last reply
    0
    • B bfmv

      Hi!

      I've tried to build a simple example to load .STL model with SceneLoader, but it fails with error:

      Qt3D.Renderer.SceneLoaders: Qt3DCore::QEntity* Qt3DRender::Render::LoadSceneJob::tryLoadScene(Qt3DRender::QSceneLoader::Status&, const QStringList&, const std::function<void(Qt3DRender::QSceneImporter*)>&) Found no suitable importer plugin for QUrl("file:///C:/Users/user/Desktop/top.STL")
      

      To say shorter:

      Found no suitable importer plugin
      

      Could anyone please give any advice, comment or explanation?
      Thanks in advance.

      Code (main.qml):

      import QtQuick.Controls 2.2
      import QtQuick.Dialogs 1.2
      
      import QtQuick.Scene3D 2.0
      
      import Qt3D.Core 2.0
      import Qt3D.Render 2.0
      import Qt3D.Input 2.0
      import Qt3D.Extras 2.0
      
      ApplicationWindow
      {
          visible: true
          width: 640
          height: 480
          title: qsTr("3D Viewer")
      
          header: ToolBar
          {
              ToolButton
              {
                  text: "Open 3D Model"
                  onPressed:
                  {
                      fileDialog.open()
                  }
              }
          }
      
          FileDialog
          {
              id: fileDialog
              onAccepted:
              {
                  sceneLoader.source = fileDialog.fileUrl
              }
          }
      
          Scene3D
          {
              anchors.fill: parent
      
              aspects: ["input", "logic"]
              cameraAspectRatioMode: Scene3D.AutomaticAspectRatio
      
              Entity
              {
                  id: sceneRoot
      
                  Camera
                  {
                      id: camera
                      projectionType: CameraLens.PerspectiveProjection
                      fieldOfView: 30
                      aspectRatio: 16/9
                      nearPlane : 0.1
                      farPlane : 1000.0
                      position: Qt.vector3d( 10.0, 0.0, 0.0 )
                      upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
                      viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 )
                  }
      
                  OrbitCameraController
                  {
                      camera: camera
                  }
      
                  components: [
                      RenderSettings
                      {
                          activeFrameGraph: ForwardRenderer
                          {
                              clearColor: Qt.rgba(0, 0.5, 1, 1)
                              camera: camera
                          }
                      },
                      InputSettings
                      {
                      }
                  ]
      
                  Entity
                  {
                      id: testEntity
                      components: [
                          SceneLoader
                          {
                              id: sceneLoader
                          }
                      ]
                  }
              }
          }
      }
      
      
      B Offline
      B Offline
      bfmv
      wrote on last edited by
      #2

      Found the solution, so posting it in case someone else will face the same problem.
      For this project I'm using Qt 5.15.2 and file assimpsceneimport.dll is missing, it should be located there:

      Qt\5.15.2\mingw81_64\plugins\sceneparsers
      

      So the quick solution is to download Qt 5.15.1 and copy

      Qt\5.15.1\mingw81_64\plugins\sceneparsers\assimpsceneimport.dll
      

      to

      Qt\5.15.2\mingw81_64\plugins\sceneparsers\assimpsceneimport.dll
      
      1 Reply Last reply
      0
      • B bfmv has marked this topic as solved on

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved