记一BIM出图插件和谐过程(大神略过)

(编辑:jimmy 日期: 2024/12/24 浏览:2)

最近要从revit导出大量图纸,并做简单标注,网上找到一款小巧插件。
使用工具:
de4dot
dnSpyx64安装完发现没有桌面快捷方式,打开revit后使用功能发现直接弹出登录对话框:
记一BIM出图插件和谐过程(大神略过)

01.png

01


此时到C:\ProgramData\Autodesk\Revit\Addins\20xx查看Revit启动时加载的dll(xxx.addin文件),如下:
记一BIM出图插件和谐过程(大神略过)

02.png

02



记录ZH.Plugin.Draw.dll及FullClassName,后在插件安装目录找到DLL,使用dnSpyx64神器打开dll。发现方法名全部混淆,使用de4dot大法去混淆。
记一BIM出图插件和谐过程(大神略过)

03.png

03



Revit二次开发时定义按钮事件如下:
RibbonPanel Changyong = application.CreateRibbonPanel("插件名称", "一级菜单");
PushButtonData shensuoData = new PushButtonData("shensuo","功能名称",dll_path,"方法函数");
PushButton shensuoButton = Changyong.AddItem(shensuoData) as PushButton;
因此我们只需分析PushButtonData,后找到绑定的方法函数。以管道标注为例,进入(该插件对方法进行了封装)
记一BIM出图插件和谐过程(大神略过)

04.png

04


比较明了,PipeLineTaging应该就是方法名称,点进去:后发现到新dll,去混淆,后进入,找到同名称方法,如下图:
记一BIM出图插件和谐过程(大神略过)

05.png

05


记一BIM出图插件和谐过程(大神略过)

06.png

06


话不多说,直接让if不执行,直接到else,修改如下:
记一BIM出图插件和谐过程(大神略过)

07.png

07


保存测试。
记一BIM出图插件和谐过程(大神略过)

08.png

08


发现已经秒杀,测试其他功能,已经可以使用了。
总结:revit插件主要还是要找到定义按钮时绑定的方法,而定义按钮时要吗数据全在dll里,要吗将数据写在xml里读取循环定义。

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?