700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Revit API 开发(14): RevitLink - 链接文件 rvt IFC DWG等

Revit API 开发(14): RevitLink - 链接文件 rvt IFC DWG等

时间:2021-08-25 01:58:42

相关推荐

Revit API 开发(14): RevitLink - 链接文件 rvt IFC DWG等

前言

本文对 Revit 链接做一个简单的笔记,以便日后可以查询。

下图中,RVT 和 IFC 都会出现在 Revit 链接的列表里面,他们是 RevitLinkType。而 DWG 及其它文件则不会,因为他们是 ImportInstance。

RVT

RevitLinkInstanceRevitLinkType

在文件中创建一个链接文件的实例

加载文件,创建一个RevitLinkType用这个RevitLinkType创建一个实例,RevitLinkInstance

RevitLinkType

在文档 doc 里面加载一个链接文件。

public ElementId CreateRevitLink(Document doc, string pathName){FilePath path = new FilePath(pathName);RevitLinkOptions options = new RevitLinkOptions(false);// Create new revit link storing absolute path to a fileLinkLoadResult result = RevitLinkType.Create(doc, path, options);return (result.ElementId);}

RevitLinkInstance

在文档中创建这个 RevitLinkType 的实例。

public void CreateLinkInstances(Document doc, ElementId linkTypeId){// 在原点创建一个链接文件的实例// doc 是这个instance 最终会出现的那个文件// linkTypeId 是链接文件的类型RevitLinkInstance.Create(doc, linkTypeId);RevitLinkInstance instance2 = RevitLinkInstance.Create(doc, linkTypeId);Location location = instance2.Location;// Create a second instance of the link and offset it by 100 feet.location.Move(new XYZ(0, -100, 0));}

注意

通过 RevitLinkType 无法得到对应的链接文件在磁盘上的位置,反而需要用RevitLinkInstance.GetLinkDocument得到对应的document,然后找这个文档的PathName

IFC

加载 IFC 文件需要用RevitLinkType.CreateFromIFC。它最后创建的也是 RevitLinkInstance。

DWG 及其它类型

通过Document.Import来导入,并且不会显示在链接文件列表里面。

namespace Autodesk.Revit.DB{public class Document : IDisposable{// 导入相关接口public bool Import(string file, GBXMLImportOptions options);public bool Import(string file, ImageImportOptions options, View view, out Element element);public bool Import(string file, DGNImportOptions options, View pDBView, out ElementId elementId);public ElementId Import(string file, SKPImportOptions options, View pDBView);public bool Import(string file, DWGImportOptions options, View pDBView, out ElementId elementId);}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。