手机
当前位置:查字典教程网 >编程开发 >C#教程 >使用revit api画垂直于风管的风管示例
使用revit api画垂直于风管的风管示例
摘要:复制代码代码如下://////选择风管与风管外一点,画与风管垂直的风管。///[Transaction(TransactionMode.Ma...

复制代码 代码如下:

/// <summary>

/// 选择风管与风管外一点,画与风管垂直的风管。

/// </summary>

[Transaction(TransactionMode.Manual)]

[Regeneration(RegenerationOption.Manual)]

public class cmd : IExternalCommand

{

public Result Execute(ExternalCommandData cmdData, ref string msg, ElementSet elements)

{

UIDocument uiDoc = cmdData.Application.ActiveUIDocument;

UIApplication uiApp = cmdData.Application;

Document doc = uiDoc.Document;

Selection selection = uiDoc.Selection;

Transaction ts = new Transaction(doc, "http://www.jb51.net");

ts.Start();

//得到一种风管类型

DuctType ductType = null;

FilteredElementCollector collector = new FilteredElementCollector(doc);

collector.OfClass(typeof(DuctType));

foreach (Element el in collector.ToElements())

{

ductType = el as DuctType;

break;

}

//

Reference refDuct = selection.PickObject(ObjectType.Element, "选择一根风管:");

Duct duct = doc.GetElement(refDuct) as Duct;

XYZ xyz = selection.PickPoint();//选择一点

LocationCurve lCurve = duct.Location as LocationCurve;

IntersectionResult interResult = lCurve.Curve.Project(xyz);//点在直线上的投影

if (interResult != null)

{

doc.Create.NewDuct(xyz, interResult.XYZPoint, ductType);

}

ts.Commit();

return Result.Succeeded;

}

}

【使用revit api画垂直于风管的风管示例】相关文章:

使用C#开发Socket通讯的方法

基于运算符重载的那些事

C#使用DllImport调用非托管的代码的方法

c#使用linq技术创建xml文件的小例子

C#使用itextsharp生成PDF文件的实现代码

C#中常使用进度条的代码

解析XPath语法之在C#中使用XPath的示例详解

用C#写的ADSL拨号程序的代码示例

winform使用委托和事件来完成两个窗体之间通信的实例

二叉树的遍历算法(详细示例分析)

精品推荐
分类导航