用户名: 使用QQ如何登陆?
密码: 忘记密码?
保存时间: 不保存      一个月
  
首页 - 软件中心 - Revit视频教程 - Revit二次开发之创建一个简单的插件
Revit教程专题
第一部分 Revit快速入门
第二部分 Revit使用技巧
第三部分 Revit实例讲解
第四部分 Revit新版介绍
第五部分 Revit安装教程
第六部分 Revit 建筑建模教程
第七部分 Revit 结构建模教程
第八部分 Revit 族教程
第九部分 Revit MEP风管系统教程
第十部分 Revit MEP电气系统教程
第十一部分 Revit MEP管道系统教程

Revit二次开发之创建一个简单的插件

出处: 时间:2013-09-30 16:24:15 人气:

Revit插件制作实例步骤:

1.创建你的第一步骤插件


启动 Visual C# 速成版开发环境:

打开 Visual C# 2010年速成版使用 Windows 开始菜单,选择所有程序,然后 Microsoft Visual Studio 2010 速成,然后 Microsoft Visual C# 2010年速成版的子菜单项。


2.创建一个类库项目:

里面 Visual C# 速成版,在文件菜单上单击新建项目。在已安装的模板选项卡的左侧窗口中,单击 Visual C#。在中间的窗口中,单击类库。在名称框中输入 Lab1PlaceGroup。然后单击确定。

3.Visual C# 速成版将会为您创建一个默认的代码项目并在代码窗口中显示的代码。

保存项目:

在文件菜单上单击全部保存。在显示窗口中键入 C:\test 在位置框中的,然后单击保存。


4.添加引用的文件:

在 Visual C# 速成版窗口右侧的解决方案资源管理器窗口中,右键单击引用,然后单击添加引用的文件

5.单击浏览选项卡在添加引用对话框中的,浏览到 Revit 产品安装的子文件夹。(子文件夹路径上取决于在安装有 Revit 建筑 201x。默认的路径是 C:\Program Files\Autodesk\Revit Architecture 201x\Program)。


路径不同可能因您使用 Autodesk Revit安装的位置。

您将从该文件夹中添加两个引用文件。选择 RevitAPI.dll,在按住 Ctrl 键和选择 RevitAPIUI.dll,然后单击确定。现在这两个接口在您的项目中引用的 DLL 文件。所有 Revit Api 都公开的这些接口文件和您的项目可以使用那些可用的 Api。

6.设置引用的文件副本属性值:

在解决方案资源管理器窗口中您看到在步骤 5 中,单击 RevitAPI 引用节点下。在属性窗口中,单击复制本地属性,然后单击下拉列表中,选择 False。重复相同的步骤,RevitAPIUI 的复制本地属性值更改为 False。


7.设置目标.NET 框架:

注意: Autodesk Revit 2011 支持.NET Framework 3.5 的使用。欧特克 Revit 2012 以及更高支持.NET 框架 4.0,Visual C# 2010年表示使用默认情况下的使用。需要以下步骤,以便使用正确的版本。如果您正在使用的 Revit 体系结构版本支持.NET 框架 4.0,你可以跳过步骤 7、 8 和 9。


在解决方案资源管理器窗口中,右击 Lab1PlaceGroup 项目,然后单击属性


8.在显示项目属性表单中,请单击应用程序选项卡上的窗口左侧,单击目标框架下方的下拉列表,然后单击列表中的.NET Framework 3.5 选项。


9.下面的消息框会显示要求您确认。单击是以确认更改。

10.添加的代码:

Class1.cs 在解决方案资源管理器窗口中的显示代码编辑窗口,请双击。删除在此窗口中的所有内容,然后键入下面的 C# 代码。

包括例如智能感知功能的使用 ,与开发经验我们建议您键入从本指南,而不是复制和粘贴代码。说,如果你也可以复制并粘贴到 Visual C# 速成版代码窗口中,虽然这减少了从直接与代码工作获得的经验,最好是自己写一遍。

using System;
using System.Collections.Generic;
using System.Linq;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Architecture;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.Attributes;

[TransactionAttribute(TransactionMode.Manual)]
[RegenerationAttribute(RegenerationOption.Manual)]public class Lab1PlaceGroup : IExternalCommand{  public Result Execute(    ExternalCommandData commandData,    ref string message,    ElementSet elements)
  {    //Get application and document objects
    UIApplication uiApp = commandData.Application;    
    Document doc = uiApp.ActiveUIDocument.Document;    //Define a Reference object to accept the pick result.
    Reference pickedRef = null;    

    //Pick a group
    Selection sel = uiApp.ActiveUIDocument.Selection;
    pickedRef = sel.PickObject(ObjectType.Element, "Please select a group");    Element elem = pickedRef.Element; 
    Group group = elem as Group;    //Pick a point
    XYZ point = sel.PickPoint("Please pick a point to place group");    //Place the group
    Transaction trans = new Transaction(doc);
    trans.Start("Lab");
    doc.Create.PlaceGroup(point, group.GroupType);
    trans.Commit();    return Result.Succeeded;
  }
}

不要太担心看不懂代码,我们在下面将会看到这些代码的效果,慢慢的体会其中的意思!


11.保存该文件:

在文件菜单上单击全部保存。

12.生成项目:


注意: 如果您正在使用 Revit 2012 API,您将看到一个警告,指出 'Autodesk.Revit.DB.Reference.Element' 已过时。此时,不要担心此警告

如果您正在使用 Revit 2013 年和更高的 API,你将需要替换下面的代码行:

   Element elem = pickedRef.Element;

替换成

Element elem = doc.GetElement(pickedRef);

就这么简单 !这就是一个简单的Revit插件!

Copyright © 2011 - 2013 Yimi360. All Rights Reserved.   深圳一米教育科技有限公司 版权所有 粤ICP备13006196号-1