【问题标题】:import multiple files in the same type in sketchup ruby api在sketchup ruby​​ api中导入相同类型的多个文件
【发布时间】:2014-01-09 04:35:36
【问题描述】:

我是 ruby​​ 和 sketchup 的初学者。

我需要在打开导入对话框时同时选择并导入多个文件。我使用了一个类,它继承自 SketchUp 的 Importer 接口。但是如果我想导入多个文件,这意味着我必须多次打开导入器对话框才能做到这一点。很不方便。

导入后,它会返回我导入的所有文件的所有路径

你有什么实现的想法吗?

非常感谢 !

【问题讨论】:

    标签: ruby sketchup


    【解决方案1】:

    不幸的是,Ruby API 没有实现任何 API 来在文件对话框中选择多个文件。

    此外,如果您使用Importer 类,您会被它显示的文件对话框卡住。只能单选。

    如果您知道应该读取文件夹中的所有文件,您应该让用户选择一个文件,然后从中提取路径并读取该目录中的所有文件。

    如果您放弃 Importer 课程,您可以制作自己的替代品。最好的办法是创建一个调用 OS API 以显示多选对话框的 Ruby C 扩展。

    或者,您可以创建一个显示文件并让用户选择多个文件的 WebDialog。但这意味着您必须从头开始创建所有 UI,而且它不会像本机 OS 文件对话框那样。 http://www.sketchup.com/intl/en/developer/docs/ourdoc/webdialog.php https://github.com/thomthom/sketchup-webdialogs-the-lost-manual/wiki

    如果您正在制作仅适用于 Windows 的插件,则可以使用 HTML5 的拖放功能。虽然这也有要求用户拥有最新 IE 版本的缺点。 (当 SU 不活动时,OSX 会隐藏 WebDialogs - 因此当您从 Finder 拖动文件时,您不能将其用作放置目标。) 不久前我做了一个概念证明:https://github.com/thomthom/DropZone

    【讨论】:

    • 是的,我将尝试创建一个调用 OS API 以显示多选对话框的 ruby​​ C 扩展。我找到了创建 ruby​​ C Extension 的方法。但我不知道要显示多选对话框的操作系统 API。取决于操作系统(Window 或 MAC)我认为每个操作系统的这个操作系统 API 都不同。您是否有任何示例或链接来演示如何通过开发 Ruby C 扩展来自定义 Sketchup UI 元素的行为(我对 API C 编程没有经验)谢谢您的帮助
    • 恐怕我没有那么具体的东西。我们正在研究使用 C++ 为 SketchUp 设置 Ruby C 扩展的 Visual Studio 和 Xcode 示例。最终这些可能会被扩展,但现在对你没有帮助。
    • 我又更新了一个问题。你能帮我回答吗?希望你能帮助我!
    • 为此创建一个单独的问题可能会更好。保持秩序井然。否则模组可能会关闭它。
    • 谢谢,我会添加单独的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    • 2015-12-03
    • 1970-01-01
    • 1970-01-01
    • 2014-05-27
    • 2018-11-08
    相关资源
    最近更新 更多