博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Revit二次开发示例:DesignOptions
阅读量:6406 次
发布时间:2019-06-23

本文共 2356 字,大约阅读时间需要 7 分钟。

本例只要演示Revit的类过滤器的用法,在对话框中显示DesignOption元素。

#region Namespacesusing System;using System.Collections;using System.Collections.Generic;using System.Diagnostics;using Autodesk.Revit.ApplicationServices;using Autodesk.Revit.Attributes;using Autodesk.Revit.DB;using Autodesk.Revit.UI;using Autodesk.Revit.UI.Selection;#endregionnamespace DesignOptionReader{    [Autodesk.Revit.Attributes.Transaction(TransactionMode.Manual)]    [Autodesk.Revit.Attributes.Regeneration(RegenerationOption.Manual)]    [Autodesk.Revit.Attributes.Journaling(JournalingMode.NoCommandData)]    public class Command : IExternalCommand    {        public Result Execute(          ExternalCommandData commandData,          ref string message,          ElementSet elements)        {            try            {                Application application = commandData.Application.Application;                ElementClassFilter filter = new ElementClassFilter(typeof(Autodesk.Revit.DB.DesignOption));                FilteredElementCollector collector = new FilteredElementCollector(commandData.Application.ActiveUIDocument.Document);                collector.WherePasses(filter);                IEnumerator iter = collector.GetElementIdIterator();                Element element;                ElementSet designOptions = new ElementSet();                while (iter.MoveNext())                {                    element = iter.Current as Element;                    if (element.GetType().Equals(typeof(Autodesk.Revit.DB.DesignOption)))                    {                        designOptions.Insert(element);                    }                }                if (designOptions.Size > 0)                {                    DesignOptionsDialog dialog = new DesignOptionsDialog();                    foreach (Element elem in designOptions)                    {                        dialog.DesignOptionsList.Items.Add(elem.Name);                                  }                    dialog.ShowDialog();                }                else                {                    TaskDialog.Show("DesignOptions","There are no design options in this document");                }                            }            catch (Exception ex)            {                message = ex.Message;                return Result.Failed;            }            return Result.Succeeded;        }    }}

转载地址:http://rkqea.baihongyu.com/

你可能感兴趣的文章
rsync命令基础
查看>>
springboot 之 小项目入门
查看>>
利用SolrJ添加索引
查看>>
Jenkins在Linux下的安装与配置
查看>>
RMAN 备份详解 (一)
查看>>
PHP error_reporting() 函数
查看>>
EhCache和memcached介绍
查看>>
jQuery ajax()使用serialize()提交form数据
查看>>
程序框架的作用
查看>>
什么是DHTML
查看>>
Oxite学习之一:Oxite安装
查看>>
extjs4 panel下tools里的元素选择器
查看>>
Mac下使用Docker简单介绍
查看>>
SpringMvc Ehcache 实现缓存机制
查看>>
javascript闭包的使用
查看>>
Backbone.js 使用模板
查看>>
安装xenomai的记实
查看>>
linux下面快速删除大量文件及快速复制大量小文件
查看>>
微信小程序锁定当前页面(改代码后不跳首页)教程
查看>>
我们为什么需要SDN?---致新人
查看>>