zoukankan      html  css  js  c++  java
  • Revit API画垂直于风管的风管

    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
  • 相关阅读:
    函数概述
    Python之购物车实战(练习字典、random函数)
    字典方法
    dict字典练习题
    触发器(游标)给同事老朱写
    SQL之游标实例
    SQL之游标
    Python之for循环之range函数和enumerate函数
    python之购物车(详解list tupe 循环)
    第二周 数据获取与表示 第二节 数据表示 Data representation
  • 原文地址:https://www.cnblogs.com/greatverve/p/Curve-Project.html
Copyright © 2011-2022 走看看