miki969696

Revit Api打印当前项目的所有的可打印视图

打印当前文档中的可打印视图

public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, Autodesk.Revit.DB.ElementSet elements)
{
  Document doc = commandData.Application.ActiveUIDocument.Document;
  FilteredElementCollector collector = new FilteredElementCollector(doc).OfClass(typeof(ViewPlan));
  IList<Element> viewElems = collector.ToElements();
  ViewSet printableViews = new ViewSet();

  // 找出全部可打印视图
  foreach (View view in viewElems)
  {
     if (!view.IsTemplate && view.CanBePrinted)
     {
        printableViews.Insert(view);
     }
  }
  PrintManager pm = doc.PrintManager;
  pm.PrintRange = PrintRange.Select;
  pm.SelectNewPrintDriver(@"\\server\printer01");
  pm.Apply();

  // 打印全部可打印视图
  doc.Print(printableViews);
  return IAsyncResult.Succeeded;
}

 

 
 

posted on 2025-10-30 23:57  盛书伟  阅读(2)  评论(0)    收藏  举报

导航