欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207

背景

小伙伴们在做revit二次开发时,为了丰富开发内容,会有引入界面的需求。作为窗体程序开发,基本上有WinformWPF两种界面,笔者推荐使用WPF。理由如下:

Winform Vs WPF

  1. Winform是上一代的界面技术,而WPF是较新的界面技术,在特效方面比Winform强很多
  2. Autodesk Revit团队推荐使用WPF

好了,下面开始介绍如何在revit中引入WPF界面。

开发环境:Vs2017,Revit2018,.Net框架4.5.2

方法

1.首先在VS中,新建一个WPF项目,如下图所示

2.删除这里的APP.config和App.xaml
3.在start项目中,添加一个类文件

4.在引用中添加RevitAPI与RevitAPIUI两个dll,

分别设置这两个dll属性为False

5.在刚才添加的类中,写下如下代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
namespace start
{[Transaction(TransactionMode.Manual)]class WpfAddin : IExternalCommand{public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements){MainWindow wpf = new MainWindow();//实例化主窗口类wpf.ShowDialog();//展示界面return Result.Succeeded;}}
}

6.在start项目上,右键,打开属性,将输出类型改为类库

7.然后对项目start右键,重新生成

得到编译后的dll文件 “E:\05研究\黑夜の骑士博客\如何在Revit中导入WPF界面\start\bin\Debug\start.dll”

8.在revit中,通过附加模块的外部工具,在Manual Model模式下,导入刚刚生成的dll文件
9.点击“Run”运行

10.我们的WPF界面就出来了哈。

注意事项

需要Revit二次开发全流程教学 的朋友可以联系我qq:1056295111

  1. 在建立项目时选择“WPF项目”,但是后面需要将其修改为“类库”;
  2. 在Revit中导入WPF方法较多,本文介绍的这种方法,简单易懂,可快速上手;
  3. WPF界面有了,想在里面添加什么,就要发挥小伙伴们充分的想象力了。
  4. 微信公众号关注“工程人的编程课堂”,获得最新行业资讯,以及更多编程干货。

如何在Revit中引入WPF界面(通俗易懂)相关推荐

  1. 如何在uni-app中引入iconfont图标

    如何在uni-app中引入iconfont图标 step1 在iconfont中找到你要的图标,这里和vue其他地方引用的步骤一致,如果是第一次使用iconfont请自行百度使用方法,因为我一直使用的 ...

  2. revit建模插件:不规则幕墙如何在Revit中创建呢?

    revit建模插件:不规则幕墙如何在Revit中创建呢? Revit中很容易创建规则的幕墙,但是很多建筑的幕墙是不规则的,那么如图-1所示的不规则幕墙如何在Revit中创建呢?revit建模插件为你解 ...

  3. Revit建模软件:如何在Revit中准确放置族组件?

    Revit建模软件:如何在Revit中准确放置族组件? 如何在Revit中准确放置族组件?今天,我们以螺丝为例来解释这个问题. 设置工作面: 你需要的工作平面是一个垂直或有角度的平面. 如图所示,蓝色 ...

  4. 如何在React中引入阿里图标库的图标

    一.周所周知 在 Antd Design 中也有一些图标,但是要找到自己想要的图标不是很方便,需要一个一个的找.而且提供的图标数量也不是很多! 而阿里图标库可以通过搜索找到自己想要的图标,图标的数量和 ...

  5. 点云数据怎么导入3dmax中_如何在Revit中导入FARO的点云数据

    利用Revit构建BIM模型,点云数据是一项不错的数据源,而Revit也支持插入点云数据.在Revit中支持插入三种格式的点云数据: 1 原始格式的点云数据(*.asc,*.e57,*.fls等) 2 ...

  6. 如何在C#中引入CPLEX的dll(CPLEX系列-教程一)

    以前写在CSDN上的文章.转到博客园之后,打算把这个教程移过来,顺便完善后面的教程.主要是在Asp.Net+EF6里面使用cplex,完成一个最优生产计划的决策.当时在查找如何在C#中引用cplex时 ...

  7. 如何在uniapp中引入阿里字体图标

    在阿里字体图标里面点击下载到本地 然后将解压出来的文件放到static目录下,我的是static/font 然后在App.vue中引入 @import url("./static/font/ ...

  8. 如何在Revit中监听键盘事件

    欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 背景 小伙伴们在做revit二次开发的时候,可能会需要在自己做的插件运行时,去监听某个按键然后做出相应的 ...

  9. 关于如何在vue中引入jquery?

    相信大家有时候都会遇到在vue的项目中引入jquery,但是不会失效,今天就带领大家手把手在vue项目中引入jquery,亲测有效! 1.安装jquery npm install jquery --s ...

最新文章

  1. OpenCV中cvBlobsLib的编译与使用
  2. 不称职Leader的10个特征,看看你中几条?
  3. 使用Lucene2.3构建搜索引擎
  4. 政府数据集中异地备份概述
  5. 支持markdown的服务器,Vuejs中使用markdown服务器端渲染的示例
  6. StringBuilder 和 String拼接10万个字符串的速度测试差别太大了
  7. 如何用Html+css3写一个简单的网页
  8. 进程通信方法的特点以及使用场景
  9. 【渝粤题库】陕西师范大学292231 财务管理Ⅱ 作业(专升本)
  10. Java设计模式系列之迭代器模式
  11. 学习笔记(3):掌握JQuery视频教程-jquery选择器03
  12. 可以测试流放之路伤害的软件,流放之路DPS面板计算方式_流放之路怎么看自己的伤害_52PK...
  13. 解决Win10 /Win11 Fastboot驱动问题
  14. 普通计算机用的是什么屏幕,笔记本屏幕的色域 72%NTSC和100%sRGB有什么区别
  15. python 切片步长_python 切片步长
  16. bilibili怎么设置弹幕数量_如何快速丰富bilibili弹幕屏蔽列表。
  17. 游戏行业网页整站模板下载_游戏 整站 高光 传奇 黑色
  18. mi4a android tv,小米电视4A精简系统教程
  19. March 4 2017 Week 10 Saturday
  20. 第十一章 认识与学习BASH【鸟哥linux私房菜学习笔记】

热门文章

  1. Linux文件目录sha256,在Linux系统中使用SHA256来校验下载的文件的方法
  2. html怎么去除照片背景颜色,怎么去掉背景色?
  3. 【ICPC-369】uva 12096 The SetStack Computer
  4. Mysql笔记之 数据类型
  5. linux基础操作之三
  6. android edittext 输入法表情,Android开发中EditText禁止输入Emoji表情符
  7. Lagrange multiplier method (拉格朗日乘数法)
  8. appium startActivity使用方法
  9. Spring boot 更改启动LOGO,佛祖保佑,永无BUG或神兽保佑
  10. 玄幻:开局选择瑶池,我只想默默签到!(三)