Revit二开--复制视图裁剪
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二开--复制视图裁剪相关推荐
- Revit二开--批量修改视图范围(revit宏)
Revit二开–批量修改视图范围 团队协作建模过程中,中心文件的样板视图范围不满足你的需求怎么改, 方法一创建一个样板,把所有的目标视图应用样板即可. 方法二使用revit宏命令 遍历文档中的视图 然 ...
- revit二开之过滤族(Family)
一.背景 小伙伴们在做revit二开时,可能会有过滤族(Family)的需求,如何实现呢? 二.方法 通过以下代码,就可以过滤出指定FamilyName的族了. var famType = new F ...
- Revit二开——Revit族“连接件说明“参数的获取
Revit二开--Revit族"连接件说明"参数的获取 Revit族"连接件说明"参数在项目文档中获取的方法: 1.连接件说明参数 如下图所示(参数值为 aaa ...
- Revit二开-设备连接(以消火栓为例)
#Revit二开-设备连接(以消火栓为例) 在Revit建模过程中,系统自带的设备连接功能往往让我们对其又爱又恨,爱其自动连接,省掉了好几步操作,恨其傻缺无比,不解风情,不懂我们的想法和需要.例如消火 ...
- Revit二开——翻转喷头
Revit二开--翻转喷头 Revit绘制喷淋时,有时需要翻转喷头调整喷头的方向,有的插件已经有此功能,不过是收费的,今天分享一下这个功能的实现思路及源代码. 实现过程: 1.通过喷头递归找到喷头连接 ...
- revit二开之关联族参数的实现
一.背景 小伙伴们在revit二次开发时,可能需要将子族的参数关联到其所在的嵌套族,那么如何实现呢? 二.思路 先明白三件事: 1.子族在嵌套族中是以FamilyInstance的状态存在的 2.关联 ...
- revit二开之获取嵌套族中的子族(过滤族)
欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 一.背景 小伙伴们在进行revit开发时,可能有过滤族的需求.这里的族(Family)不是族类型(Fam ...
- Revit二开 批量链接模型
往往有时候提交项目需要整合各专业的模型,需要链接模型,模型太多不想一个个点,可以批量插入链接模型或重新载入模型,下面直接上代码: MagicTools批量链接功能: 载入模型用到 OpenFileDi ...
- Revit二开:控制视图的细线模式
关闭细线模式: ThinLinesOptions.AreThinLinesEnabled = false 打开细线模式: ThinLinesOptions.AreThinLinesEnabled = ...
最新文章
- 同一订单类型用多个号码段
- 不简单的 SimpleDateFormat
- Boost asio 定时器
- iOS 高效的分页加载
- HTML5 Canvas像素处理常用接口
- .NET Core 2.0及.NET Standard 2.0
- UVa11542 - Square(gauss)
- GameSalad是html5游戏的搅局者吗?看中国式游戏
- hdu 2037 今年暑假不AC 贪心)
- http://www.jb51.net/article/84149.htm
- ERLANG recon使用示例
- apache服务器设置
- 类似直播App的向右滑动清屏功能
- 魅族便签,是否能成为国内便签应用的No.1?
- 巴黎出差及场测攻略V1.3
- navigation_plugin
- SecureCRT安装与配置(重点:心跳配置)
- android metal api,Metal 简述 API
- C#调用斑马打印机打印条码标签(含源码)(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
- Layui分页乱码,时间控件乱码