Revit自带命令图标获取

您所在的位置:网站首页 revit下载的族放到哪个文件夹 Revit自带命令图标获取

Revit自带命令图标获取

2023-07-23 11:45| 来源: 网络整理| 查看: 265

有时候,我们对Revit本身自带的命令显示的图标产生了兴趣,要怎么才能获取到这些图片呢。直接在安装目录下找好像并没有找到。那就只能换个思路了...

思路:反编译Revit图标资源类库UIFrameworkRes.dll,获取Revit自身命令的图标资源流,保存到本地。

1、首先找到UIFrameworkRes.dll所在的位置,这个文件在Revit的安装目录下。

2、调用Revit生成图标的方法。在D:\Ribbons会生成Revit所有自身命令的图标。方法具体实现在下文

GenerateRevitIcons(@"D:\Ribbons", @"D:\LightRevit\RevitDlls");

 

生成revit图标的方法

public static void GenerateRevitIcons(string targetFolder,string revitFolder) { var resourceDll = Path.Combine(revitFolder, "UIFrameworkRes.dll"); var resource = Assembly.LoadFile(resourceDll); var info = resource.GetManifestResourceStream("UIFrameworkRes.g.resources"); ResourceReader resourceReader = new ResourceReader(info); var directory = targetFolder; if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } foreach (DictionaryEntry en in resourceReader) { var name = en.Key.ToString(); if (name.StartsWith(@"ribbon/images")) { var tempFileName = Path.GetFileName(name); var path = Path.Combine(directory, tempFileName); Stream stream = en.Value as Stream; if (stream == null) { continue; } var bytes = new Byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); File.WriteAllBytes(path, bytes); } } }

结束:当然这些代码没什么难度。唯一的所得就是给二次开发的同学打开了一种思路,不要被RevitApi,RevitUIApi这两个类库束缚。

如果只需要命令图标的话,可以关注公众号:小红楼BIM,发送资料编码:da100896, 获取资料下载链接。

公众号二维码:

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3