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
  • 相关阅读:
    自定义Toast
    kafka概念扫盲
    ZooKeeper面试题
    写给程序员儿子的一封信
    hashCode() 和 equals()的问题解答及重写示范
    git下载安装、配置及idea初始化
    配置 git公钥报错:unknown key type -rsa
    Java中的各种锁
    Kafka 基本原理
    MySQL 索引总结
  • 原文地址:https://www.cnblogs.com/greatverve/p/Curve-Project.html
Copyright © 2011-2022 走看看