【问题标题】:How to store Revit Add-in Settings with Python?如何使用 Python 存储 Revit 插件设置?
【发布时间】:2018-11-09 04:14:22
【问题描述】:

我的 Revit 插件有时会读取一个文本文件,该文件可能位于任何位置。在我当前的实现中,文本文件的路径是硬编码的。我想避免这种情况,这样当我将外接程序分发给其他人时,它不会简单地崩溃。

理想情况下,我希望他们能够在他们的计算机上为该文件指定他们自己的位置,并且他们不需要在每次重新启动加载项时重新指定它! 换句话说,我想一劳永逸地存储所有这些信息。如果您关闭并重新打开 Revit,当您重新使用该插件时,该位置仍会存储在某个位置。

这个问题实际上类似于this one,只是我在使用 Python 开发时需要一个解决方案 (pyRevit)。有什么帮助吗?

【问题讨论】:

    标签: python revit-api pyrevit


    【解决方案1】:

    如果您在 pyRevit 中开发插件,则可以使用 pyrevit.script 模块获取该脚本的配置。

    向用户询问文件位置(pyrevit.forms.save_file 帮助),然后将文件路径保存在脚本配置中。 pyRevit 会自动处理此问题并将信息保存在其主配置文件中 %appdata%/pyRevit

    from pyrevit import script
    config = script.get_config()
    config.filelocation = 'path/to/your/file'
    script.save_config()
    

    然后,像这样读取配置:

    from pyrevit import script
    config = script.get_config()
    print(config.filelocation)
    # or to get the config safely
    print(config.get_option('filelocation', None)
    

    【讨论】:

      【解决方案2】:

      我实现了另外两种将 Revit 插件设置存储在 HoloLens Escape Path Waypoint JSON Exporter 中的方法:

      • 使用 .NET System.Configuration.ApplicationSettingsBase 类在 XML 中存储加载项选项设置
      • 使用自定义解决方案和JavaScriptSerializer 类在 JSON 中存储加载项选项设置

      两种解决方案都非常适合您的需求。

      ExportWaypointsJson GitHub repository 中查看它们。

      【讨论】:

      • 非常感谢杰里米!
      猜你喜欢
      • 1970-01-01
      • 2019-05-01
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-03
      • 1970-01-01
      相关资源
      最近更新 更多