Revit二次开发的资源调用路径

简介: Revit二次开发的资源调用路径

Revit 二次开发过程中,经常需要调用一些外部资源,例如图片、视频、文本文件等等,从而实现定制化的功能。对于界面图标或图片资源的使用,相对而言比较简单,具体见:Revit二次开发使用相对路径显示图片,而要在后台代码中顺利地拿到生成操作为Content的资源并不容易。可谓前有狼后有虎。

情况1:获取到的是Revit.exe的路径,而非dll路径

System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
Application.ExecutablePath 
Application.StartupPath

20190509215507162.png


情况2:外部工具获取的是临时 dll 路径


在程序打包安装之前,通常都是通过Addin Manager来进行编程和调试,而当你知道用以下代码来获取 dll 路径时,发现并不是你想要的,因为它所指向的是一个临时生成的 dll ,而当你将程序集成到 Revit 中时,这时得到的才是你想要的路径。


Assembly.GetExecutingAssembly().Location

2021082414254647.png

Addin Manager调用时对应的dll路径

20210824142756908.png

PushButton调用时对应的dll路径

为了更方便地获取到资源的路径,将所有资源打包到Resources文件夹中并与 dll 置于同一路径下,此时资源文件的路径如下:


2021082414532283.png


资源文件夹


Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\Resources\Factor.xml"
相关文章
|
API 网络安全 图形学
【unity细节】关于资源商店(Package Maneger)无法下载资源问题的解决
【unity细节】关于资源商店(Package Maneger)无法下载资源问题的解决
453 0
|
开发工具 C# C++
Revit2019二次开发外部工具(附加模块)的安装
Revit2019二次开发外部工具(附加模块)的安装
Revit2019二次开发外部工具(附加模块)的安装
Revit二次开发—载入族并交互式放置
Revit二次开发—载入族并交互式放置
Revit二次开发—载入族并交互式放置
|
XML 数据格式
Revit两种外部接口的插件注册文件addin
Revit两种外部接口的插件注册文件addin
Revit二次开发—ISelectionFilter接口过滤用户选择
Revit二次开发—ISelectionFilter接口过滤用户选择
Revit二次开发—获取并修改指定标高
Revit二次开发—获取并修改指定标高
|
JSON 小程序 前端开发
微信小程序--》组成结构 文件作用 宿主环境
⚓经过web前端开发的学习,相信大家对于前端开发有了一定深入的了解,今天我开设了微信小程序,主要想从移动端开发方向进一步发展,而对于我来说写移动端博文的第一站就是小程序开发,希望看到我文章的朋友能对你有所帮助。
185 0
 微信小程序--》组成结构 文件作用 宿主环境
|
机器学习/深度学习 SQL 人工智能
PAI Designer Python脚本V2组件使用异常临时解决方案
PAI Designer(Studio 2.0)是基于云原生架构Pipeline Service(PAIFlow)的可视化建模工具, 提供可视化的机器学习开发环境,实现低门槛开发人工智能服务。同时,系统提供丰富且成熟的机器学习算法,覆盖商品推荐、金融风控及广告预测等场景,可以满足您不同方向的业务需求。PAI-Designer提供了自定义Python脚本的功能,您可以使用该组件运行自定义的Python函数,并且支持自定义安装依赖包。但是由于版本的更新Python脚本V2组件目前还有一些bug需要修复。本文为您演示使用Python脚本V2组件常见的一个异常及临时的处理方案,以供参考。
596 0
PAI Designer Python脚本V2组件使用异常临时解决方案
|
C# C++
VS2017下创建C++动态库导出符合并完成调用测试(DLL可供C#调用)
VS2017下创建C++动态库导出符合并完成调用测试(DLL可供C#调用)
447 0
VS2017下创建C++动态库导出符合并完成调用测试(DLL可供C#调用)