新建墙类型

取一个墙类型,复制并重命名修改参数

public static ElementId CreatWallType(Document doc, string wallTypeName, double width)
{ElementId wallTypeId = null;FilteredElementCollector Col = new FilteredElementCollector(doc);var familySymbolList = Col.OfClass(typeof(WallType)).ToList();WallType baseWallType = null;WallType newWallType = null;using (Transaction transaction = new Transaction(doc)){if (transaction.Start("创建新墙类型") == TransactionStatus.Started){try{//获取一个墙类型复制并重命名foreach (WallType item in familySymbolList){if (item.Category.Name == "墙" && item.FamilyName == "基本墙"&& item.Name == "常规 - 200mm"){baseWallType = item;continue;}}foreach (WallType item in familySymbolList){if (item.Name == wallTypeName){TaskDialog.Show("创建墙", "墙类型已经存在");transaction.Commit();}}newWallType = baseWallType.Duplicate(wallTypeName) as WallType;doc.Regenerate();//改变厚度CompoundStructure wallTypeStructure = newWallType.GetCompoundStructure();double wallThickness = wallTypeStructure.GetWidth();//得到厚度int endIndex = wallTypeStructure.GetLastCoreLayerIndex();//分层看情况wallTypeStructure.SetLayerWidth(endIndex, width/304.8);newWallType.SetCompoundStructure(wallTypeStructure);//修改后设置if (TransactionStatus.Committed != transaction.Commit()){TaskDialog.Show("创建新墙类型", "提交失败!");}}catch{transaction.RollBack();throw;}}}wallTypeId = newWallType.Id;return wallTypeId;
}

Revit二次开发——新建墙类型相关推荐

  1. 【Revit二次开发】“附加模块”中添加“外部工具”AND外部工具中添加新建插件

    写在前面,今天第一次接触Revit二次开发,要做的两件事情 第一,搭建环境(安装的是破解版2017的Revit软件.下载SDK2017的并安装.还有开发平台VS2015). 第二,首先就是运行Hell ...

  2. Revit二次开发学习笔记

    Revit二次开发学习笔记1 20220314: 概念:Application与Document 接口函数:IExternalCommand.ActiveView与Selection 20220316 ...

  3. Revit二次开发之绘制钢筋

    第一次在博客园上写东西,也不知道该写些什么,我想就写点最近项目到遇到的问题吧. 最近在做一个小项目,具体需求大概是在一个revit模型中的对应的楼板位置绘制钢筋. 由于刚接触Revit二次开发,之前也 ...

  4. Revit二次开发前期准备

    Revit二次开发前期准备 程序是什么:输入-处理-输出 给工程人员带来什么:1.解决重复性的工作2.提供创造性的工作3.互联互通 如何学习编程:跟学,以解决问题为目的,不懂就过,查阅API C#重点 ...

  5. C# Revit二次开发基础/核心编程---建筑建模-标高和轴网

    一.本节课程 C# Revit二次开发基础/核心编程---建筑建模-标高和轴网 二.本节要讲解的知识点 1.标高的高度.创建标高 2.轴网曲线.创建轴网 具体内容 1.标高 标高是有限水平平面,大多数 ...

  6. C# Revit二次开发基础/核心编程--- Application\Document\Transaction

    一.本节课程 C# Revit二次开发基础/核心编程--- Application\Document\Transaction 二.本节要讲解的知识点 Application\Document\Tran ...

  7. Revit二次开发—参数的读取与写入

    关注公众号及时获取文章更新 注:本文转自公众号:BIMCoder梁老师 一.前言 在Revit二次开发中,参数是非常重要的组成部分,那么我们该如何从构件获取参数并修改该参数. 二.方法 首先得到一个E ...

  8. Revit二次开发之批量修改族名称及族类型名称

    昨天是参加工作整一年的好日子,在这一年中逐步开始接触C#和Revit二次开发,困扰和BUG伴随着整个学习过程.由于Revit二次开发的资料和课程不多,很多情况下都是依靠博客.技术贴和QQ群里的大神等方 ...

  9. 【Revit 二次开发 】创建带箭头的文字注释(字体设置+引线箭头设置)

    此篇文章仅是自己的开发经验分享,不具备官方参考价值,如有不足,欢迎批评指正 开发目的: 创建一个带箭头的文字注释 字体为新宋体,大小2.5mm,宽度系数0.7,箭头为30度实心箭头 like this ...

  10. Revit二次开发——结构模型构件自动扣减

    **Revit二次开发实例--模型自动扣减** 本文章来源于微信公众号 '有福BIM' 有福BIM的第四篇原创文章! 阅读前望知悉: 我晓得各位读者和粉丝中不乏C#二开大佬 有福作为一个二开新手(编程 ...

最新文章

  1. Educational Codeforces Round 11C. Hard Process two pointer
  2. AI公开课:19.02.27周逵(投资人)《AI时代的投资逻辑》课堂笔记以及个人感悟
  3. 轮换html有虚宽出现,乒乓球理论考试复习资料
  4. Java记录 -6- 流程控制语句
  5. 让别人和自己看懂自己的程序代码?一文掌握Java单行多行、文档注释以及注解(Annotation)超详细的理解使用,IDEA注释注解快捷键和模板,提高程序代码更有可读性
  6. R-CNN学习笔记2:Rich feature hierarchies for accurate object detection and semantic segmentation
  7. 基于springboot的客栈(酒店)系统
  8. Android源码在线查看工具
  9. python判断手机号运营商_js判断手机号运营商的方法
  10. Android一个类似腾讯 QQ 背景图片可以上下左右移动的 imageview
  11. 2020-10-16 js实现模拟双色球摇号
  12. 上海航芯| BMS专题之BMS基础功能模块概述分享
  13. 摄像头8mm可以看多远_折叠屏、透明屏、卷曲屏、拼接屏、屏下摄像头...未来屏显的先机都在这里...
  14. 自己动手写一个strlen()函数
  15. 关于3G手机USIM卡的电话簿
  16. 什么软件可以图片转文字?建议收藏这些软件
  17. 达梦数据库服务器模式不匹配
  18. android访问相册、拍照
  19. eNodeB 伪基站辨识与优化
  20. C#实现类似百度网盘、360云盘在“我的电脑”磁盘驱动器

热门文章

  1. java 堆栈的声明_Java 堆栈
  2. Android对话框集合
  3. 微型计算机系统评课,微机课评课稿.doc
  4. 操作系统原理与Linux实践教程申丰山版习题2的2-3答案
  5. 高中计算机教案excel,高一信息技术Excel教案.doc
  6. 工业控制系统的体系架构
  7. Unity3D 虚拟现实开发(一)
  8. 惠普笔记本安装Linux 7及NVIDIA Quandro P600显卡驱动
  9. 九宫格日记-2013年02月23日
  10. 思科路由器配置命令(四)