应用程序:LevelsProperty

Revit平台:所有

Revit版本:2011.0

首次发布:9.0

编程语言:C#

技能水平:入门

类别:元素

类型:ExternalCommand

主题:显示和创建楼层。

概要:

该示例演示了如何获取文档中的所有楼层,以及如何创建或删除一个楼层并设置其属性。

类:

Autodesk.Revit.UI.IExternalCommand

Autodesk.Revit.DB.Level

Autodesk.Revit.Creation.Document

项目文件:

Command.cs

该文件包含如何获取Revit文件中的所有楼层以及如何创建楼层并设置其属性,并实现IExternalCommand接口的函数。

 

LevelsDataSource.cs

该文件包含LevelsDataSource类,用于存储Revit中楼层的数据。

描述:

- 显示当前文档中所有楼层的名称和标高列表。可以通过遍历当前文档元素来找到所有楼层。

- 创建一个具有唯一名称和标高的新楼层。可以使用属于Autodesk.Revit.Creation.Document类的NewLevel方法创建新楼层。

- 删除一个楼层。

- 可以通过Autodesk.Revit.DB.Level类中的NameElevation属性设置楼层的名称和标高。楼层的名称应唯一。

说明:

1. 打开一个包含一些楼层的Revit文档。

2. 运行示例,它将获取当前文档中的所有楼层。

3. 单击“添加”按钮创建一个新层。

4. 在列表中选择一个楼层设置其名称和标高,单击“确定”按钮完成设置操作。

5. 单击“删除”按钮删除列表中选择的一个层,单击“确定”按钮完成操作。

源代码

完整的源代码请加入QQ群649037449,在群文件中下载RevitSDK.exe,解压后在文件夹中搜索本文中应用程序名称即可获得完整源码

LevelsDataSource.cs

//
// (C) Copyright 2003-2019 by Autodesk, Inc. 
//
// Permission to use, copy, modify, and distribute this software in
// object code form for any purpose and without fee is hereby granted,
// provided that the above copyright notice appears in all copies and
// that both that copyright notice and the limited warranty and
// restricted rights notice below appear in all supporting
// documentation.
//
// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
// UNINTERRUPTED OR ERROR FREE.
//
// Use, duplication, or disclosure by the U.S. Government is subject to
// restrictions set forth in FAR 52.227-19 (Commercial Computer
// Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
// (Rights in Technical Data and Computer Software), as applicable. 
//


using System;
using System.Collections.Generic;
using System.Text;

namespace Revit.SDK.Samples.LevelsProperty.CS
{
    /// <summary>
    /// Data source used to store a Level
    /// </summary>
    public class LevelsDataSource
    {
        String m_levelName;
        double m_levelElevation;
        int m_levelIDValue;

        /// <summary>
        /// First column used to store Level's Name
        /// </summary>
        public String Name
        {
            get
            {
                return m_levelName;
            }
            set
            {
                m_levelName = value;
            }
        }


        /// <summary>
        /// Second column to store Level's Elevation
        /// </summary>
        public double Elevation
        {
            get
            {
                return m_levelElevation;
            }
            set
            {
                m_levelElevation = value;
            }
        }

        /// <summary>
        /// Record Level's ID
        /// </summary>
        public int LevelIDValue
        {
            get
            {
                return m_levelIDValue;
            }
            set
            {
                m_levelIDValue = value;
            }
        }

    }
}