Revit二开--复制视图裁剪

Revit二开–复制视图裁剪

在Revit使用过程中, 当我们想要把视图的裁剪范围调整为相同的大小和位置的时候,手动操作很难达到我们想要的结果,只能调整的尽可能的相似。还有人说可以事先调整好裁剪范围然后复制视图,这样也可以,但不能保证建模过程中不调整视图裁剪范围,如果一旦调整,就能难调整到与之前的范围一致。
今天我们采用二开的方法来解决。
步骤:

	 /// <summary>
    /// 复制视图裁剪
    /// </summary>
    [Transaction(TransactionMode.Manual)]
    class Cmd_CopyViewCut : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            var uiapp = commandData.Application;
            var uidoc = uiapp.ActiveUIDocument;
            var doc = uidoc.Document;
            var acview = doc.ActiveView;

            var collecor = new FilteredElementCollector(doc);
            var planviews = collecor.OfClass(typeof(ViewPlan)).Where(m => !(m as ViewPlan).IsTemplate).OrderBy(m => m.Name);


            ViewSelector selector = new ViewSelector();
            selector.sourceView.ItemsSource = planviews;
            selector.sourceView.DisplayMemberPath = "Name";
            selector.sourceView.SelectedIndex = 0;

            selector.targetViewList.ItemsSource = planviews;
            selector.targetViewList.DisplayMemberPath = "Name";

            selector.ShowDialog();

            var sourceview = selector.sourceView.SelectionBoxItem as View;
            var targetviews = selector.targetViewList.SelectedItems.Cast<ViewPlan>();

            Transaction ts = new Transaction(doc, "复制裁剪");
            ts.Start();

            var boundingbox = sourceview.CropBox;

            foreach (var targetview in targetviews)
            {
                targetview.CropBox = boundingbox;
                var para_crop = targetview.get_Parameter(BuiltInParameter.VIEWER_CROP_REGION);
                var para_crop_visible = targetview.get_Parameter(BuiltInParameter.VIEWER_CROP_REGION_VISIBLE);
                para_crop_visible.Set(1);
                para_crop.Set(1);
            }

            ts.Commit();

            selector.Close();
            return Result.Succeeded;
        }
	

实现效果如下:
在这里插入图片描述

更多Revit二开知识尽在唐僧课堂!QQ群:166072827

唐僧课堂BIM开发

发布了47 篇原创文章 · 获赞 51 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/binbinstrong/article/details/103416436