zoukankan      html  css  js  c++  java
  • Revit学习之路01_Revit基础

    序言:

    此分类记录自己的Revit学习之路。初学者难免一叶障目,不见泰山,欢迎一起交流学习!

    Revit介绍

           Revit专为建筑信息模型(BIM)构建的一款建模软件。随着BIM概念在国内的兴起,各大设计院对Revit建模的需求增多,相关的基于Revit的二次开发也逐渐增多。具体介绍不在搬运。

           Revit是专为BIM构建的软件,了解Revit必须先了解BIM。BIM的概念不仅仅是二维图纸到三维模型的变化,BIM是一个信息管理和交互的平台。Revit既然作为专为BIM构建的软件,那么他就必须能够管理模型和信息。

    参考:https://zhuanlan.zhihu.com/p/20164680?columnSlug=BIMinfo

           Revit作为一个平台类的软件,那么必须有平台的功能:1、可自定义的菜单2、加载外部插件3、提供外部插件调用的借口。

    Revit菜单

    Revit 二次开发创建自定义外部选项卡时 需要引用Revit·外部应用接口,然后在Revit启动的时候(OnStartup)创建 Tab,Panel,Button。由于二次开发菜单经常变动,总去调程序十分麻烦。所以应该将菜单定义到一个配置文件中,Revit启动的时候去读取菜单配置。这部分博主刚做过,后续会详细介绍。

    注册插件

    Revit通过AddIn文件本质是Xml文件)来加载外部插件。文件格式如下:

    <?xml version="1.0" encoding="utf-8"?>

    <RevitAddIns>

    <!—调用外部插件的类型[Command]和[Application]-->

    <AddIn Type="Command">

    <!—程序集用于反射调用插件-->

    <Assembly>D:HelloWorldinDebugHelloWorld.dll</Assembly>

    <!—唯一标示-->

    <AddInId>4d8936ea-82ca-49b0-abc0-d0904d8bd716</AddInId>

    <FullClassName>HelloWorld.Class1</FullClassName>

    <!—显示的名称-->

    <Text>HelloWorld</Text>

    <!—开发商信息-->

    <VendorId>ABC</VentorId>

    </AddIn>

    </RevitAddIns>

    插件调用

          1、 添加RevitAPI.dll和RevitUI.dll到项目的参考引用中。它们可以Revit的安装目录下或者SDK包中找到。2、继承IExternalCommand接口并实现接口的Execute()方法。

    代码示例:

    //一、命令调用

    using Autodesk.Revit.DB; 

    using Autodesk.Revit.UI; 

    using Autodesk.Revit.Attributes; 

    namespace HelloWorld 

        [Transaction(TransactionMode.Manual)] 

        public class HelloWorld : IExternalCommand 

            public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements) 

            { 

                TaskDialog.Show("Title", "Hello World"); 

                return Result.Succeeded; 

            } 

        } 

    //二、外部应用程序 

    using Autodesk.Revit.DB; 

    using Autodesk.Revit.UI; 

    using Autodesk.Revit.Attributes; 

    namespace App 

        [Transaction(TransactionMode.Manual)] 

        public class App : IExternalApplication 

        { 

            public Result OnShutdown(UIControlledApplication application) 

            { 

                TaskDialog.Show("结束", "结束"); 

                return Result.Succeeded; 

            } 

            public Result OnStartup(UIControlledApplication application) 

            { 

                TaskDialog.Show("开始", "开始"); 

                return Result.Succeeded; 

            } 

        } 

    }

    结语

           正式学习Revit开发的第一天,千里之行始于足下!

  • 相关阅读:
    proguard-rules.pro、混淆、导jar包
    百度地图相关开发
    开发apicloud模块遇到的几个梗
    Android相关概念
    file-downloader相关问题
    Android 线程
    Android Studio Tip of the Day
    NAudio的使用说明
    IT回忆录-2
    IT回忆录-1
  • 原文地址:https://www.cnblogs.com/Blog-Pan/p/6528441.html
Copyright © 2011-2022 走看看