0

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

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

这个问题实际上类似于这个问题,除了在 Python ( pyRevit )中开发时我需要一个解决方案。有什么帮助吗?

4

2 回答 2

2

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

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

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

在ExportWaypointsJson GitHub 存储库中查看它们。

于 2018-05-30T16:46:04.720 回答
2

如果您在 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)
于 2018-05-31T05:53:32.453 回答