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
  • 相关阅读:
    【Java】Swing-LookAndFeel 初解
    【软件】软件发布版本号说明
    【Gradle】Gradle compile 运用
    【Java】String,StringBuilder,StringBuffer 区别与实现
    Java面试题
    java面向对象_抽象类和接口
    Java学习_int和Integer的区别+包装类
    PHP-格式标签
    PHP+Zend 输出时中文乱码问题
    JSP学习
  • 原文地址:https://www.cnblogs.com/greatverve/p/Curve-Project.html
Copyright © 2011-2022 走看看