如何找到链接的Revit文件的位置

时间:2019-04-07 05:51:30

标签: c# revit-api

我正在编写一个应用程序,以查找Revit链接在项目中的位置。我使用locationPoint,但是它提供了null。 T

      FilteredElementCollector collector = new   FilteredElementCollector(myDoc);//
                  collector.OfClass(typeof(Instance)).OfCategory(BuiltInCategory.OST_RvtLinks);

       foreach (Element elLink in collector)
        {
          Instance ins = elLink as Instance;
          RevitLinkType linkType = myDoc.GetElement(ins.GetTypeId()) as                          RevitLinkType;
                 LocationPoint pn = linkType.Location as LocationPoint;

            TaskDialog.Show("rvt", "Name " + linkType.Name);
            if (null != pn)
            {
                TaskDialog.Show("rvt", "location " + pn.Point.X + "     "         + pn.Point.Y + "    " + pn.Point.Z);
            } 
      }

我希望找到Revit链接文件的x,y,z

1 个答案:

答案 0 :(得分:0)

看看The Building CoderDetermining Host Document Location of a Linked Element的讨论:

  

RevitLinkInstance源自Instance类,该类是所有实例对象的基类。它提供了方法GetTransform(用于检索实例的变换),以及GetTotalTransform(还包括真正的北变换)。