【发布时间】:2014-01-10 16:41:06
【问题描述】:
我创建了 DaeImporter 类(它继承自 Importer 接口)用于导入 *.dae 文件。并且在 importer 类的 load_file 函数中。我得到了我导入的文件的路径
但我需要打开它并显示 3D 图像,调整它的大小并将其放置在给定的位置,这个功能必须在 DaeImporter 类中实现。
我看到图像对象,实体类有方法 add_image 用于将图像添加到实体中,调整大小并将其放置在给定位置。 Entites 类是否具有用于 dae 文件的相同方法。如果没有,我该怎么办这种情况。
谢谢你帮助我!
【问题讨论】:
-
当您希望 SketchUp 加载格式时,为什么要为看似 DAE 的东西实现 Importer 类? IMporter 类用于添加 SketchUp 开箱即用不支持的导入器。
-
我假设“3D 图像”是指“3D 模型”? “图像”是一个 2D 元素。
-
是的,我的意思是“3D 模型”的“3D 图像”,而“图像”是一个 2D 元素。对不起。我的要求是当用户导入 dae 文件(正是用户在 dae 文件中导入 2D 元素)时,它会自动调整给定大小,并自动移动到给定位置。所以我认为我必须创建自定义导入器类,因为它继承自 Importer 接口,并且它具有回调函数 load_file(它在用户导入文件时自动调用)。我将在此函数中处理读取文件、调整大小和移动 2D 元素。这是真的方法吗?你有替代方法吗?
-
如果您实现
Importer类,您将负责读取、解码和生成 SketchUp 实体。那么我认为您真正想要的是在用户导入 DAE 文件时收到通知?导入器操作没有通知,您可以在添加新组件或实体时进行监听,但无法知道它们来自 DAE 导入。 -
是的,我明白了。感谢您的指导,我找到了如何监听新组件或实体何时添加,以及如何移动它