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"
相关文章
|
3月前
|
机器学习/深度学习 测试技术 Docker
使用Ray进行大规模并行智能体仿真
https://www.anyscale.com/blog/massively-parallel-agentic-simulations-with-ray 译文
|
小程序 JavaScript 开发工具
Uniapp 对接抖音短剧播放器 video-player 坑点解决
Uniapp 对接抖音短剧播放器 video-player 坑点解决
729 1
|
Rust Linux iOS开发
|
文字识别 测试技术 数据安全/隐私保护
案例:批量区域识别内容重命名,批量识别扫描PDF区域内容识别重命名,批量识别图片区域内容重命名图片修改图片名字,批量识别图片区域文字并重命名,批量图片部分识别内容重命文件,PDF区域内容提取重命名
该内容介绍了如何使用区域识别重命名软件高效整理图片,例如将图片按时间及内容重命名,适用于简历、单据等识别。文中提供了软件下载链接(百度云盘和腾讯网盘),并列出软件使用的几个关键条件,包括文字清晰、文件名长度限制等。示例展示了银行单据和公司工作单据的识别情况。文章还提及OCR技术在图片文字识别中的应用,强调了识别率、误识率和用户友好性等评估指标。如有类似需求,读者可留言或下载软件测试,并提供图片以获取定制的识别方案。
926 2
|
Unix Linux Shell
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
|
算法 安全 物联网
什么是ECC?ECC 和 RSA 之间有何区别?
什么是ECC?ECC 和 RSA 之间有何区别?
2812 1
|
存储 程序员 Python
Python函数定义与调用详解
Python中的函数是可重用代码块,用于接收参数、执行操作并可能返回输出。通过`def`定义函数,如`def greet(name): print(f"Hello, {name}!")`。函数可接受任意数量的参数,包括默认值。调用函数时提供参数,如`greet("Alice")`。可变参数通过星号(*)和双星号(**)实现。函数有助于代码模块化、理解和维护。掌握函数是Python编程基础。
|
安全 网络协议 Shell
SSH连接密码问题:原因、表现与解决方案
SSH连接密码问题:原因、表现与解决方案
4171 3
|
Kubernetes Ubuntu 应用服务中间件
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
4186 0
|
Java 程序员 API
一键搞定发布自己Jar到Maven中央仓库
从零到一发布自己Jar到Maven中央仓库
一键搞定发布自己Jar到Maven中央仓库

热门文章

最新文章