Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python存储Revit附加模块设置?_Python_Revit Api_Pyrevit - Fatal编程技术网

如何使用Python存储Revit附加模块设置?

如何使用Python存储Revit附加模块设置?,python,revit-api,pyrevit,Python,Revit Api,Pyrevit,我的Revit加载项在某个点读取文本文件,该文件可以位于任何位置。在我当前的实现中,文本文件的路径是硬编码的。我希望避免这种情况,这样当我将外接程序分发给其他人时,它不会简单地崩溃 理想情况下,我希望让他们能够为自己的计算机上的文件指定自己的位置,,并且他们不需要在每次重新启动加载项时重新指定该位置。! 换句话说,我想一次性存储所有这些信息。如果关闭并重新打开Revit,则在重新使用加载项时,该位置仍存储在某个位置 这个问题实际上与类似,只是在用Python(pyRevit)开发时需要一个解决方

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

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


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

我实现了另外两种将Revit附加模块设置存储在中的方法:

  • 使用.NET
    System.Configuration.ApplicationSettingsBase
    类以XML格式存储外接程序选项设置
  • 使用自定义解决方案和
    JavaScriptSerializer
    class在JSON中存储外接程序选项设置
这两种解决方案都非常适合您的需要


在中查看它们。

我实现了另外两种将Revit附加模块设置存储在中的方法:

  • 使用.NET
    System.Configuration.ApplicationSettingsBase
    类以XML格式存储外接程序选项设置
  • 使用自定义解决方案和
    JavaScriptSerializer
    class在JSON中存储外接程序选项设置
这两种解决方案都非常适合您的需要


如果要在pyRevit中开发插件,请在。

中查看它们,然后可以使用
pyRevit.script
模块获取该脚本的配置

向用户询问文件位置(
pyrovit.forms.save_file
help),然后在脚本配置中保存文件路径。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)

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

向用户询问文件位置(
pyrovit.forms.save_file
help),然后在脚本配置中保存文件路径。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)

非常感谢杰里米!非常感谢杰里米!