繁体   English   中英

如何使用Python存储Revit加载项设置?

[英]How to store Revit Add-in Settings with Python?

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

理想情况下,我想让他们能够在计算机上为该文件指定其自己的位置, 并且他们不必在每次重新启动外接程序时都重新指定该文件的位置! 换句话说,我想一劳永逸地存储所有这些信息。 而且,如果您关闭并重新打开Revit,则在您重新使用Addin时,该位置仍存储在某个位置。

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

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

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

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

ExportWaypointsJson GitHub存储库中检出它们。

如果您正在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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM