zoukankan      html  css  js  c++  java
  • Revit API修改链接文件房间边界

    start
    [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();

            FilteredElementCollector collector = new FilteredElementCollector(doc);//
            collector.OfClass(typeof(Instance)).OfCategory(BuiltInCategory.OST_RvtLinks);//RevitLinkType
            foreach (Element elLink in collector)
            {
                Instance ins = elLink as Instance;
                RevitLinkType linkType = doc.get_Element(ins.GetTypeId()) as RevitLinkType;
                Parameter p = linkType.get_Parameter(BuiltInParameter.WALL_ATTR_ROOM_BOUNDING);
                p.Set(1);//设置房间边界
            }

            ts.Commit();

            return Result.Succeeded;
        }
        /// <summary>
        
    /// 取得链接文件路径
        
    /// </summary>
        
    /// <param name="doc"></param>
        
    /// <returns></returns>
        public List<string> GetLinkFilePaths(Document doc)
        {
            List<string> listPath = new List<string>();
            foreach (ElementId elId in ExternalFileUtils.GetAllExternalFileReferences(doc))
            {
                if (doc.get_Element(elId).IsExternalFileReference())
                {
                    ExternalFileReference fileRef = doc.get_Element(elId).GetExternalFileReference();
                    if (ExternalFileReferenceType.RevitLink == fileRef.ExternalFileReferenceType)
                        listPath.Add(ModelPathUtils.ConvertModelPathToUserVisiblePath(fileRef.GetAbsolutePath()));
                }
            }
            return listPath;
        }
    }
    url:http://greatverve.cnblogs.com/p/revit-api-room-bounding.html
  • 相关阅读:
    Windows dll注入
    Android获取ROOT权限的通用方法
    Android odex,oat文件的反编译,回编译
    盘点那些适配Linux的国产常用软件
    Hook Java API以获得MD5加密前数据
    修改Android源码实现原生应用双开,应用多开
    让终端更好看--Ubuntu OhMyZsh配置指南
    (二) go语言设计模式-创建模式之抽象工厂模式(Abstract Factory)
    (一) go语言设计模式概述
    j2ee高级开发技术课程第十四周
  • 原文地址:https://www.cnblogs.com/greatverve/p/revit-api-room-bounding.html
Copyright © 2011-2022 走看看