Revit二开–复制视图裁剪

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

  • 1 获取源视图的裁剪范围信息。
  • 2 将源视图的裁剪范围信息应用到目标视图
    代码已经集成到唐僧解瓦项目:
    唐僧解瓦项目 github地址:
    https://github.com/binbinstrong/tangsengjiewa
  /// <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

Revit二开--复制视图裁剪相关推荐

  1. Revit二开--批量修改视图范围(revit宏)

    Revit二开–批量修改视图范围 团队协作建模过程中,中心文件的样板视图范围不满足你的需求怎么改, 方法一创建一个样板,把所有的目标视图应用样板即可. 方法二使用revit宏命令 遍历文档中的视图 然 ...

  2. revit二开之过滤族(Family)

    一.背景 小伙伴们在做revit二开时,可能会有过滤族(Family)的需求,如何实现呢? 二.方法 通过以下代码,就可以过滤出指定FamilyName的族了. var famType = new F ...

  3. Revit二开——Revit族“连接件说明“参数的获取

    Revit二开--Revit族"连接件说明"参数的获取 Revit族"连接件说明"参数在项目文档中获取的方法: 1.连接件说明参数 如下图所示(参数值为 aaa ...

  4. Revit二开-设备连接(以消火栓为例)

    #Revit二开-设备连接(以消火栓为例) 在Revit建模过程中,系统自带的设备连接功能往往让我们对其又爱又恨,爱其自动连接,省掉了好几步操作,恨其傻缺无比,不解风情,不懂我们的想法和需要.例如消火 ...

  5. Revit二开——翻转喷头

    Revit二开--翻转喷头 Revit绘制喷淋时,有时需要翻转喷头调整喷头的方向,有的插件已经有此功能,不过是收费的,今天分享一下这个功能的实现思路及源代码. 实现过程: 1.通过喷头递归找到喷头连接 ...

  6. revit二开之关联族参数的实现

    一.背景 小伙伴们在revit二次开发时,可能需要将子族的参数关联到其所在的嵌套族,那么如何实现呢? 二.思路 先明白三件事: 1.子族在嵌套族中是以FamilyInstance的状态存在的 2.关联 ...

  7. revit二开之获取嵌套族中的子族(过滤族)

    欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 一.背景 小伙伴们在进行revit开发时,可能有过滤族的需求.这里的族(Family)不是族类型(Fam ...

  8. Revit二开 批量链接模型

    往往有时候提交项目需要整合各专业的模型,需要链接模型,模型太多不想一个个点,可以批量插入链接模型或重新载入模型,下面直接上代码: MagicTools批量链接功能: 载入模型用到 OpenFileDi ...

  9. Revit二开:控制视图的细线模式

    关闭细线模式: ThinLinesOptions.AreThinLinesEnabled = false 打开细线模式: ThinLinesOptions.AreThinLinesEnabled = ...

最新文章

  1. 同一订单类型用多个号码段
  2. 不简单的 SimpleDateFormat
  3. Boost asio 定时器
  4. iOS 高效的分页加载
  5. HTML5 Canvas像素处理常用接口
  6. .NET Core 2.0及.NET Standard 2.0
  7. UVa11542 - Square(gauss)
  8. GameSalad是html5游戏的搅局者吗?看中国式游戏
  9. hdu 2037 今年暑假不AC 贪心)
  10. http://www.jb51.net/article/84149.htm
  11. ERLANG recon使用示例
  12. apache服务器设置
  13. 类似直播App的向右滑动清屏功能
  14. 魅族便签,是否能成为国内便签应用的No.1?
  15. 巴黎出差及场测攻略V1.3
  16. navigation_plugin
  17. SecureCRT安装与配置(重点:心跳配置)
  18. android metal api,Metal 简述 API
  19. C#调用斑马打印机打印条码标签(含源码)(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
  20. Layui分页乱码,时间控件乱码

热门文章

  1. 为你的Android Studio更换好看的主题风格
  2. 数据库内容:园林中级支撑题库软件开发内容
  3. 计算机主机与外部交换的部件是,主机与外部设备的信息交换.PPT
  4. java8日期加减_java时间加减
  5. node爬取某app数据_使用NodeJs,实现数据抓取
  6. 如何修改oa服务器地址,oa服务器地址设置
  7. Android程序设计之音乐播放器实现
  8. HPC走出全新路线:《开放架构HPC技术与生态白皮书》注解
  9. HDU 3636-Dragon Balls
  10. 重测信度及常见评价方法