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
  • 相关阅读:
    获取SQLSERVER所有库 所有表 所有列 所有字段信息
    无法嵌入互操作类型,请改用适用的接口 的解决方法
    注册Com组件..
    IIS站点无法访问..点浏览IIS窗口直接关掉
    数据库日志文件的收缩
    由于目标机器积极拒绝,无法连接。
    Log4Net使用方法
    WindowsService 创建.安装.部署
    蓝桥杯题库基础练习字母图形
    修改IDEA默认模板
  • 原文地址:https://www.cnblogs.com/greatverve/p/Curve-Project.html
Copyright © 2011-2022 走看看