首页 > Windows开发 > 详细

Revit API画垂直于风管的风管

时间:2014-03-03 18:56:48      阅读:745      评论:0      收藏:0      [点我收藏+]
start
/// <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://revit.5d6d.com");
        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;
    }
}
url:http://greatverve.cnblogs.com/p/Curve-Project.html

Revit API画垂直于风管的风管,布布扣,bubuko.com

Revit API画垂直于风管的风管

原文:http://www.cnblogs.com/greatverve/p/Curve-Project.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!