Revit API 进阶之隐藏dll讲解.


在阅读此文章前,应有一定的API基础开发能力。

AdWindows.dll 介绍

Adwindows.dll 在 Revit 安装目录下即可找到。此 dll 基于 Autodesk 统一UI界面思想,封装了一套用于 Autodesk 旗下各个基于Ribbon控件风格的软件。比如 Inventer 、AutoCAD、Revit 等等。这些软件的 Ribbon UI 几乎全部是基于此dll进行封装后再使用。如果将此dll运用熟练,即可用此dll去操控、定制 Autodesk 旗下各个具有 Ribbon 控件风格的 UI。并且 Adwindows.dll 也可以用于自己独立的软件,即不作为任何插件开发也可以轻松使用 Autodesk 风格的 Ribbon 界面。

具体使用方法,会在其它篇幅专门讲解


UIFrameworkRes.dll 介绍

UIFrameworkRes.dll 在Revit安装目录下即可找到。此dll较为简单,内部包含了Revit Ribbon界面的xaml代码以及Revit所有图标。感兴趣的朋友可用反编译工具ILSpy进行反编译。导出源代码,从而获取Revit所有Ribbon内置图标。导出的图标全部为16*16、32*32 融合存储,使用一些看图软件可单独导出进行分开使用。


UIFramework.dll 介绍

UIFramework.dll 在Revit安装目录下即可找到。此dll是用于Revit UI框架管理而封装的。脱离于Revit不可独立使用。此dll内部具有一些基于Adwindows.dll操作Ribbon的API,以及一些为Revit封装的Ribbon控件。另具有一些内部UI,比如快捷键管理的UI以及快捷键操作API等等。

### Revit 教学教程及相关资源 对于希望学习Revit软件及其二次开发的用户来说,掌握合适的教学资料至关重要。以下是针对不同层次的学习者推荐的一些优质资源: #### 初学者入门 初学者应优先了解Revit的基本操作和界面布局,这有助于建立扎实的基础[^1]。以下是一些适合新手的资源: - **BimCC 小火车Revit二次开发教程** 这套课程由DikyEggs制作,涵盖了从基础知识到实际应用的内容,非常适合零基础学员[^3]。 ```plaintext 地址: http://v.bimcc.com/course/35 ``` - **b站零基础入门教学视频** JFeast提供的这套免费视频教程专注于帮助完全不了解Revit的人快速上手[^3]。 ```plaintext 地址: https://www.bilibili.com/video/av31299938 ``` #### 中级进阶 当掌握了基本概念后,可以进一步深入研究Revit API二次开发相关内容。这些资源可以帮助您提升技能水平: - **腾讯课堂经典案例课程** 唐僧老师的这一系列课程通过具体实例讲解了如何利用Revit进行项目实践,特别适用于有一定经验的学习者。 ```plaintext 地址: https://ke.qq.com/course/334916 ``` - **Danny Bentley YouTube频道** 提供大量关于Revit二次开发的技术分享,尤其是有关Ribbon菜单与按钮代码的设计部分非常值得参考[^2][^3]。 ```plaintext 地址: https://www.youtube.com/channel/UC1Dx-jGyRbvvHzZ8ZyGWF5w/featured ``` #### 高级探索 如果目标是成为专家级别的开发者,则需要不断挑战自我并接触前沿技术。例如,在元宇宙背景下探讨数字孪生场景构建时,可能会涉及到更高深的知识体系[^4]。 --- ### 示例代码片段:创建简单的Ribbon面板 下面展示了一个用于演示如何向Revit添加自定义ribbon按钮的小例子(基于C#语言编写): ```csharp using Autodesk.Revit.UI; using System; namespace CustomRibbonExample { public class RibbonSetup : IExternalApplication { public Result OnStartup(UIControlledApplication application) { Tab tab = application.CreateRibbonTab("MyCustomTab"); Panel panel = tab.AddPanel("Sample Panel"); PushButtonData buttonData = new PushButtonData( "btnTest", // Internal name of the button. "Click Me!", // Displayed text on the button face. typeof(Command).Assembly.Location, // Path to command DLL file. typeof(Command).FullName); // Fully qualified type name. panel.AddItem(buttonData); return Result.Succeeded; } public Result OnShutdown(UIControlledApplication application) { return Result.Succeeded; } } } ``` 此段程序展示了怎样通过编程方式往Revit界面上增加一个新的标签页以及相应的控制组件[^2]。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值