首页 > 其他分享 >Revit二次开发系列教程01-如何在Revit中输出Hello World

Revit二次开发系列教程01-如何在Revit中输出Hello World

时间:2023-05-30 22:24:30浏览次数:42  
标签:01 示例 Manual 二次开发 World Revit

目录

01项目环境准备

02代码示例

03输出示例

04总结

05源码地址


01项目环境准备

A.开发使用的软件:Revit2021、VisualStudio2022

B.将源代码(BlogRevit\AddIns\)文件夹下的文件拷贝至C:\ProgramData\Autodesk\Revit\Addins\2021

image

其中AddInManager插件作用是不重启Revit,即可加载自定义开发的库文件,运行是实现了IExternalCommand接口的类

C.引用依赖的本地库(提前从Revit软件安装目录拷贝开发时需要使用的库,如:RevitAPI.dll)

image

D.创建新的类库(.Net Framework),注意不同AutoCAD版本对应不同Framework版本,当前案例使用Revit2021对应Framework4.8

image

02代码示例

E.建立类文件,创建命令函数,使用CAD库中的特性标记命名空间与函数

 [Transaction(TransactionMode.Manual)]
 [Regeneration(RegenerationOption.Manual)]
 public class HelloCommand : IExternalCommand
 {
     public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
     {
         try
         {
             TaskDialog.Show("Test", "Hello World");

             return Result.Succeeded;
         }
         catch (System.Exception ex)
         {
             TaskDialog.Show("发生异常", ex.Message);
             return Result.Failed;
         }
     }
 }

03输出示例

F.启动Revit2021,新建一个建筑样板文件

a)先点击Ribbon的“附加模块”,再点击外部工具按钮,再点击第一项AddIn-Manager(Manual Mode),再点击Load按钮,选择我们生成的库文件(.dll后缀)

image
image
image
image

04总结

    本文章,作为本人关于Revit二次开发系列教程的首篇,内容较为仓促简洁,如有不正确的地方,欢迎大家的指正。

05源码地址

https://gitee.com/jiangyong95/BlogRevit

标签:01,示例,Manual,二次开发,World,Revit
From: https://www.cnblogs.com/looufly/p/17443676.html

相关文章

  • [NOIP2001 普及组] 装箱问题
    [NOIP2001普及组]装箱问题题目描述有一个箱子容量为\(V\),同时有\(n\)个物品,每个物品有一个体积。现在从\(n\)个物品中,任取若干个装入箱内(也可以不取),使箱子的剩余空间最小。输出这个最小值。输入格式第一行共一个整数\(V\),表示箱子容量。第二行共一个整数\(n\),表示......
  • CODE FESTIVAL 2016 qual B
    本来预计今天考试喜提两个流汗黄豆(不知道流汗黄豆代表什么可以找emojiforces插件)的,然而只有一个。挂了\(20\)分,于是平均分\(-20\)。那似乎也是平均分\(-100\)。那似乎也可以是平均分\(-150\)。说着题质量不好评价,假归假,菜的真实。愚者之夜(YnoiTEST_86,lxl要拿钱的所以不......
  • CODE FESTIVAL 2016 qual B E 题解
    以下\(\Sigma\)为字符集。首先单次询问\(O(|\Sigma||S|)\)的暴力是显然的:建出trie树,然后每次把对应的字符串在上边扫,加上对应位置比它小的子树的大小。然后接下来有两种方法。正解首先在线大概是没什么前途的,考虑离线,建出trie树之后在上边dfs,处理挂在每个节点上的询......
  • git 创建和删除远程仓库:012
    创建远程仓库,为了方便查看,可以直接翻译成中文。   删除仓库:     ......
  • git 注册GitHub账号:011
    打开git官网注册地址:https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fsignup%3Fref_cta%3DSign%2Bup%26ref_loc%3Dheader%2Blogged%2Bout%26ref_page%3D%252F%26source%3Dheader-home在注册过程中,有些步骤我跳过了,根据提示来操作就行      ......
  • [ZJOI2019]麻将
    dp套dp经典例题。这种题一般都是给你一个奇怪的合法条件,然后去做一些计数之类的东西,直接设计状态很不好做。我们考虑先设计一个判定合法的dp,以这个dp的状态和结果作为状态去dp。更一般的,我们发现dp的过程有初始状态和终止状态,转移看成有向边,可以建出一个自动机来。dp......
  • 算法刷题记录:[NOIP2017]图书管理员
    题目链接https://ac.nowcoder.com/acm/contest/19306/1050题目分析因为要求最小编号,并且该编号是以读者的编号结尾,这边直接排序+翻转,找开头的数。记录是因为看到某个大佬非常好的思路,直接对编号进行取模,就是末尾的数。如果想得到末尾的数,直接进行取模即可~~AC代码#include<......
  • 《可伸缩服务架构-框架与中间件》-01-分布式发号器
    本文主要是设计一款永不重复的高性能分布式发号器。源码地址——码云:https://gitee.com/robertleepeak/vesta-id-generatorVesta是一款通用的ID产生器,互联网俗称统一发号器,它具有全局唯一、粗略有序、可反解和可制造等特性,它支持三种发布模式:嵌入发布模式、中心服务器发布模式、......
  • git 删除分支:010
    讲解内容:(删除已经合并的分支)和(删除未合并的分支) 假如我现在创建了三个分支,如下: 删除已合并分支:要怎么区分哪些是已合并或未合并呢?首先得切换到主分支下,使用命令:gitbranch--merged  (查看所有已经合并的分支) 查看所有未合并的分支:gitbranch--no-merged   ......
  • leetcode 101. Symmetric Tree
    Givenabinarytree,checkwhetheritisamirrorofitself(ie,symmetricarounditscenter).Forexample,thisbinarytree[1,2,2,3,4,4,3]issymmetric:1/\22/\/\3443Butthefollowing[1,2,2,null,3,null,3]isnot:1/\2......