首页 > 其他分享 >Revit二次开发实战

Revit二次开发实战

时间:2023-05-20 15:55:30浏览次数:32  
标签:实战 Autodesk TaskDialog dll 二次开发 using Revit view

Revit二次开发实战

 

 

 

 

 第一个程序   RevitHello插件

安装Revit2019并注册

安装、注册教程百度一下;

安装VS2019 Community

安装教程百度一下;

安装两个Revit插件

RevitLookup和AddInManager;

AddInManager.dll、Autodesk.AddInManager.addin、RevitLookup.dll、RevitLookup.addin;

将上述4个文件拷贝到插件Addins目录中;

C:\Users\Administrator\AppData\Roaming\Autodesk\Revit\Addins\2019;

 

创建一个类库项目

创建.NET Framework类库项目;

到revit.exe所在文件夹添加两个dll引用;

RevitAPI.dll、RevitAPIUI.dll;

让类实现外部命令接口 : IExternalCommand;

实现Execute函数;

通过ExternalCommandData参数可以获取UIApplication对象uiApp;

通过uiApp可以获取Application对象app和活动文档UIDocument对象 uiDoc ;

通过uiDoc 对象可以获取Document doc和活动视图View 对象view;

通过TaskDialog.Show("view.Name", view.Name)弹出对话框,并显示指定信息;

生成dll

类库编辑完成后,Ctrl+B生成dll文件;

在bin/Debug文件夹下;

Revit调用外部命令

使用AddInManager工具将生成的dll添加到Revit中;

选中创建的外部命令类,并点击运行按钮,即可运行外部命令;

源码

using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using System;

namespace RevitHello
{

    [Transaction(TransactionMode.Manual)]
    public class Class1 : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            UIApplication uiApp = commandData.Application;//获取UI程序对象
            Application app = uiApp.Application;//获取程序对象
            TaskDialog.Show(" app.VersionName", app.VersionName);
            UIDocument uiDoc = uiApp.ActiveUIDocument;//获取UI文档对象(当前文档)

            Document doc = uiDoc.Document;//获取文档对象
            TaskDialog.Show("doc.PathName", doc.PathName);

            View view = uiDoc.ActiveView;//获取视图对象(当前视图)
            TaskDialog.Show("view.Name", view.Name);

            string guid = Guid.NewGuid().ToString();//创建一个guid字符串
            TaskDialog.Show("guid", guid);//显示guid
            return Result.Succeeded;
        }
    }
}

 

标签:实战,Autodesk,TaskDialog,dll,二次开发,using,Revit,view
From: https://www.cnblogs.com/zhangdezhang/p/17417321.html

相关文章

  • Revit二次开发 知识点总结(表格)
    Revit二次开发知识点总结(表格) 宏Macro概述宏是一种程序,用来实现重复任务的自动化;宏可以执行一系列预定义的步骤,从而完成特定任务;模块是对宏的分组;实际上是一个编程项目;应用程序级的宏:可以在任何文档中使用,可以自行运行;可以独立于Revit运行;可以向Revit添加工具;......
  • 【BSP视频教程】BSP视频教程第26期:CAN/CANFD/CANopen专题,CANFD整个运行机制精讲,图文并
     上期视频教程为大家分享了很多CAN理论方面的知识,本期视频教程我们在实战应用中学习CANFD。CANFD涉及到的知识点非常多,我们本期重点是把CANFD整个运行机制搞明白,知其然知其所以然。视频:https://www.bilibili.com/video/BV1iX4y117Bv视频提纲:参考资料:1、【原创】H7-TOOL的CANFDT......
  • 【BSP视频教程】BSP视频教程第26期:CAN/CANFD/CANopen专题,CANFD整个运行机制精讲,图文并
     上期视频教程为大家分享了很多CAN理论方面的知识,本期视频教程我们在实战应用中学习CANFD。CANFD涉及到的知识点非常多,我们本期重点是把CANFD整个运行机制搞明白,知其然知其所以然。视频:https://www.bilibili.com/video/BV1iX4y117Bv视频提纲:参考资料:1、【原创】H7-TOOL的CANFDT......
  • WM_分库分表的深入实战剖析v1.0 一般有用 看1
    分库分表的深入实战剖析内容大纲分库分表概念电商系统下订单性能瓶颈问题分库分表原则剖析&产生的问题剖析电商系统亿级订单数据分库分表实战指导一、分库分表概念概念:在数据爆炸的年代,单表数据达到千万级别,甚至过亿的量,都是很常见的情景。这时候再对数据库进行操作就是......
  • Nacos 核心原理解读+高性能微服务系统实战
    Nacos核心原理解读+高性能微服务系统实战download:3w51xuebccom《模拟人生4》(TheSims4)是一款由Maxis和TheSimsStudio开发,由ElectronicArts发行的模拟人生游戏。它被广泛认为是模拟人生系列中最好玩的一部分。本文将向您介绍TS4的入门知识。TS4的基本概念在TS4中,你可以创建......
  • zabbix企业监控实战-1-zabbix部署
    官网:https://www.zabbix.com参考官网:https://www.zabbix.com/download?zabbix=6.0&os_distribution=rocky_linux&os_version=8&components=server_frontend_agent&db=mysql&ws=apache1、环境准备1>修改主机名[root@zabbix~]#hostnamectlset-hostnamezabbix......
  • 京东首页实战(带商品栏)
    效果展示项目结构......
  • Blazor实战——Known框架快速开始
    Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行。开源地址:https://gitee.com/known/Known1.安装项目模板并创建新项目打开命令行输入如下命令安装和创建。--安装模板dotnetnewinstallKnownTemplate--创建项目dotnetnewknow......
  • 上海丨阿里云 Serverless 技术实战营邀你来玩!
    活动简介本次沙龙深度探讨“Serverless在中国企业的落地和开发者实操”主题,我们特别邀请了来自阿里云一线技术专家,分享当前Serverless趋势和落地实践过程中的挑战和机遇;带来数据库Serverless技术架构及应用实践;浅析云原生时代开发者需要的Serverless能力,为开发者日常......
  • 小D-新版接口自动化教程- 接口自动化测试综合实战
    mysql安装:Win10安装MySQL5.7(图文详解)_51CTO博客_win10安装mysql5.7下载navicat若连接mysql报错:关于连接MySQL8.0.11出现2059错误(baidu.com)......