首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >场景中的BIM模型

场景中的BIM模型
EN

Stack Overflow用户
提问于 2020-09-16 21:15:26
回答 1查看 81关注 0票数 0

有人知道如何使用SceneKit将.ifc文件转换为场景吗?我尝试过使用AssetImportKit,但使用以下代码没有成功:

代码语言:javascript
复制
import UIKit
import SceneKit
import AssetImportKit

class ViewController: UIViewController {

    @IBOutlet weak var sceneView: SCNView!

    override func viewDidLoad() {
        super.viewDidLoad()

        do {
          let assimpScene = try SCNScene.assimpScene(filePath: "AC20-Institute-Var-2.ifc",
                                                      postProcessSteps: [.defaultQuality])
          let modelScene = assimpScene.modelScene
          modelScene.rootNode.childNodes.forEach {
            sceneView.scene?.rootNode.addChildNode($0)
          }
        } catch {
          debugPrint(error.localizedDescription)
        }
    }
}

但得到的错误是:

代码语言:javascript
复制
" Scene importing failed for filePath AC20-Institute-Var-2.ifc"
" Scene importing failed with error "
""

我觉得有一种更好的方法可以做到这一点,将.ifc文件转换为.dae/.obj/.usdz文件,然后将其作为场景加载,而不需要AssetImportKit。

任何帮助或见解都将是非常感谢的

EN

回答 1

Stack Overflow用户

发布于 2020-10-21 21:39:18

我也犯了同样的错误,但是我实现了AssimpKit,在ViewDidLoad中你应该写下;

代码语言:javascript
复制
let scene=try SCNAssimpScene.assimpScene(with: URL(string: filePath), postProcessFlags: AssimpKitPostProcessSteps(rawValue: AssimpKitPostProcessSteps.process_FlipUVs.rawValue | AssimpKitPostProcessSteps.process_Triangulate.rawValue), error: ())

如果你有xcode格式的文件下载,你也可以从名字中读取ifc文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63920883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档