在RevitAPI中获取RevitLinkInstance对象然后调用Location方法的时候,发现它返回一个Location对象,该对象没有任何方法可以获取位置。
- RevitDoc = commandData.Application.ActiveUIDocument.Document;
- var linkFilter = new ElementClassFilter(typeof(RevitLinkInstance));
- FilteredElementCollector linkInstances = new FilteredElementCollector(RevitDoc);
- linkInstances = linkInstances.WherePasses(linkFilter);
- foreach (RevitLinkInstance element in linkInstances)
- {
- var location = element.Location; //<==无法获取位置信息
- }
怎么办?
这里我们可以使用Instance.GetTransform()方法。该方法返回的是一个矩阵变换,代表的是链接文件的中心点和当前文件中心点之间的相对位置。代码如下:
- foreach (RevitLinkInstance element in linkInstances)
- {
- var transform = element.GetTransform(); //<==获取相对位置关系
- var location = transform.Origin; //<==原点
- }
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。