在阅读本文章之前,应具有一定Revit API开发基础.
在RevitAPI进阶其他博文中讲到此话题,但是并没有具体代码示例,在此即贴出具体代码,如下所示:
using System;
using System.Linq;
using Autodesk.Revit.UI;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using System.Reflection;
namespace RevitAPITest
{
[Transaction(TransactionMode.Manual)]
public class APITest : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
var uiDoc = commandData.Application.ActiveUIDocument;
var doc = uiDoc.Document;
var elemIds = uiDoc.Selection.GetElementIds();
if (elemIds.Count == 0)
{
TaskDialog.Show("Error", "Please select an element....!");
return Result.Failed;
}
var elem = doc.GetElement(elemIds.First());
//var eum = elem.Parameters.GetEnumerator();
var elemType = doc.GetElement(elem.GetTypeId()) as ElementType;
if (elemType == null)
{
return Result.Failed;
}
var eum = elemType.Parameters.GetEnumerator();
while (eum.MoveNext())
{
var parameter = eum.Current as Parameter;
parameter.SetVisibility(false);
}
return Result.Succeeded;
}
}
public class NativeCore
{
public static bool InvokeMoudle(string mName, object