最近在学习有关Revit二次开发的有关窗体的内容,所以根据唐曾老师的Revit二次开发课程中的实现局部三位的部分实现了一个带窗口的局部三位工具。插件的主界面如下:

首先,需要用户先框选,然后会弹出操作界面,用户可以选择两个标高作为局部视图的显示范围。点击确定就可以生成局部三位视图。
因为能力有限,再窗体之间传值的时候我的方法略显的比较麻烦,所以后面的部分没有完全实现。本例只作为我的学习笔记,做为真正的插件还有待完善。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.Attributes;
namespace 局部_三位.cs
{/// <summary>
/// 实现一个用户选择方框,然后生成一个局部的三位功能
/// </summary>
[TransactionAttribute(TransactionMode.Manual)]
[RegenerationAttribute(RegenerationOption.Manual)]
public class Partical_3D_View : IExternalCommand
{
/// <summary>
/// 判断元素是否是标高
/// </summary>
/// <param name="el"></param>
/// <returns></returns>
public bool IsLevel(Element el)
{
Level le = el as Level;
if(el==null)
{
return false;
}
else
{
return true;
}
}
/// <summary>
/// 把元素转换为标高
/// </summary>
/// <param name="elems"></param>
/// <returns></returns>
public List<Level> getLevel(List<Element> elems)
{
List<Level> lists = new List<Level>();
foreach(Element el in elems)
{
if(IsLevel(el))
{
Level temp_level = el as Level;
lists.Add(temp_level);
}

本文介绍了一款基于Revit平台的局部三维视图插件开发过程,通过用户框选区域并指定标高范围,自动生成局部三维视图,详细展示了使用C#进行Revit二次开发的方法。
最低0.47元/天 解锁文章
943

被折叠的 条评论
为什么被折叠?



