• 1.63 MB
  • 64页

桩基工程BIM应用研究

  • 64页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'分类号______________________________密级______________________________UDC______________________________编号______________________________硕士学位论文桩基工程BIM应用研究学位申请人:龙伟学科专业:结构工程指导教师:张维锦副教授答辩日期: 独创性声明本人郑重声明:所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表和撰写的研究成果,也不包含为获得华东交通大学或其他教育机构的学位或证书所使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。本人签名_______________日期____________关于论文使用授权的说明本人完全了解华东交通大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅。学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。保密的论文在解密后遵守此规定,本论文无保密内容。本人签名____________导师签名__________日期___________ 摘要桩基工程BIM应用研究摘要建筑信息模型(BuildingInformationModeling,BIM)是一种新型数字化建模技术,是建筑业第二次革命,它推动建筑业发展进入新时期。BIM集成建筑工程中各项相关数据信息,通过数字信息仿真模拟展现出更加直观、真实三维效果,为建筑设计和项目管理提供信息完备性、协调性、一致性、关联性、可视化等优点,它实现建筑整个全生命周期数据信息共享、交互、优化、实效、管理。BIM应用极大提升设计效率和质量、缩短工期、降低项目成本、提高建筑质量。Revit作为一款三维参数化建模软件专为建筑信息模型而构建,是实现BIM技术的一个平台。目前在Revit平台通过读取柱内力图纸中柱轴力、剪力、弯矩进行桩基设计与计算,并根据计算结果来实现自动生成桩基模型的研究还不够完善,因此本课题研究具有实际性和价值性。基于Revit平台,提出一种更高效、更快捷的自动生成桩基三维模型以及桩钢筋的研究方法。本文基于Revit平台,对其进行二次开发,在VisualStudio2013(C#)编程语言中编译程序算法来实现桩基BIM自动生成。首先,借助第三方FlexCell表格控件,开发单桩承载力特征值计算表,在表中可自动计算桩侧摩阻力、桩端阻力、桩长以及不同直径对应单桩承载力特征值;其次开发桩基设计与计算程序;最后运行程序,在Revit中框选柱来读取柱内力进行桩基计算,并根据计算结果自动生成桩基三维模型和桩钢筋。通过对实际工程不断测试分析,结果表明此方法切实可行,实现基于Revit平台自动生成桩基三维模型以及桩钢筋,达到预期效果。最后,本文对桩基模型设计研究过程中出现的问题提出相应整改措施,及时进行反馈和总结,并提出存在一些不足以及进一步研究方向。关键词:BIM,桩基,Revit二次开发,RevitAPI,柱内力,钢筋I AbstractRESEARCHOFPILEFOUNDATIONENGINEERINGBIMABSTRACTBuildinginformationmodel(BIM)isanewdigitalmodelingtechnologyandsecondrevolutionoftheconstructionindustry,whichpromotesthedevelopmentoftheconstructionindustryintothenewperiod.BIMintegratesallrelevantdatainformationinbuildingengineering,showingmoreintuitiveandreal3Deffectthroughdigitalinformationsimulation,providinginformationintegrity,coordination,consistency,relevanceandvisualizationforarchitecturaldesignandprojectmanagement.Itrealizesthewholelifecycledatasharing,interaction,optimization,effectivenessandmanagement.TheapplicationofBIMgreatlyimprovesdesignefficiencyandquality,shortensconstructionperiod,reducesprojectcost,improvesconstructionquality.Asathree-dimensionalparametricbuildingsoftware,Revitisbuiltforbuildinginformationmodel,andisaplatformtorealizeBIMtechnology.Atpresent,theautomaticgenerationofpilefoundationmodelintheRevitplatformisrelativelysmall,sothistopichastheresearchpracticalityandvalue.Thepaperpresentsamoreefficientmethodforgeneratingpilemodelandpilerebar.ThepaperismainlybasedonRevitplatformforfurtherdevelopment.ThecompileriscompiledtoautomaticallygeneratetheBIMmodelofthepilefoundationinVisualStudio.Firstly,byusingtheFlexCelltablecontrol,calculationtableofthecharacteristicvalueofthebearingcapacityofsinglepileisdeveloped.Calculatepilesidefrictionresistance,piletipresistance,pilelengthandsinglepilebearingcapacitycharacteristicvalue.Secondly,thedesignandcalculationprogramalgorithmofthepilefoundationarecompiled.Finally,thethreedimensionalmodelofpilefoundationandthepilereinforcementareautomaticallygeneratedbytherunningprogram.Bytestingtheactualproject,theresultsshowthatmethodisfeasibleandachievedexpectedeffect.Finally,thispaperputsforwardthecorrespondingcorrectivemeasuresfortheproblemsinthedesignprocessofpilefoundationmodelinRevit,timelyfeedbackandsummary,andputsforwardsomeshortcomingsandfurtherresearchdirection.KeyWords:BIM,Pilefoundation,FurtherdeveloponRevit,RevitAPI,Columninternalforce,RebarII 目录目录主要符号说明.............................................................................................................................I第一章绪论.............................................................................................................................11.1课题研究背景及意义................................................................................................11.2国内外相关研究状况................................................................................................21.2.1BIM技术在建筑中应用................................................................................21.2.2工程图纸识别算法.........................................................................................31.2.3Revit二次开发研究现状...............................................................................51.3本文研究主要内容....................................................................................................61.4本文组织安排............................................................................................................6第二章Revit二次开发...........................................................................................................72.1Revit简介..................................................................................................................72.2Revit二次开发简介.................................................................................................82.2.1开发工具.........................................................................................................82.2.2Revit二次开发基本方法...............................................................................82.2.3Revit应用程序接口.......................................................................................92.2.4RevitAPI函数..............................................................................................102.3本章小结..................................................................................................................12第三章Revit桩基族生成算法.............................................................................................133.1Revit族....................................................................................................................133.1.1族分类...........................................................................................................133.1.2族类别和族类型...........................................................................................153.1.3族参数...........................................................................................................153.2桩基族......................................................................................................................163.2.1创建桩基族...................................................................................................163.2.2创建参数.......................................................................................................193.2.3载入桩基族...................................................................................................213.3本章小结..................................................................................................................23第四章单桩承载力特征值计算表开发...............................................................................244.1FlexCell表格控件简介...........................................................................................244.2单桩承载力特征值计算表......................................................................................244.2.1创建表格窗体...............................................................................................244.2.2表格中添加数值和字符...............................................................................25III 目录4.2.3设置单元格类型和添加下拉选项列表.......................................................254.2.4桩长、单桩承载力特征值计算以及编译算法...........................................264.2.5生成单桩承载力特征值计算表...................................................................284.3本章小结..................................................................................................................29第五章桩基自动生成...........................................................................................................305.1CAD图纸预处理....................................................................................................305.1.1线处理...........................................................................................................305.1.2点处理...........................................................................................................315.1.3字符处理.......................................................................................................335.2桩基生成算法..........................................................................................................335.2.1生成桩基的基本流程...................................................................................335.2.2框选读取柱内力...........................................................................................345.2.3桩基定位点计算...........................................................................................355.2.4桩基设计与计算...........................................................................................365.2.5生成桩基三维模型.......................................................................................375.3生成桩钢筋..............................................................................................................405.3.1桩配筋计算...................................................................................................405.3.2过滤钢筋类型、钢筋形状及钢筋弯钩类型...............................................415.3.3生成钢筋API方法......................................................................................415.3.4纵筋和箍筋生成...........................................................................................425.4本章小结..................................................................................................................46第六章案例分析与讨论.......................................................................................................476.1案例一......................................................................................................................476.2案例二......................................................................................................................49第七章总结与展望...............................................................................................................517.1总结..........................................................................................................................517.2展望..........................................................................................................................51参考文献...................................................................................................................................53个人简历在读期间发表的学术论文...................................................................................56致谢...........................................................................................................................................57IV 主要符号说明主要符号说明Ra单桩竖向承载力特征值;Quk单桩竖向极限承载力标准值;Ap桩底端横截面面积;n桩数量;c保护层厚度;li桩周第i层土的厚度;lineList存储点链表;lineList.count链表中元素个数;rebarcurveList存储钢筋类型链表;rebarcurveList1存储钢筋曲线链表;lineListPoint4处理后得到新的点存储在此链表;DealTwoPoint1判断点与点位置关系函数;DealPoint2处理点与点位置关系函数;CreateExtrusion创建拉伸实体函数;CreateSweepBlend创建放样融合实体函数;locationPoint1计算桩定位点函数;I 第一章绪论第一章绪论1.1课题研究背景及意义随着现代科学信息技术不断蓬勃发展,尤其是计算机图形学和人工智能技术高速发展,设计师们可以借助计算机强大功能系统帮助他们提高建筑设计多样性、创新性、实用性、价值性,真正实现计算机辅助设计价值。计算机辅助设计技术在土木建筑领域应用越来越广泛,已经逐步取代传统手工绘图设计方式,极大提高设计效率、减少工作量、提高设计质量。建筑信息模型(BIM)技术产生和发展给建筑界带来一场巨大创新理念和思维方式的革命,促进我国建筑业高速发展,推动建筑业进入BIM新时代。建筑信息模型技术是现代建筑业第二次革命。建筑信息模型技术是从根本上解决传统建筑中各个阶段之间出现信息孤岛问题,从而实现整个建筑工程全生命周期中协同设计,对建筑数据信息进行有效的管理与应用,保障工程质量,促进项目顺利实施。BIM技术是近几年出现的数字化建模新技术,不仅能缩短工程项目设计周期,而且能减少因设计变更、冲突、错漏、返工等所造成工期、数据信息、资源和经济上的损失,让建筑师、工程师、建筑商和业主从全方位了解整个[1]项目各个阶段信息,提高项目质量和效率。BIM技术集成了建筑项目中各种相关工程数据信息模型,是对建筑物物理和功能特性数字表达。BIM技术是推动建筑业信息技术达到更高层次新技术,它建立涵盖整个建筑工程项目生命周期的数据库信息,实现建筑[2]工程项目中各阶段以及不同专业之间信息集成、互换、共享。BIM数据库具有良好的存储能力,数据库用来储存和处理建筑模型信息,提高建筑信息模型存储的安全性和可靠性。BIM新理念技术直接运用到建筑项目中,解决工程项目在各软件间信息互换和共享问题,使各技术人员能够准确了解建筑工程信息并作出明智决策,为各阶段协同工作打下夯实基础。国际协同联盟(InternationalAllianceforInteroperability)为建筑业发布建筑产品数据表达的标准,即IFC标准。IFC致力于建立整个工程全生命周期各阶段信息共享和交换,它为BIM数据共享和交换提供标准,这使BIM技术发展更加成熟和应用更为广泛,为本课题研究提供技术保障。BIM技术在建筑业应用越来越广泛,使建筑设计以及整个工程项目质量和效率得到很大提高。BIM在整个建筑设计周期都起到巨大作用,提高设计工作效率,增强各专业设计人员之间协同设计、减少误差、节约项目成本,发挥BIM在整个建筑生命周期的价值。当今应用最多BIM设计软件是Revit。Revit软件是专为BIM构件的三维建模软件,也是我国建筑业使用最为广泛的软件之一。它功能强大、操作简单、满足复杂多样化建模需求,而且RevitAPI函数功能强大,有利于第三方进行二次开发,并且可实现不同专业间信息关联和共享。1 第一章绪论本课题主要结合BIM技术特点,基于Revit平台进行二次开发,深入研究CAD图纸中柱内力信息,应用RevitAPI函数并且通过编译程序来识别读取柱内力实现自动生成桩基模型。通过参数设计,计算钢筋定位点,对桩钢筋进行优化配置。在Revit中把桩以及钢筋图元信息存储起来,方便对桩基模型信息进行互换和共享,可以导出桩基明细表并确定桩基设计最优方案。目前在Revit中对于通过读取柱内力来自动生成桩基模型研究相对较少,因此研究基于Revit平台桩基BIM模型自动生成具有实际性和价值性,这对于推动BIM技术发展以及在实际工程应用具有重要意义。1.2国内外相关研究状况1.2.1BIM技术在建筑中应用建筑信息模型(BuildingInformationModeling)是以三维数字技术作为基础,集成工程中各种数据信息进行建筑三维模型建立,通过数字信息仿真模拟建筑物所具有真实信息。BIM技术是一个完整、丰富建筑信息化协作平台,在建筑信息化领域逐步受到广泛关注和认可。BIM理念实现需要一个兼具广度和深度的标准体系,才能实现工程各阶段之间信息共享互换。BIM是集计算机辅助设计与制造于一体的计算机集成制造系统理[3]念和基于产品数据管理PDM与STEP标准的产品信息模型。BIM技术是以建筑项目中各种相关数据信息作为基础,进而对数据模型信息进行整合,实现对建筑工程项目设施实体与功能特性数字化表达。标准和完整的建筑信息模型能够使建筑项目生命周期在各个不同阶段的数据、过程和资源得到共享和关联,可以让建筑项目建设方与参与方进[4]行交流和使用。建筑信息模型具有信息集成、协同管理、相同项目数据源功能,可解决分布式以及不同工程数据之间一致性和全生命周期信息共享问题,支持项目生命周期中所有相关工程信息创建、管理、共享以及互换。随着BIM技术高速发展,建筑行业发展必将进入一个全新的时期。BIM应用在欧美发达国家已经全面推进,美国国家标准与技术研究院基于IFC标准开始制定美国国家BIM标准,已经形成了一个国家BIM标准体系。2003年,美国总务署(GSA)发布3D-4D-BIM计划,对BIM技术试点应用。美国陆军工程兵团(USACE)于2006年发布为期15年的BIM发展路线规划,2010年发布发布了适用于军事建筑项目的分别基于Autodesk平台和Bentley平台的BIM实施计划,并着手研究制定适用于民事建筑项目的BIM实施计划。bSa于2007年12月发布了NBIMS的第一版的第一部分,2012年5月,发布NBIMS的第二版的内容,也被称为是第一份基于共识的BIM标准。英国于2010年NBS组织了全国性的BIM调研,2012年,针对政府项目强制性的BIM标准。芬兰于2007年,发布建筑行业的BIM要求,规范设计阶段BIM应用。2009年,日本建筑工程各行业开始使用BIM。2012年,日本发布国家层面BIM指南,为BIM应用的参考性文件。2000年,新加坡在发展CORENET项目时,引入BIM观念。2 第一章绪论[5-10]2011年,新加坡发布发布BIM发展路线规划,提出BIM发展的阶段性目标。加拿大BIM学会于2010年4月发表题为《BIM工具及标准的环境审视》调资报告,其中对BIM相关软件做了一次比较完整的统计,并将所提及的软件与建筑生命周期的“设计、施工、运营”三个阶段进行了对应。韩国国土海洋部于2010年1月成发布了本国《建筑领域BIM应用指南》,该指南详细说明业主、设计师、施工单位等釆用BIM技术时[11]必备的要素条件和方法等。国际标准化组织(ISO)成立专门委员会进行建筑信息领域标准化研究工作,陆续发布了《ISO29481-1:2010BIM信息交付手册》、《ISO/DTS12911[12]BIM指南提供框架》等国际BIM标准。BIM数字化信息技术是对建设项目设计、建造以及运营全过程进行有效管理、优化的方法和工具,不仅是建模,而且可以协同建筑项目全生命周期各阶段、各专业之间协同设计的平台。BIM的实施可以让各专业人员之间都能参与到项目建设中,实现无障碍交流、减少设计变更次数、减少空间布置冲突,提高整体工程效益。我国对BIM研究起步相对较晚,但我国相当关注BIM发展与应用。在十五期间,《建设领域信息化工作基本要点》的发布,首次提到BIM概念,并组织“建筑业信息化关键技术研究”等科技项目;2007年,《建筑对象数字化定义》颁布,标志着BIM技术由概念阶段发展到应用阶段;2011年,《2011-2015年建筑业信息化发展纲要》颁布,[13-15]标志着BIM技术真正成为我国建筑信息化的主线。2012年9月,由清华大学BIM课题组,国家企业信息化应用支撑软件工程技术研究中心主办的第一届CBIMS论坛在北京正式开坛,此次论坛主题就是向社会发布清华大学BIM课题组继2011年12月正式发布并出版的《中国建筑信息模型标准框架研究》(CBIMS)之后又一研究成果——[16-20]《设计企业BIM标准实施指南》。2011年6月,住房和城乡建设部颁发《2011-2015年建筑信息化发展纲要》,明确将加快建筑信息模型(BIM),基于网络协同工作等新技术在工程中应用,高度重视信息化对建筑业发展的推动作用,不断完善信息化标准建[21-23]设,促进我国自主知识产权软件产业化发展。BIM技术应用使建筑项目在规划、设计、建造、管理、运营,以及资产重组或处理的整个过程中实现无损传递,大幅度提升设计与施工质量。基于BIM平台,在不同部门、不同专业间可实现协调和配合设计,提高设计质量,减少设计冲突和错误,缩短设计周期,实现社会资本最优化。从长远角度看,应用BIM技术可以可持续地节省费用,在设计和施工阶段之后亦可以惠及将来的建筑物,对未来建筑项目运作、维护和设施管[24-29]理产生潜移默化影响。BIM是建筑技术与核心业务信息化,是一系列先进信息技术集大成,它成功地促使建筑行业各领域走向更高层次变革和发展。随着科学技术发展愈趋成熟,BIM技术全面应用将引发建筑产业革命的新浪潮,对建筑业发展产生深远重要的影响。1.2.2工程图纸识别算法现在工程图纸越来越多,而且大多设计都是在原有图纸基础上进行,因此如何在已3 第一章绪论有图纸基础上进行高效、快速设计显得尤为重要。工程图纸主要有两部分组成:一是图元信息,由简单几何图形交错组合而成;二是字符串信息,用于表示构件尺寸大小以及提供各种字符注释信息。工程图纸识别主要思想就是利用扫描仪将工程图纸计入计算机或者以图像文件在存储介质中存储起来,其次对扫描图像进行预处理,包括噪声滤波、图形、符号、倾斜校正、二值化等。在工程图纸中最基本图元信息有直线、圆弧、字符等,通过对图纸识别和转换来获取组成对象基本图元矢量信息,然后根据这些信息映射来得到要表达构件模型。图纸识别技术已经广泛应用在建筑、交通、机械、电气、消防通信等领域。目前,工程图纸信息识别提取研究发展已经成熟,工程图纸识别主要分为交互式识别转换、半自动识别转换和自动识别转换。交互式识别转换是软件系统提供跟踪识别方式,将工程图纸中的图元信息从光栅格式转换为矢量格式;半自动识别转换通过预定义[30]规则来解释图形中可能实体集。传统基于拓扑结构图形对象识别方法首先确定节点区域并提取图段,然后在此基础上获取图像中图形拓扑信息和几何约束信息,最后以图形拓扑信息和几何约束信息为基础,对图形局部细节进行分析与识别,实现图像矢量化。工程图纸识别方法关键矢量化处理,矢量化实质就是将光栅数据转换成图形矢量数据过程,并保持相应拓扑结构关系,它完成从图形的图像表示到符号的转变,使图纸数据量大大压缩。当前矢量化主要有基于细化方法、基于网状模式方法、基于Hough变换方法、基于轮廓线跟踪方法和基于稀疏像素方法。工程图纸存在一个现象就是图中线段相交而形成交叉点现象,交叉点信息包含相交图线数量和类型信息,从而反映图线矢量化跟踪[31-33]方向信息,是有效识别和精准提取扫描图形矢量化关键所在。矢量化方法根据厚度将位图分为不同的层,根据随机采样的方法绘制、分割每层,从而简化识别结果。工程图纸文本信息提取和处理是图纸信息管理系统重要构成部分,也是近些年计算[34]机辅助设计技术重点研究方向。杨若瑜提出根据模仿读图者的习惯进行相关研究,利用有关构图知识对建筑图中图形、字符进行语义分析,以便识别建筑对象、理解建筑物整体结构的思路,并提出了一种建筑结构图语义制导的建筑图自动重建方法;该文提出的方法则是先将已经过滤语义识别构件线条加以标识,而对留下的未被标识线条经相邻相近规则组合后与剖切符指示的附件图形进行必要性匹配,满足必要性后再进行相关充[35-36]分性匹配。路通提出一种结构构件三维信息渐进式整合和规范化重组方法,将各种示意图形元素、各种表达方式和分散在多张二维图中三维结构构件信息进行整合和规范化,得到具有严格几何对应关系规范化投影图的同时,从构件属性标注中提取三维重建所需隐含语义信息,在领域知识和经验的辅助下进一步应用到规范化投影图,最后利用基于投影匹配方法在规范化后前视、侧视和水平投影图基础上完成精确三维重建。工程图纸识别与三维重建过程中主要包含两大方面问题。首先是建筑平面图纸识别,这部分内容主要是对建筑图纸内容进行信息提取,识别出所有二维图元所代表建筑对象和其它辅助信息;其次是对建筑模型重建,主要是根据上一个步骤中提取出的信息4 第一章绪论来完成建筑对象三维重建。建筑对象识别主要采用图形识别技术,所谓图形识别技术就是通过理解建筑图纸中几何图元和其它字符串信息,以及相互之间逻辑关系,最终完成[37-38]三维重建。1.2.3Revit二次开发研究现状Revit是Autodesk公司专为建筑信息模型(BIM)构建的一系列建模软件,可帮助建筑设计师设计、建造和维护质量更好、能效更高、更美观建筑。Revit软件有三个系列产品:RevitArchitecture、RevitStructure、RevitMEP,这三个系列产品分别是建筑、结构和建筑设备(水、暖、电设备)各个专业领域,它们共同构成一个完整的基于BIM[39]设计体系。Revit软件中建筑图元是使用参数化技术,参数化修改引擎提供参数化变更技术,让每一个构件都可以通过一个变更传播引擎互相关联。参数化修改引擎使任何视图下所发生变更都是参数的、双向传播到所有视图中,得以保证图纸一致性。Revit具有很好开放性和易操作性,它以三维模型为基础,自动生成用户所需要建筑施工图纸。Revit从概念到方案,完成整个建筑设计过程,易学易用,已经被越来越多建筑行业人员所认可,而且也是应用最为广泛三维参数化设计软件。Revit软件是目前最先进建筑设计和文档系统,是专门为BIM而开发的,它可以实现建筑设计的整个生命周期的数据相互衔接和信息传递。Revit通过应用存储在数据库中数据信息来创建三维建筑模型,可以生成二维视图和管理大量相关的非图形工程项目数据。Revit中基本元素不再是像CAD图纸中简单的点、线、面、图块等基本几何元素,而是墙、楼梯、柱、梁等建筑对象,是用建模语言来描述建筑几何信息,它是专为建筑信息模型而开发建模软件。Revit软件可以准确把所有建筑、结构等构件的尺寸、几何形状和功能信息反应出来,可以从不同角度分析、观察,使得建筑设计和结构之间相互信息关系比较完整。Revit系列软件进入国内建筑行业时间较短,而且Revit二次开发工具较少,因此相对于AutoCAD平台丰富二次开发工具,Revit就显得在某些功能上只能以手工的方式来重复性的实现。但随着计算技术不断发展,Revit优势越来越明显,可以快速实现“三维协同设计”,即在三维视图状态中,可以与建筑、结构、水暖电等几个不同专业模块形成完整BIM模型。在模型显示效果和现在技术发展方向,以及BIM要求上来讲,Revit[40]都具有普通CAD所无法比拟优势。Revit定制开发是在其开放的API基础上,使用计算机语言对软件操作界面、业务[41]流程以及数据库访问进行扩展,最终实现软件二次开发。Revit作为一种新型BIM平台,它全面准确的建筑数据和强大建模工具为其发展打下坚实基础,RevitAPI强大功能函数使各国第三方软件都可以在Revit原有基础上对其进行二次开发,加强整个建筑[42-44]项目中各个团队之间相互合作,也满足各行各业不同地区之间设计需求。目前,Revit二次开发逐渐完善,对于墙、柱、梁、窗、楼梯、基础等建筑构件更是能快速自动生成,5 第一章绪论然而在基于Revit平台,通过编译程序算法读取柱内力进行桩基设计计算(即对图纸中柱内力字符注释进行读取)来实现自动生成桩基模型还是不够完善。本文将重点研究基于Revit平台实现自动生成桩基BIM模型方法。1.3本文研究主要内容本文根据设计院给出柱内力CAD图纸为基础,以图纸中柱内力为研究对象,基于Revit平台进行二次开发,应用VisualStudio2013(C#)编程语言开发桩基设计与计算程序,通过执行程序来读取柱内力进行桩基计算以及验算,并根据计算结果自动生成桩基三维模型和桩钢筋。本文研究主要内容如下:1.基于Revit平台,对设计院提供柱内力图纸信息进行处理,例如对柱线段、柱内力字符注释等信息进行处理,以及识别读取柱内力字符方法研究。2.应用C#编程语言和RevitAPI功能函数开发桩基族,向其中添加参数、材质等信息,并将桩基族载入到Revit目标项目中。3.开发单桩承载力特征值计算表,在表中输入相应荷载信息即可自动计算出桩侧摩阻力、桩端阻力、桩长以及单桩承载力特征值。4.分析桩基设计规范和构造要求,编译桩基设计与计算的程序算法,基于Revit平台开发出自动生成桩基三维模型。5.桩配筋设计计算以及自动生成桩钢筋三维模型。通过对实际工程进行测试分析,最终实现自动生成桩基三维模型以及桩钢筋。1.4本文组织安排本文主要通过读取柱内力CAD图纸中柱内力进行桩基设计计算,并自动生成桩基三维模型。从实用性、高效性、准确性角度出发,基于Revit平台研究桩基三维模型自动生成设计方法。全文分为七章,除本章外,其余各章安排如下:第二章:主要介绍Revit以及Revit二次开发基本知识。第三章:桩基族生成算法,主要介绍螺旋钻孔灌注桩族和夯扩桩族生成算法。第四章:开发单桩承载力特征值计算表,主要介绍单桩承载力特征值计算表创建方法,以及桩长、桩侧摩阻力、桩端阻力、单桩承载力特征值如何在表中实现自动计算。第五章:重点阐述自动生成桩基三维模型以及桩钢筋方法。第六章:案例分析与讨论。第七章:总结与展望,对本文进行归纳总结,并对今后需要研究的工作提出展望。6 第二章Revit二次开发第二章Revit二次开发2.1Revit简介Revit是Autodesk公司一套系列软件名称,它结合建筑设计(AutodeskRevitArchitecture)、MEP工程设计(AutodeskRevitMEP)和结构工程(AutodeskRevit[45]Structure)软件功能,用于建筑信息模型结构设计平台。Revit以三维设计为基础,直接采用墙体、柱、梁、楼板、屋顶、楼梯等构件作为命令对象,快速创建三维建筑模型,并且在创建模型同时自动生成所有平面、立面、剖面和明细表等视图。Revit方便、快捷、高效、准确建模让设计人员节省大量绘制和处理图纸时间,提高工作效率。建筑设计(AutodeskRevitArchitecture)主要是为广大建筑设计师开发的三维参数化建筑设计软件。Revit软件强大建筑设计工具可以帮助建筑师捕捉和分析最具有创新的设计构思,快速表达设计意图以及保持从设计到建筑各个阶段的一致性,最终完成三维建筑模型创建。RevitArchitecture概念设计功能提供易于使用的自由形状建模和参数化设计工具,可自由绘制草图和快速创建三维形状,实现将概念形状转换成全功能建筑[46]设计。建筑设计过程中所有设计工作都在同一个直观的环境中完成,所有变更都会在相关设计与文档中自动更新,实现设计协调一致性。随着建筑设计不断推进,它能够围绕各种图形形状自动构建参数化框架,提高创新控制力、精确性和灵活性,让设计师可以自由地设计,高效地完成作品。AutodeskRevitMEP是通过数据驱动的系统建模和设计来优化建筑设备与管道,它向暖通、电气和给排水工程师提供精确设计、分析和文档等智能设计工具,保障建筑系统设计的更加高效和准确。RevitMEP采用整体设计理念,从整座建筑物的角度来处理信息,将给排水、暖通和电气系统与建筑模型关联起来,能够让设备专业设计团队之间以及与建筑师和结构工程师之间工作达到无缝协作。MEP设计师可以使用软件模型中原有数据信息来实现更为精确地建筑系统设计,也可以借助参数化构件使设计意图表达更细化。RevitMEP模型信息都存储在一个位置,并且数据信息具有双向关联性,任何信息变更都可以同时有效地更新到整个模型中,保证建筑数据信息协调和一致。AutodeskRevitStructure专为结构工程师和设计师提供设计工具,可以更加精确地设计和建造高效的建筑结构。RevitStructure将多材质的物理模型与独立、可编辑的分析模型进行集成,实现高效结构分析,并为常用的结构分析软件提供双向链接。它可帮助工作人员在施工前对建筑结构进行更精确的可视化,从而在设计早期阶段制定更加明智的决策。RevitStructure具有高度参数化、三维实体以及各视图之间一致关联特性,实现一处修改处处修改,快速生成结构模型,缩短设计周期,提高设计质量。RevitStructure还提供BIM所拥有的优势,可帮助工程师提高编制结构设计文档的多专业协7 第二章Revit二次开发[47]调能力,最大程度地减少失误,加强工程团队与建筑团队之间的相互合作。2.2Revit二次开发简介Revit二次开发,通俗的讲就是在现有的软件基础上对其进行定制修改、功能扩充[48]并用以提高和完善软件功能,实现用户想要的功能,使软件能够更好的满足用户需求。这种拓展利用软件API来实现拓展功能,提高其工作质量和效率,一般不会改变原有系[49-50]统的内核。Revit二次开发就是利用Revit提供的API接口,通过程序代码实现对构件个性化功能制定。2.2.1开发工具Revit二次开发是基于.NET4.5环境运行,.NET4.5提供托管执行环境、简单的开发和部署以及与各种编程语言(包括VB和C#)的集成。VisualStudio2013为开发团队提供需要的解决方案,帮助用户创造新式应用程序或将现有应用程序转变为新式应用程序,同时与所需的服务和数据保持联系,因此本文中使用的是VisualStudio2013版本编程语言进行二次开发。RevitSDK包含RevitAPI帮助文档以及带源代码例子,专为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件开发工具集合。RevitSDK支持VB、C++和C#开发编程语言,它为多个程序设计编程语言提供应用程序接口API的一些文件,主要用于调试已经编写完成的程序。本文下载使用的是RevitSDK2015。RevitLookup是Autodesk开发的插件,不用写代码就可以直观的看到API对象,RevitLookup在二次开发中经常用到,通过它可以非常方便查找某对象元素类型、参数、坐标值、继承等属性关系。AddinManager也是Autodesk的官方提供插件,当程序人员编好程序算法后,打开Revit软件,在“附加模块”下外部工具中找到AddinManager,用来加载Revit插件。AddinManager优点就是不用重启Revit就可以修改插件程序代码并再次加载和运行。2.2.2Revit二次开发基本方法VisualStudio是微软公司开发工具包系列产品,它是一个基本完整的开发工具集,也是目前在Windows平台应用最为广泛的程序集成开发环境。VisualStudio是基于.NETFramework框架,是Microsoft为开发应用程序而创建的一个平台,用于开发桌面应用程序、APS.NETWeb应用程序、WebService、XML,为Revit二次开发提供强大支持。Csharp(C#)是一种面向对象的、运行于.NETFramework之上的,用于创建应用程序的一种高级程序设计语言。本文中使用VisualStudio2013集成开发环境中C#编程语言。启动VisualStudio2013,添加引用RevitAPI.dll、RevitAPIUI.dll、引用命名空间、定义类,然后编写代码。RevitAPI.dll包含Revit软件提供的图形处理接口,RevitAPIUI.dll8 第二章Revit二次开发包含二次开发需要用到的图形界面接口。Revit二次开发流程如图2-1所示。启动VisualStudio2013创建类库项目添加引用:RevitAPI.dll、RevitAPIUI.dll等等编写代码程序:类定义和建模代码编写注册插件:创建addin文件,修改路径、类名调试程序:设置断点,启动Revit跟踪程序执行过程否是否成功是完成插件图2-1Revit二次开发流程图Fig.2-1Revitdevelopmentflow-processdiagram2.2.3Revit应用程序接口RevitAPI是Autodesk公司推出供开发者在Revit中进行功能开发的应用程序接口。Revit本身提供强大且又丰富的API函数供用户进行开发,提供应用程序编程接口(API:ApplicationProgrammingInterface),外部程序可通过API操纵和访问Revit。Revit提供应用程序开发接口(API)是.NET类型,只要支持.NETFramework语言都是可以用。目前Revit处于不断发展阶段,每年都有新的API被开放、旧的API被修改,而BIM设计软件为了支持其所有版本,不得不对API进行二次封装,这样杜绝应用层对RevitAPI的依赖,增强软件的可扩展性、兼容性。我们可以根据提供定义好的API接9 第二章Revit二次开发口,在接口实现层通过接口集成方式,将接口功能实现供接口使用者使用。接口实现类根本不需要与接口使用类打交道,只要利用提供的API实现该接口就行。Revit开发需要遵循一些设计模式,这些模式有利于系统的扩展和稳定,API封装使用的是开放封闭模式和依赖倒转设计模式。开放封闭模式主要利用接口编程,实现软件封装变化,降低耦合的目标,其依赖于相对稳定的接口,因此对修改封闭,实现接口,利用多态或继承改变其固有行为,因此是对扩展开放。依赖倒转设计模式是抽象的,不依赖于具体,具体应该依赖于抽象是其核心思想,通过依赖抽象能有效降低层与层、模块与模块之间耦[51-53]合度。RevitAPI可用于VB.NET、C#和C++/CLI等任何与.NET兼容的编程语言进行编程,用户可以根据自己的插件通过RevitAPI来访问和扩展Revit实现特殊的接口。2.2.4RevitAPI函数RevitAPI是Revit软件专门为用户提供的应用程序接口,方便用户以程序开发的方式在Revit平台上自定义或扩充相应的功能。RevitAPI从最初的基本功能逐步扩展成庞大的体系,用户通过编程自定义,不仅可以实现Revit平台上原有的大部分功能,而且可以体验一些通过界面交互方式无法完成的工作。RevitAPI通过编程方式完成一些数据量大、规律性强的建模工作,显著提高用户建模效率。借助API,第三方软件供应商[54]可以扩充Revit系列软件功能,提供在建筑生命周期中所需要的解决方案。我们使用RevitAPI可以实现:自动创建项目文件以及高效项目文件输出;访问模型图形数据和参数数据;创建、编辑、删除模型图元(如墙、楼层、柱、梁等);创建自动执行重复任务的插件;将应用程序集成到基于Revit各层产品;执行任何种类BIM应用过程中的所有分析。RevitAPI强大功能为二次开发提供保障,几乎所有操作都可以由API来完成。外部命令(IExternalCommand)就是开发人员通过它来添加自己的应用,也是开发人员在Revit中执行命令时必须继承的IExternalCommand接口。外部命令接口是一个抽象函数Execute,重载这个函数来实现外部命令并且Execute函数将作为外部命令的主函数被调用。Execute函数有三个参数:输入参数(ExternalCommandData),包含外部命令所需的Application以及一些视图引用,Revit所有的数据也都可以通过这个参数直接或间接取到;输出参数Message(String),主要用来返回程序代码执行过程中的错误信息,当输出参数作用于整个外部命令的执行过程时,用户可以在外部命令执行过程中的任何时候给这个信息设值或者追加信息;输出参数elements(ElementSet),当外部命令返回失败或者取消并且message参数不为空值时,模型中错误信息将被高亮显示。本文生成桩基模型程序均是通过外部命令实现。外部应用(IExternalApplication)同样可以实现添加自己应用,也是RevitAPI程序接口。ExternalApplication接口有两个抽象函数OnStartup和OnShoutdown,分别定制在Revit启动和关闭时候所需的功能。这两个函数具体定义如下:PublicinterfaceIExternalApplication10 第二章Revit二次开发{Autodesk.Revit.UI.ResultOnShutdown(UIControlledApplicationapplication);Autodesk.Revit.UI.ResultOnStartup(UIControlledApplicationapplication);}本文主要生成桩基三维模型以及桩钢筋,在Revit中创建自定义新选项卡功能区面板。要创建自定义功能区面板功能,就必须应用到IExternalApplication接口且同时实现两个OnShutdown和OnStartup函数。创建新选项卡功能区面板片段代码如下:publicclassClass1:Autodesk.Revit.UI.IExternalApplication{publicAutodesk.Revit.UI.ResultOnStartup(UIControlledApplicationapplication){StringtabName="桩基BIM";application.CreateRibbonTab(tabName);//创建新的选项卡RibbonPanelpanel=application.CreateRibbonPanel(tabName,"桩工程");//创建面板AddRadioGroup(panel);AddPushButton(panel);AddSplitButton(panel);panel.AddSeparator();returnResult.Succeeded;}privatevoidAddRadioGroup(RibbonPanelpanel){RadioButtonGroupDataradioData=newRadioButtonGroupData("radioGroup");RadioButtonGroupradioButtonGroup=panel.AddItem(radioData)asRadioButtonGroup;ToggleButtonDatatb1=newToggleButtonData("toggleButton1","桩",@"D:c_sharp桩的提取1桩的提取1binDebug桩的提取1.dll","桩的提取1.Class1");//在面板上添加按钮tb1.ToolTip="桩基";//添加图片tb1.LargeImage=newBitmapImage(newUri(@"D:Revit按钮图片桩.png"));radioButtonGroup.AddItem(tb1);}publicResultOnShutdown(UIControlledApplicationapplication){returnResult.Succeeded;}}11 第二章Revit二次开发在Revit中执行上述程序,就成功创建一个新的选项卡“桩基BIM”,在新选项卡下创建“桩工程”面板,在“桩工程”面板中再创建三个功能属性:桩、钢筋、承载力。创建新选项卡功能区面板如图2-2所示。图2-2功能区面板Fig.2-2Functionpanel2.3本章小结本章介绍Revit软件功能特性和Revit二次开发所需要工具以及基本操作流程。最后重点介绍RevitAPI相关功能函数,API丰富强大功能是实现Revit二次开发的基础和保障。通过使用C#编程语言进行编程和应用RevitAPI功能函数,最终完成新选项卡功能区面板创建,为接下来桩基设计研究打下夯实基础。12 第三章Revit桩基族生成算法第三章Revit桩基族生成算法Revit族库中提供非常多族实例,例如门窗族、家具族、照明设备族、柱族等等,但提供的桩基族却非常少。目前Revit中已有桩基族类型单一,且桩是没有桩尖或者扩大头,因此,本章具体分析如何通过编译程序来实现复杂、多类型桩基族创建。3.1Revit族AutodeskRevit中族是组成项目的构件,同时又是构件参数信息重要载体,所有添加到Revit项目中的图元(例如墙、门窗、屋顶、桌椅等)都是使用族创建,每个可以参数化的对象都可以被认为是一个族。族是包含通用属性(参数)集合和相关图形表示的元组,根据属性(参数)集的共用、使用上的相同和图形表示相似来对图元进行分组。一个族不同图元的部分或全部参数都可能有不同的值,但是属性设置(名称和含义)的集合是相同,例如梁的“热轧H型钢”和“热轧工字钢”都是梁类别中的一个族。编辑创建族时,只要修改项目模型中的一个构件,与它相同族的构件都可以实现自动修改更新。在Revit中基本上所有图元构件都是基于族创建,它功能非常强大,有助于对项目进行有效地管理和修改。每个族图元都能够在其内定义多种类型,每个族类型内都含有很多的参数和信息,每种类型可以根据设计者设计出具有不同尺寸、形状、材质或设置其他参数变量,方便用户随时对模型进行修改。Revit中创建族,首先将建族的各类型对应的数据制作成数据表,其次在建立模型过程中创建参数时要与数据表中的参数一一对应,最后对每一组类型参数进行调试,以保证每一个族类型都可以进行参数化驱动。族是Revit中一个非常重要的构成要素,Revit族库非常丰富,用户可以通过使用族工具将图元添加到建筑模型中,同时可对图元进行相应操作,实现Revit软件参数化的高效[55-58]建模设计。3.1.1族分类Revit中族可以分为三类:系统族,可载入族,内建族。系统族可以创建基本建筑图元,可以满足大部分设计需求的基本族。例如墙、屋顶、天花板、楼板等都是系统族,而且能够影响项目环境,包含标高、轴网、图纸和视口类型的系统也是系统族。系统族是在Revit中预定义的,用户不能将它们作为外部文件载入或创建,也不能将其保存到项目之外位置。如果在项目中找不到所需要的系统族类型,可以通过修改现有的类型属性、复制族类型并修改其属性,或者从另一个项目复制并粘贴一个类型,修改的所有类型都保存在项目中。在Revit中用户不能使用编辑器来编辑系统族,不能创建、复制、修改、删除系统族,但可以在项目和样板之间复制、粘贴、修改和传递系统族的类型。13 第三章Revit桩基族生成算法可载入族是用于创建建筑构件和一些注释类图元,由于它们具有高度可自定义的特征,可载入族是用户最经常创建和修改的族,可以复制和修改现有构件族,也可以根据各种族样板创建新的构件族,族样板有助于创建和操作构件族。创建可载入族时,可以根据族样板中信息,先绘制该族的几何形状,对该族进行参数设置,创建其包含的变体或者族类型,确定在其不同视图中的可见性和详细程度,测试后可在项目中使用它来创建图元。可载入族与系统族不同的是,可载入族使用族样板在项目环境外部.rfa文件创建的,可以导入或载入到项目中,也可从一个项目传递到另一个项目,如果需要还可以从项目文件保存到库中,因此可载入族是用户经常创建、编辑和修改的族。在Revit中,用户可以通过已经创建好的族载入到现有族实例中来创建新的族,这就是族嵌套共享。通过将现有的族嵌套在其他族中,可以节省建模时间,满足相应类型构件需求,所以可载入族是Revit中应用最为广泛的族。在安装Revit时,就提供了大量族样板和可载入族,方便用户使用。系统族和可载入族分别如图3-1和图3-2所示。图3-1系统族图3-2可载入族Fig.3-1SystemfamilyFig.3-2Loadfamily内建族适用于创建当前项目专有的独特模型构件,也可以是注释构件。内建族只能存储在当前的项目中并且不能单独存在RFA文件,也不能用到别的项目中,因此仅可用于该项目特定的对象。如果Revit中所创建项目包含不重复使用的特殊几何图元,或者必须与其它项目几何图形保持一种或者是多种关系的几何图形时,用户可以创建内建族,例如:斜面墙、锥形墙、独特几何图形、不需要规划重用的自定义构件族等属于内建族。在创建内建族时,可以选择类别,使用的类别将决定构件在项目中的外观和显示控制,用户可以以项目中已有的图形作为参照,当所参照图形发生变化时,内建族可以自动地作出相应调整和更新。14 第三章Revit桩基族生成算法3.1.2族类别和族类型类别是以建筑构件性质为基础,用于对建筑模型图元、基准图元、视图专有图元进行归类。Revit中将不同的工程类别定义为族类别。例如墙、门、窗、天花板、屋顶等都属于建筑类的族类别;梁、结构柱、结构墙、结构基础都属于结构类的族类别;风管管件、照明设备、电气装置等属于机电类的族类别。Revit中每个族都可以拥有多个类型。每个类型都可以有不同尺寸、形状以及参数(属性)值。例如300x600mm、400x800mm的矩形梁都是“混凝土—矩形梁”族下两种不同类型的梁。家具族包含可用于创建不同家具(如桌椅、床、橱柜和文具)的族和族类型,尽管这些族具有不同的用途或者是由不同的材质构成,但它们用法却是紧密相关的。对齐尺寸标注类型、线性尺寸标注类型等都是尺寸注释图元的类型,这说明族类型也可以是样式的。Revit模型中每个构件都是属于族的某一个类型,每一类型都具有相关的图形表示和一组相同的参数,且不同类型构件可能是由同一个族文件创建。类别、族和类型关系如图3-3所示。类别梁族矩形梁热轧工字钢梁类型矩形梁矩形梁热轧工字钢梁热轧工字钢梁300X600mm400X800mmGB—I20aGB—I32a图3-3关系示意图Fig.3-3Schematicdiagram3.1.3族参数Revit中建族时,首先设置族类别中族参数,选择不同的族类别可能就会有不同的族参数。族类别中族参数主要有基于工作平面、总是垂直、用于模型行为的材质、共享等参数。族类型中族参数主要是构件控制,参数信息传递,是族强大的生命力。Revit中点击族类型,会弹出对话框,点击参数中的添加按钮,这时弹出参数属性对话框,就可以进行参数类型设置。参数类型中有族参数、共享参数、系统参数。族参数载入到项目文件后,不能出现在明细表或标记中。共享参数可以用于多个项目和族共享,载入到项目文件后,可以出现在明细表或标记中。系统参数是在软件程序代码中定义的,用户不能自行创建这类参数,也不能修改或删除它们的参数名,且系统参数也可以出现在项目明细表中。15 第三章Revit桩基族生成算法族参数中有两种参数分别为类型参数和实例参数。类型参数:在Revit项目中每创建一个图元实例都具有一组参数,如果当前图元参数一旦被修改,跟这个图元相同的所有类型构件参数都会发生相应变化,即一处修改处处修改。实例参数:修改某些与族类型参数无关图元参数,如果当前图元参数一旦被修改,那么只有当前操作这图元参数会发生相应变化,跟它相同类型的图元参数都不会发生变化。当用户把参数设置为实例参数后,参数名后面会自动加上“默认”两字。族参数如图3-4所示。图3-4族参数Fig.3-4FamilyParameter3.2桩基族3.2.1创建桩基族本文采用面向对象的C#编程设计语言对Revit进行二次开发,编译桩基族构件参数化建模插件。以螺旋钻孔桩为例,以下是创建桩基族步骤及部分代码。(1)创建族文档Revit中建族都是从族文档(.rfa)开始的,所以创建族文档。Revit已经提供定义好的模板文件,只要把模板(.rfa)文件加载到项目中即可,这里使用公制结构基础模板。片段代码如下:StringtemplateFileName=@"C:ProgramDataAutodeskRVT2015FamilyTemplatesChinese公制结构基础.rft";//获取模板文件路径//创建族文件DocumentfamilyDoc=RevitAPP.NewFamilyDocument(templateFileName);(2)创建参照平面16 第三章Revit桩基族生成算法参照平面是用来定位族的每一个面,它可以定位和驱动族模型。在创建族文件时,Revit中已经有两个默认参照平面,它们交点是坐标原点(0,0,0)且这两个参照平面默认固定锁住,不能被用户删除。创建参照平面有两个重载方法,本章使用NewRerenceplance(XYZbubbleEnd,XYZfreeEnd,XYZcutVec,ViewpView)方法来创建参照平面。其中bubbleEnd表示参照平面的固定端,freeEnd表示参照平面的自由端,cutVec表示参照平面的切向量且应该垂直于两点向量(bubbleEnd与freeEnd向量)。(3)创建尺寸标注尺寸标注主要是用在项目中显示距离和尺寸的视图专有元素。桩基有直径、长度、宽度、厚度等标注,所以要创建线性尺寸标注和直径尺寸标注。RevitAPI提供线性尺寸标注方法有NewDimension(Viewview,Lineline,ReferenceArrayreferences)。其中view是尺寸标注所要创建在的视图(即在视图中尺寸标注是可见的),line表示线性尺寸的直线,references表示绑定几何参照,绑定到已经创建好的参照平面。直径尺寸标注API方法NewDiameterDimension(Viewview,ReferencearcRef,XYZorigin),view同上,arcRef表示所要标注的圆弧几何参照(即桩直径标注),origin和圆心连线表示尺寸标注所在的线。(4)创建拉伸和放样融合实体桩身和承台用拉伸方法创建,桩尖用放样融合方法创建,把创建完成的实体连接一起组成螺旋钻孔桩。API提供创建拉伸方法NewExtrusion(boolisSolid,CurveArrArrayprofile,SketchPlanesketchPlane,doubleend)。其中isSolid表示该拉伸是实体还是剪贴体;profile表示一个平面上的二维轮廓且是闭合;sketchPlane表示工作平面;end表示拉伸长度。创建桩身拉伸实体,片段代码如下。PrivatevoidCreateExtrusion(){//先创建草图平面PlanegeometryPlane=revit.Create.NewPlane(normal,origin);SketchPlaneplane=SketchPlane.Create(familyDocument,geometryPlane);//创建拉伸轮廓线和工作平面CurveArrArraycurveArrArray=CreateExtrusionProfile();SketchPlanesketchplane=CreateSketchPlane(XYZ.BasisZ,XYZ.Zero);//创建拉伸长度XYZlength=newXYZ(0,0,8000);//创建拉伸实体familyDoc.FamilyCreate.NewExtrusion(true,curveArrArray,sketchplane,length);}放样融合方法是创建一个具有两个不同轮廓,且沿着某个路径进行放样融合成的实体。放样融合实体由路径和两个轮廓确定,所以创建时绘制路径和两个轮廓(底部和顶17 第三章Revit桩基族生成算法部轮廓),创建放样融合桩尖实体的API方法NewSweptBlend(boolisSoild,Curvepath,SketchPlanepathPlane,SweepProfilebottomProfile,SweepProfiletopProfile),片段代码如下。PrivatevoidCreateSweepBlend(){//创建底部轮廓线和顶部轮廓线CurveArrArraycurveArr1=newCurveArrArray();CurveArrArraycurveArr2=newCurveArrArray();//利用底部和顶部轮廓线生成底部和顶部的轮廓SweepProfiletopProfile=application.NewCurveLoopsProfile(curveArr2);//放样融合的拉伸路径Curvecurve=Line.CreateBound(point1,point2);//创建路径平面SketchPlanesketchPlane=CreateSketchPlane(normal,XYZ.Zero);//创建放样融合实体SweptBlendsweptblend=familycreator.NewSweptBlend(true,curve,sketchPlane,bottomProfile,topProfile);}创建旋转实体需要一个闭合的轮廓线、旋转轴、工作平面和旋转角度,而扩底灌注桩中的扩大头往往需要用旋转方法来创建。在RevitAPI中同样提供创建旋转图元的函数RevolutionNewRevolution(boolisSoild,CurveArrArrayprofile,SketchPlanesketchPlane,Lineaxis,doublestartAngle,doubleendAngle)。创建旋转图元时旋转的方向是由工作平面的法向量来确定。片段代码如下:PrivatevoidCreateRevolution(){//创建桩扩大头的轮廓线,p1、p2等都是自定义点LineL1=Line.CreateBound(p1,p2);LineL2=Line.CreateBound(p2,p3);LineL3=Line.CreateBound(p3,p4);LineL4=Line.CreateBound(p4,p5);LineL5=Line.CreateBound(p5,p1);//把线添加到curveArray()中curveArray.Append(L1);curveArray.Append(L2);curveArray.Append(L3);curveArray.Append(L4);curveArray.Append(L5);curveArrArray.Append(curveArray);18 第三章Revit桩基族生成算法//创建旋转轴LineAxis1=L5;//创建旋转体RevolutionKdt1=familyCreater.NewRevolution(ture,curveArrArray,sketchPlane,Axis1,0,-2*Math.PI);}当桩身、桩尖和扩大头创建完成后,就要进行图元连接,使之成为一个完整的桩,API提供图元连接方法GeomCombinationCombineElement(CombinableElementArraymembers)。用同样的拉伸实体方法创建承台,最后把桩和承台进行嵌套,桩基族就创建完成。新建对齐,API提供方法NewAlignment(),把建好的桩基实体面对齐并锁定在相应参照平面上。建筑构件都是有材质,因此向桩基构件中添加混凝土材质,API提供方法Material.Create()。根据上述方法可以创建多根螺旋钻孔桩基族和夯扩桩基族,例如:两根桩-桩基族、三根桩-等边三角形桩基族、三根桩-等要三角形桩基族、四根桩—矩形桩基族、七根桩-正六边形桩基族等等。生成桩基族如图3-5所示。图3-5桩基族Fig.3-5Themodelofpilefoundation3.2.2创建参数族参数(FamilyParameter)是族文档中的核心,Revit参数化驱动在族参数中有着重要意义。族参数可以分为共享族参数、一般族参数、族类型参数。共享族参数是以"共享"为目的的参数类型,它能在项目中的构件之间、构件与标注之间、模型与明细表之间、标注与项目之间传递相同的参数值。RevitAPI提供方法是使用FamilyManager类中的AddParameter(ExternalDedinitionfamilyDefinition,BuiltInParameterGroupparameterGroup,boolisInstance)。其中familyDefinition表示定义加载共享参数;parameterGroup表示族参数对应分组;isInstance表示这个新参数是类型19 第三章Revit桩基族生成算法参数还是实例参数,类型参数和实例参数的作用在3.1.3小节中说明。一般参数在Revit都有一个预定义参数类型(长度、体积等),当这个参数类型确定后,参数可以实现的操作也就确定了。RevitAPI提供方法是使用FamilyManager类中的AddParameter(stringparameterName,BuiltInParameterGroupparameterGroup,ParameterTypeparameterType,boolisInstance)函数。其中parameterName表示新的族参数名称;parameterType表示新的族参数类型;parameterGroup与isInstance的表示与共享参数一样。族类型参数是用来支持一个族文档嵌套到另一个族文档的情况。族类型参数使用一个Revit预定义的类型,且只有在该类型下的族类型才可以设置为此参数的值。RevitAPI提供方法是使用Familymanager类中的AddParameter(stringparameterName,BuiltInParameterGroupparameterGroup,CategoryfamilyCategory,boolisInstance)函数。其中parameterName、parameterGroup、isInstance同上;familyCategory表示新参数绑定于族类型。本章中向桩基族添加参数是使用族类型参数,创建族类型参数片段代码如下。PublicvoidSetNewParameter(){//得到FamilyManager(所有族类型相关的编辑的一个管理类)FamilyManagerfamilyManager=doc.FamilyManager;StringparaName=”UniqueName”;BuiltInParameterGroupparaGroup=BuiltInParameterGroup.PG_TEXT;//设置族参数为类型参数BoolisInstance=false;//通过过滤来得到桩基族类型的组CategoryfamilyCategory=symbol.Category;...//创建族参数FamilyParameterfamilyparameter=familyManager.AddParameter(paraName,pararGroup,familyCategory,isInstance);}对当前创建完成的族类型参数和尺寸标注进行关联,以实现尺寸标注由参数驱动。RevitAPI中提供方法是使用Dimension类中的FamilyLabel属性进行设置关联。当以上族参数都创建完成后,最后设置参数值,API提供方法是使用FamilyManager类中的Set(FamilyParameterfamilyParameter,doublevalue)进行参数设置。螺旋钻孔桩的参数值如图3-6所示。20 第三章Revit桩基族生成算法图3-6螺旋钻孔桩参数Fig.3-6Parametersofspiraldrilledpile3.2.3载入桩基族螺旋钻孔桩基族创建完成后,把它载入到Revit目标项目中。RevitAPI提供五个重载函数LoadFamily来加载族。(1)LoadFamily(String)(2)LoadFamily(Document)(3)LoadFamily(String,Family)(4)LoadFamily(Document,IFamilyLoadOptions)(5)LoadFamily(String,IFamilyLoadOptions,Family)第一个函数用于加载一个族文件(.rfa)到目标项目中,必须指定族文件的完整文件名,返回Family对象。如果文件名为空或者文件名不完整,则抛出异常,但是这个函数无法处理当前模型中已经有这个族的问题,假如族已经存在,就无法加载。第二个函数用于加载一个在后台已打开或者仍在编辑中打开的族到目标项目中。需要把目标模型文档作为参数放在调用的族文档(Document),而不是当前项目文档(Document),即将该族文档的内容加载到另一个文档中,注意两个文档(Document)区别。第三个函数与第一个函数差不多,只不过是把返回值作为参数的形式传出来。如果返回值是布尔类型,则无法加载到已经存在的族。第四个函数与第二个函数在功能上有类似之处,但还是有一些区别。这个函数可以实现加载已经存在的族。它的第二个参数是提供载入选项的接口类。它有两个接口函数,OnFamilyFound(boolfamilyInUse,outbooloverwritePara-meterValues),当族实例在目标文档中被找到时,将被触发执行回调函数。RevitAPI提供方法OnSharedFamilyFound21 第三章Revit桩基族生成算法(FamilysharedFamily,boolfamilyInUse,outFamilySourcesource,outbooloverwriteParameterValues),当共享族实例在目标文档中被找到时,将被触发执行回调函数。familyInUse参数表示族是否已经有实例插入到模型中,如果True说明这个族已经使用了,False表明尚未插入到模型中,overwriteParameterValues参数表示重新载入族的时候是否要覆盖已有族的参数值。第五个函数实现的是加载一个存储在计算机盘中的族文件到目标项目中。它可以加载已经存在的族。IFamilyLoadOptions类型的参数用法与第四个函数一样。本章使用第一个函数来加载桩基族到Revit目标项目中,片段代码如下。PublicAutodesk.Revit.UI.ResultExecute(ExternalCommandDatarevit,refstringmessage,ElementSetelements){UIDocumentuidoc=revit.Application.ActiveUIDocument;Documentdoc=uidoc.Document;//文档Transactiontran=newTransaction(doc,"桩基族");tran.Start();doc.LoadFamily(@"C:UsersAdministrator螺旋钻孔桩族螺旋钻孔桩-2-根桩.rfa");doc.LoadFamily(@"C:UsersAdministrator螺旋钻孔桩族螺旋钻孔桩-等边三桩承台.rfa");tran.Commit();returnResult.Succeeded;}通过执行上述程序算法,在Revit结构基础模块下可以查看已经加载到目标项目中的螺旋钻孔桩基族,如图3-7所示。图3-7桩族Fig.3-7Pilefamily22 第三章Revit桩基族生成算法3.3本章小结主要介绍Revit中族分类、族类别、族类型、族参数之间功能用途。重点研究桩基族创建方法,通过拉伸、放样融合、旋转来创建桩基族,其次向桩基族中添加材质、尺寸标注与关联、设置参数,最后把创建好的桩基族载入到Revit目标项目中。23 第四章单桩承载力特征值计算表开发第四章单桩承载力特征值计算表开发本文在计算桩侧摩阻力、桩端阻力、桩长、以及单桩承载力特征值时,都是在所开发的单桩承载力特征值计算表中进行。本章把桩侧摩阻力、桩端阻力、桩长以及单桩承载力特征值的计算方法编写成程序算法并创建表格窗体对话框,把表格窗体对话框名称命名为“单桩承载力特征值计算表”。根据设计要求设置参数值、选择桩类型、土层信息、混凝土强度等级,表中可根据输入参数信息自动计算出桩侧摩阻力、桩端阻力、桩长以及单桩承载力特征值,极大减少手工计算所带来误差,提高工作效率。本章在开发单桩承载力特征值计算表时,借助第三方FlexCell表格控件。4.1FlexCell表格控件简介FlexCell是为VisualStudio开发的表格控件,是一款灵活、易用的表格和报表控件。FlexCell提供非常全面功能,例如合并单元格、单元格属性设置、添加Chart、虚表、图表、剪切板操作、打印预览和打印等功能,可以模拟传统的Excel内容在Winform界面上展现,而且也支持内容格式的预设置等属性,可以为用户的应用程序创建简洁漂亮的表格、报表和数据录入窗体界面。FlexCell表格设计器是一个独立的工具,开发人员可以使用它来制作表格模板,然后将表格保存为.flx文件,也可以导出成XML文件,然后可以在程序运行时使用OpenFile方法或LoadFromXML方法加载表格模板。使用FlexCell表格设计器,无需编程就可以制作出格式复杂的报表,可以减少编程工作量,缩短开发周期。FlexCell提供了9种单元格类型:TextBox、ComboBox、CheckBox、Button、HyperLink、BarCode、Calendar、Time、DateTime,即文本框、组合框、复选框、按钮、超链接、条形码、日历、时间、日期时间。FlexCell还提供丰富的单元格属性,例如:Alignment、BackColor、Border、CellType、Font、ForeColor、Locked、Mask、Printable、Tag、Text、WrapText,还提供柱状图、折线图、饼图、3D柱状图、3D折线图、3D饼图等类型图表。FlexCell中合并单元格灵活方便,与Excel操作方式相似。在FlexCell表格控件中,用户可以自由复制、剪切、粘贴单元格内容和格式,也可以和Excel、Notepad等软件互相复制、粘贴文本。FlexCell是一款功能丰富,操作灵活的表格控件,是专门为VisualStudio开发的一款应用软件。4.2单桩承载力特征值计算表4.2.1创建表格窗体在电脑中下载安装FlexCell插件,启动VisualStudio2013(C#),在解决方案资源24 第四章单桩承载力特征值计算表开发管理器中找到引用属性,点击添加引用,在弹出对话框中勾选FlexCell.dll。再添加Windows窗体,在窗体工具箱中找到Grid,把Grid拖动窗体中,就可以进行表格创建。本章在创建单桩承载力特征值计算表时全部是编译代码来实现,不使用FlexCell表格设计器。首先触发窗体一个加载事件(Load)。片段代码如下。privatevoidForm1_Load(objectsender,EventArgse){grid1.Rows=33;grid1.Cols=7;//创建一个33行,7列的表格grid1.DefaultRowHeight=20;//设置表格行高grid1.DisplayRowNumber=true;//显示行号grid1.Row(0).Visible=false;//设置第一行隐藏,Grid表格从0开始算}4.2.2表格中添加数值和字符表格主体创建完成后,向表格中添加数值和字符,主要是设置单元格类型和进行数值输入,同时也可以对单元格行高、颜色、字体进行设置。同样触发窗体加载事件,片段代码如下。privatevoidForm1_Load(objectsender,EventArgse){//第1行第1列和第1行第6列单元格进行合并grid1.Range(1,1,1,6).MergeCells=true;grid1.Cell(1,1).Text="单桩承载力特征值计算表";//添加字符,设置表格窗体名称grid1.Cell(1,1).Font=newFont("宋体",18,FontStyle.Bold);//设置字体大小grid1.Cell(1,1).Alignment=FlexCell.AlignmentEnum.CenterCenter;//字体居中grid1.Row(1).Height=30;//设置行高grid1.Cell(2,1).BackColor=System.Drawing.Color.Yellow;//设置颜色...}4.2.3设置单元格类型和添加下拉选项列表把部分单元格类型设置为组合框(ComboBox)类型,然后向单元格中添加下拉选项列表。这时需要注意的是触发两个Grid表格事件,即触发Grid表格事件中鼠标双击事件(MouseDoubleClick)和组合下拉事件(ComboDropDown)。片段代码如下:privatevoidgrid1_MouseDoubleClick(objectsender,MouseEventArgse){//把第4行第1列单元格设置为ComboBox下拉框;grid1.Cell(4,1).CellType=FlexCell.CellTypeEnum.ComboBox;//其它单元格同样的设置方法25 第四章单桩承载力特征值计算表开发}Privatevoidgrid1_ComboDropDown(objectSender,FlexCell.Grid.ComboDropDownEventArgse){//声明字符串数组string[]Soilname={"素填土","杂填土","耕填土","粉质粘土","含砾粉质粘土","淤泥质土","细砂","中砂","粗砂","砾砂","圆砾","全风化岩","强风化岩","中风化岩"};//判断当前操作行号是否与单元格中文本框所在行号相等,如果相等就加入字符;if(e.Row==4){for(inti=0;iDealPoint2(Listpoint){//写一个DealPoint2函数,处理链表中所有坐标点的位置关系函数;ListlineList=newList();//定义新点链表;foreach(XYZlinepointinpoint)//过滤链表中所有点;{if(linepoint!=null)lineList.Add(linepoint);}inti=0;while(ilineListPiont4,outXYZlocation){//IListlineListPiont4表示处理后得到的点存储在此链表中doublesumX=0;doublesumY=0;doublesumZ=0;for(inti=0;i<=lineListPiont4.Count-1;i++){//遍历循环得到所有x、y、z坐标值XYZP=lineListPiont4[i];sumX=sumX+P.X;sumY=sumY+P.Y;sumZ=sumZ+P.Z;}35 第五章桩基自动生成XYZDpiont=newXYZ(sumX/4,sumY/4,sumZ/4);//得到桩基定位点坐标值;location=Dpiont;returnlocation;}执行上述代码后就可以计算出桩基定位点,即得到桩基布置的位置。5.2.4桩基设计与计算桩基设计必须满足安全可靠性、经济合理性、保护生态环境、施工便捷性,以及对桩和承台有足够的强度、刚度、耐久性;地基(主要是桩端持力层)应有足够的承载力,[64-65]各种变形特征应在容许值范围内。桩基设计之前充分掌握一些基本设计资料,主要是建筑物有关的资料、工程地质与水文地质勘察资料、环境评价资料、施工条件等,在充分调查、收集以及分析资料的前提下,按现行相关建筑设计规范,如《建筑桩基技术规范》的相关规定选择桩型,确定合理桩距,精心设计。依据调查研究、场地勘测、资料收集、荷载情况等来确定桩基持力层,根据第四章中已经开发出单桩承载力特征值计算表,把有关荷载信息输入到单桩承载力特征值计算表中,表中自动计算出各种桩直径对应的桩侧摩阻力、桩端阻力、桩长以及单桩承载力特征值,把这些值存储到链表中,在桩基设计和计算时再调用这些值进行计算,最后自动生成桩基模型。桩基设计步骤:1、根据勘测、调查情况,把各类土层信息、荷载输入到单桩承载力特征值计算表中,即可自动计算出桩长、单桩承载力特征值。2、确定桩数及布桩,初定桩数。FGkk(5-1)nRa式中:Fk—作用在承台上的轴向压力标准值;Gk—承台及上方填土的重力;n—桩数;3、初选承台4、验算桩承载力(1)轴心竖向力作用FGkkNk(5-2)nNRk(5-3)(2)偏心竖向力作用FkGkMxkyiMykxi(5-4)Nik22nyjxjN1.2R(5-5)kmax36 第五章桩基自动生成(3)水平力HH/nikk(5-6)Fk—荷载效应标准组合下作用于承台顶面的竖向力;Gk—承台及其上土的自重标准值,地下水位以下部分应扣除水的浮力;Mxk、Myk—荷载效应标准组合下作用于承台底面通过桩群形心的x、y轴的力矩;Nk、Nik—荷载效应标准组合轴心与偏心竖向作用下第i根基桩或复合基桩的平均竖向力、竖向力Hk—荷载效应标准组合下作用于承台底面的水平力;Hik—荷载效应标准组合下作用于第i根基桩或复合基桩的水平力;xi、xj、yi、yj—第i、j基桩或复合基桩至y、x轴的距离;桩距指相邻桩中心之间的距离。桩距应该适中,桩距太大会使承台的体积和材料增加,太小会使桩基沉降。因此,桩距一般为3~4倍的桩直径,并且满足《建筑桩基技术规范》中对桩的最小中心距规定。5.2.5生成桩基三维模型把桩基设计与计算步骤编译成程序后,通过框柱布置生成桩基。框选读取柱内力方法:即通过对图5-4柱内力分布特点可知,根据图纸中柱内力数值字符注释在Revit中坐标值的大小来进行判断并读取柱内力(CAD图纸链接到Revit中,图纸中所有元素都是有坐标值,即Revit中所有元素都默认有坐标点);柱内力数值字符注释在y轴方向坐标点最大值就是柱轴力,在y轴方向坐标点最小值就是柱在y轴方向的弯矩和剪力,柱内力数值字符注释在x轴方向就是柱在x轴方向的弯矩和剪力,通过框选过滤就可以读取到柱内力数值字符。把上节所有桩基计算公式和读取柱内力数值字符方法编写成程序算法。启动程序命令,点击单桩承载力特征值计算表,在表格中选择土层名称、输入荷载信息等参数信息,表中即可自动计算出桩长以及不同直径对应的单桩承载力特征值,然后通过框选过滤读取柱内力,在程序中不断进行桩基计算以及承载力验算,最后自动生成桩基。RevitAPI提供族实例创建方法,NewFamilyInstance(XYZlocation,FamilySymbolsymbol,Levellevel,StructuralTypestructuralType)。其中location表示定位点,symbol表示族类型,level表示标高,strucralType表示结构类型。编译桩基计算以及承载力验算的片段代码如下:Transactiontrans=newTransaction(doc,"生成桩基");trans.Start();IListfamilysymbol=newList();foreach(Elementeleminelement){FamilySymbolsymbol=elemasFamilySymbol;if(symbol.Name=="螺旋钻孔桩-2-根桩");//过滤桩基族familysymbol.Add(symbol);37 第五章桩基自动生成if(symbol.Name=="螺旋钻孔桩-等边三桩承台")familysymbol.Add(symbol);}doubleRa=form.C274;//单桩承载力特征值;doublediameter1=form.Diameter1;//桩直径;doubleZl=form.ZL;//桩长doublen=Math.Ceiling(Fk/c274);//初定桩数,Fk表示柱轴力;doubleQ1=(Fk+20*2.0*0.8*1.5)/n;doublei=0;while(Q1<=Ra&&Q2<=1.2*Ra)//桩承载力验算;{if(n==i){familyistance.LookupParameter("Diameter").Set(UnitUtils.ConvertToInternalUnits(diameter1,DisplayUnitType.DUT_METERS));familyistance.LookupParameter("桩边距").Set(UnitUtils.ConvertToInternalUnits(500,DisplayUnitType.DUT_MILLIMETERS));familyistance.LookupParameter("桩长").Set(UnitUtils.ConvertToInternalUnits(Zl,DisplayUnitType.DUT_METERS));familyistance.LookupParameter("桩嵌固").Set(UnitUtils.ConvertToInternalUnits(200,DisplayUnitType.DUT_MILLIMETERS));//承台初步计算familyistance.get_Parameter(BuiltInParameter.STRUCTURAL_FOUNDATION_LENGTH).Set(UnitUtils.ConvertToInternalUnits(2*0.5,DisplayUnitType.DUT_METERS));familyistance.get_Parameter(BuiltInParameter.STRUCTURAL_FOUNDATION_WIDTH).Set(UnitUtils.ConvertToInternalUnits(3.5*diameter1+2*0.5,DisplayUnitType.DUT_METERS));familyistance.LookupParameter("承台厚度").Set(UnitUtils.ConvertToInternalUnits(900,DisplayUnitType.DUT_MILLIMETERS));...FamilyInstancefamilyistance=doc.Create.NewFamilyInstance(location,fail2,level,StructuralType.Footing);//生成桩基模型break;}i++;}trans.Commit();38 第五章桩基自动生成桩基的参数设置和修改可通过RevitAPI方法.LookupParameter("参数名称").Se(t设置或修改的参数值)或者.get_Parameter(BuiltInParameter.“枚举参数名”).Set()来实现。本文主要研究的是桩,对于桩的承台尺寸只是根据确定的桩数、桩距以及布置方式进行初步选定,并没有对承台进行计算以及验算。一般承台构造要求规定:边桩中心距离承台边缘不小于一倍直径或边长,且桩的外边缘至承台边缘的距离不小于150mm。执行上述程序,在第四章已开发“单桩承载力特征值计算表”中进行工程设置,然后框选柱读取柱内力(柱线段和柱内力数值字符标注要一起框选到),并在程序中不断进行桩基的计算以及承载力验算,最后自动生成桩基模型。夯扩桩生成方法跟上述方法相似。当选择的桩类型是夯扩桩时,通过执行上述程序,也自动生成夯扩桩基模型。柱内力图如图5-7所示,生成桩基如图5-8所示,桩基三维模型如图5-9所示。图5-7柱内力图图5-8桩基平面图Fig.5-7ColumninternalforcediagramFig.5-8The2Dviewofpilefoundation图5-9桩基三维模型Fig.5-9The3Dviewofpilefoundation39 第五章桩基自动生成5.3生成桩钢筋5.3.1桩配筋计算桩身结构设计是根据使用荷载来确定,5.2.4节中给出桩的承载力计算方法。桩的纵向钢筋是按计算来确定,根据《建筑桩基技术规范》中规定,钢筋混凝土轴心受压桩正截面受压承载力计算规定如下:(1)如果桩顶以下5d(软土层10d,d为桩身截面直径或边长)范围的桩身螺旋式箍筋间距不大于100mm,且符合灌注桩配筋规定时""NψfA0.9fA(5—7)ccpsys(2)如果桩身不符合上述规定时NψfAccps(5—8)式中:N桩顶轴向压力设计值;ψ基桩成桩工艺系数;cf混凝土轴心抗压强度设计值;cA桩身截面面积;ps"f纵向主筋抗压强度设计值;y"A纵向主筋截面面积;s配筋率应满足:min[61-65]《建筑桩基技术规范》中对桩基构造要求有明确规定,桩配筋应满足下列规定:(1)配筋率:当桩身直径为300mm~2000mm时,正截面配筋率可取0.65%~0.2%(小直径桩取高值);对受荷载特别大的桩、抗拔桩和嵌岩端承桩应根据计算确定配筋率,并不应小于上述规定值。(2)配筋长度:端承型桩和位于坡地、岸边的基桩应沿桩身等截面或变截面通长配筋;摩擦型桩配筋长度不应小于2/3桩长,当受水平荷载时,配筋长度尚不宜小于4.0/α(α为桩的水平变形系数);抗拔桩以及因地震作用、冻胀或膨胀力作用而受拔力的桩,应等截面或变截面通长配筋。(3)受水平荷载的桩,主筋不应小于8Φ12;抗压桩和抗拔桩,主筋不应少于6Φ10;纵向主筋应沿桩身周边均匀布置,其净距不应小于60mm。(4)箍筋应采用螺旋式,直径不应小于6mm,间距宜为200mm~300mm;受水平荷载较大的桩基以及考虑主筋作用计算桩身受压承载力时,桩顶以下5d范围内的箍筋应加密,间距不应大于100mm,当桩身位于液化土层范围内时箍筋加密。(5)当钢筋笼长度超过4m时,应每隔2m设置一道直径不小于12mm的焊接加劲箍筋。(6)桩身混凝土强度等级不得小于C25。40 第五章桩基自动生成(7)主筋的保护层厚度不应小于35mm。5.3.2过滤钢筋类型、钢筋形状及钢筋弯钩类型Revit中提供不同的钢筋类型,例如“8HPB300”、“18HRB500”等,它们分别表示直径8mm、屈服强度300Mpa的热轧光圆型钢筋和直径18mm、屈服强度500Mpa的热轧带肋钢筋。Revit中又提供每种钢筋类型都有不同的钢筋形状,例如圆形钢筋、直线钢筋、矩形钢筋、直线弯钩等钢筋形状。通过RevitAPI提供过滤方法来过滤出所需要钢筋类型以及钢筋弯钩类型,片段代码如下。FilteredElementCollectorcollector1=newFilteredElementCollector(doc);ElementClassFilterfilter1=newElementClassFilter(typeof(RebarBarType));IListelement1=collector1.WherePasses(filter1).ToElements();ListrebarcurveList=newList();//定义链表存储钢筋类型foreach(Elementelem1inelement1){//循环遍历,把需要钢筋类型添加到链表中rebarcurveList.Add(elem1.Name);}FilteredElementCollectorcollector2=newFilteredElementCollector(doc);ElementClassFilterfilter2=newElementClassFilter(typeof(RebarHookType));IListelement2=collector2.WherePasses(filter2).ToElements();ListrebarhookList2=newList();foreach(Elementelem2inelement2){//循环遍历,把需要钢筋弯钩类型添加到链表中strList2.Add(elem2.Name);}钢筋形状过滤也是相类似方法,Revit中自带钢筋形状有53种,钢筋弯钩类型主要有90度、135度、180度等,当过滤出来钢筋形状并没有符合设计要求所需钢筋形状时,可以通过编写程序代码来绘制需要的钢筋形状。过滤出钢筋类型、钢筋形状及钢筋弯钩类型后,通过相应名称来获取桩基所需要的钢筋类型、钢筋形状和弯钩类型,用于生成桩钢筋。5.3.3生成钢筋API方法Revit提供生成钢筋的API方法有4个,本文选用根据钢筋曲线来生成桩钢筋。API方法如下:publicstaticRebarCreateFromCurves(Documentdoc,RebarStylestyle,RebarBarTypebarType,41 第五章桩基自动生成RebarHookTypestartHook,RebarHookTypeendHook,Elementhost,XYZnorm,IListcurves,RebarHookOrientationstartHookOrient,RebarHookOrientationendHookOrient,booluseExistingShapeIfPossible,boolcreateNewShape,)其中参数doc表示钢筋所在文档;style表示钢筋类别(纵筋、箍筋两种);barType表示钢筋种类;startHook表示钢筋起点弯钩;endHook表示钢筋终点弯钩;host表示钢筋要依附宿主(本文宿主元素是桩);norm表示钢筋曲线所在平面的法向量方向,如果该方向向量与钢筋曲线所在平面不垂直,则无法生成钢筋;curves表示待绘制钢筋曲线列表(钢筋曲线必须是首尾相连);startHookOrient表示钢筋起点弯钩方法;endHookOrient表示钢筋终点弯钩方法;useExistingShapeIfPossible表示是否使用存在钢筋形状;createNewShape表示是否创建新的钢筋形状。5.3.4纵筋和箍筋生成钢筋是结构工程中最重要的组成部分,钢筋设计影响到建筑设计的效率,其质量好坏将直接影响到结构工程的安全,因此在Revit中钢筋设计尤为重要。RevitAPI提供几种钢筋创建方法,例如:通过给定曲线创建钢筋,Rebar.CreateFromCurves();通过给定几何形状创建钢筋,Rebar.CreateFromRebarShape()以及通过曲线和几何形状创建钢筋,Rebar.CreateFromCurvesAndShape()等方法。钢筋类型(RebarBarType)、钢筋弯钩类型(RebarHookType)、钢筋保护层厚度(RebarCoverType)、钢筋阵列(Rebar.SetLayoutAsFixedNumber)、钢筋长度舍入(RebarRoundingManager)、钢筋三维实体可视化(Rebar.SetSolidInView)等RevitAPI也都提供多种设置方法。Revit中创建钢筋主要是通过对二维视图中要配筋的图元进行剖切,然后转换到剖面视图中,通过平行于工作平面、平行于保护层、垂直于保护层等钢筋布置方法来布置钢筋。此钢筋布置方法过程复杂、繁琐、配筋速度慢、异形钢筋难以绘制,且视图剖切不准确对钢筋配置造成极大难度,所以调用RevitAPI方法来实现快速配筋。钢筋必须依附在宿主中,本文中桩就是钢筋依附宿主元素。桩大样图和桩截面图如图5-10、图5-11所示。RevitAPI生成钢筋方法首先要找到钢筋的定位点,根据桩截面几何形状计算出钢筋定位点,即确定纵筋、箍筋、加强筋等钢筋布置坐标点,把相应坐标点连接起来构成钢筋曲线,通过钢筋曲线自动生成桩钢筋,最终完成桩钢筋配置。42 第五章桩基自动生成根据5.2.5节中已生成桩基三维模型,通过RevitAPI提供LookupParameter(“参数名”)方法来获取桩的参数,L为桩长、d为桩直径、L1为桩尖长度,c钢筋保护层厚度。图中n1表示纵筋的数量,d1、d2、d3分别表示纵筋、螺旋箍筋、加劲箍筋的直径。O点位于桩顶的中心点即桩的定位点坐标,把O点沿X轴向左平移d/2-c-d2-0.5d1距离得到O1点,再把O1点沿Z轴向上平移40d(40d表示设计桩时把钢筋延伸到承台距离)距离360i得到P1点,把P1点作为纵筋的定位点。把P1顺时针依次旋转度(其中n为in[66-70]纵筋数量,1≤i≤n)得到P2、P3……Pn作为其它纵筋定位点(另一种方法通过RevitAPI提供圆弧型阵列方法生成其它所需纵筋,即RadialArray.Create()方法,就不需要找出所有纵筋定位点)。把P1点沿Z轴向下平移40d+L距离得到Pi点,把O点沿轴Z向下平移L+L1距离得到Pj点。连接P1Pi和PiPj形成的曲线作为纵筋钢筋曲线,存储到钢筋曲线链表中。螺旋箍筋钢筋曲线创建比较麻烦,本文通过过滤Revit中已有的钢筋形状来创建螺旋箍筋。Revit默认螺旋箍筋的定位点位置位于左下方,如图所示O2点。通过平移把螺旋箍筋定位点O2移到与桩的定位点O重合,即O点变成螺旋箍筋的定位点。加劲箍筋分布在纵筋内侧,通常不会沿桩长全部布置,只是在某一标高处等间距布置部分加劲筋。加劲筋跟螺旋箍筋创建方法一样。纵筋、螺旋箍筋、加劲筋的定位点和钢筋曲线、钢筋形状确定后,执行程序就可以生成桩钢筋。P1O1钢钢筋筋曲曲线线PiPj图5-10桩大样图Fig.5-10Thepiledetaildraw43 第五章桩基自动生成P3P2n1d1P1(O1)d2d3Pn桩截面图5-11桩截面图Fig.5-11Thepilesectiondiagram通过5.3.2节中所述方法,可以过滤出钢筋类型(如20HRB400)和钢筋形状,调用RevitAPI函数CreateFromCurves()方法生成桩钢筋。片段代码如下。Transactiontrans=newTransaction(doc,"创建桩钢筋");trans.Start();LocationPointlocation=zhuang.LocationasLocationPoint;XYZorigin=location.Point;//桩定位点坐标XYZP1=newXYZ(origin.X-d/2+c+d2+0.5d1,origin.Y,origin.Z+40d);XYZPi=newXYZ(origin.X-d/2+c+d2+0.5d1,origin.Y,origin.Z-L);XYZPj=newXYZ(origin.X,origin.Y,origin.Z-L-L1);Lineline1=Line.CreateBound(P1,Pi);//创建钢筋曲线Lineline2=Line.CreateBound(Pi,Pj);XYZnormal=newXYZ(0,1,0);//钢筋曲线围成平面的法向量IListrebarcurveList1=newList();//创建钢筋曲线链表rebarcurveList1.Add(line1);//钢筋曲线存储到链表中rebarcurveList1.Add(line2);XYZorigin1=newXYZ(origin.X,origin.Y,origin.Z);//螺旋箍筋定位点RebarBarTypebarType=doc.GetElement(element1[10].Id)asRebarBarType;//钢筋类型RebarHookTypehokTpe=doc.GetElement(element2[0].Id)asRebarHookType;//钢筋弯钩//创建纵筋RebarReb1=Rebar.CreateFromCurves(doc,RebarStyle.Standard,barType,null,null,zhuang,normal,RebarcurveList1,RebarHookOrientation.Left,RebarHookOrientation.Right,true,true);Lineaxis1=Line.CreateBound(spot1,spot2);//旋转轴44 第五章桩基自动生成RadialArray.Create(doc,doc.ActiveView,Reb1.Id,12,axis1,Math.PI/6,ArrayAnchorMember.Second);//圆弧型阵列//创建螺旋箍筋RebarReb2=Rebar.CreateFromRebarShape(doc,barshape,barType,zhuang,origin1,xVec,yVec);Parameterhight1=Reb2.LookupParameter("高度");hight1.Set(L);//修改高度Parameterridia=Reb2.LookupParameter("R");ridia.Set(d/2-c);//修改螺旋箍筋的半径Parameterhight2=Reb2.LookupParameter("螺距");hight2.Set(Patch1);//修改螺旋箍筋的螺距trans.Commit();对图5-9中桩基三维模型进行桩钢筋配置,通过执行上述程序,自动生成桩钢筋三维模型,如图5-12所示。本文主要研究的是桩基自动生成以及桩钢筋配置,对于桩的承台尺寸只是根据已经确定的桩数、桩距、布置方式以及承台的构造要求来初步选定,并没有对承台进行计算和验算以及承台配筋计算,因此本文没有生成承台的钢筋。图5-12螺旋灌注桩钢筋Fig.5-12Boredpilerebar45 第五章桩基自动生成当选择桩类型为夯扩桩时,夯扩桩钢筋生成方法跟螺旋灌注桩钢筋生成方法相似,在此不重复叙述。生成夯扩桩钢筋三维模型如图5-13所示。图5-13夯扩桩钢筋Fig.5-13Bulbpilerebar5.4本章小结本章先介绍柱内力CAD图纸处理方法,重点研究桩基的定位点计算、通过读取柱内力进行计算,并根据计算结果自动生成桩基三维模型。应用RevitAPI提供方法获取钢筋定位点坐标值以及钢筋曲线、钢筋形状、钢筋类型、钢筋弯钩,通过执行程序快速生成桩钢筋三维模型。本章通过对桩基设计与计算程序算法进行研究,开发基于Revit平台来实现自动生成桩基三维模型以及桩钢筋。46 第六章案例分析与讨论第六章案例分析与讨论为检验生成桩基模型程序算法正确性以及运用到实际工程中高效性,本章出给案例,并在Revit软件中进行测试分析。根据实际工程把柱内力CAD图纸链接到Revit中,在第四章已开发“单桩承载力特征值计算表”中输入荷载信息,表中会自动计算出单桩承载力特征值、桩长,然后在图纸中框选柱线及柱内力字符注释来读取柱内力,并在程序中进行桩基计算以及验算,最后根据计算结果自动生成桩基三维模型以及桩钢筋。通过与实际工程对比以及在Revit平台中不断进行测试,从而验证本程序算法正确性、高效性以及实际性。6.1案例一本文通过读取柱内力来生成桩基,因此把柱内力图纸链接到Revit中,然后对图纸进行分解处理,通过执行程序生成桩基模型及其桩钢筋。柱内力图如图6-1所示。22.2-5.44.1-19.3-12.1-16.0-9.6-6.8-816.5-1424.8-1302.1-723.322.529.617.712.68.241.9-9.4-35.130.7-12.38.7-28.2-3.6-5.8-9.1-5.3-1620.3-3005.3-2767.1-1453.06.710.716.99.957.2-22.016.8-51.524.2-4.27.8-28.41.20.12.30.6-3086.0-1582.1-3048.4-2.2-1596.9-0.3-4.315.1-1.1-7.1-51.945.1(13.56,12.09)(N=-44457.8)-4.07.6-28.624.2-1.7-1.1-0.70.4-3020.4-3069.0-1591.3-1552.43.22.21.5-0.7-6.614.8-52.445.1-2.67.7-27.922.36.99.45.14.3-2808.7-2799.6-1459.7-1478.9-12.7-17.2-9.4-8.0-4.314.9-51.141.53.9-19.421.7-4.79.66.710.914.2-1302.8-723.5-816.6-1408.0-17.7-12.3-20.3-26.2-35.440.7-8.47.6图6-1柱内力图Fig.6-1TheColumninternalforcediagram47 第六章案例分析与讨论根据图6-1所示柱内力图,通过框选读取柱内力来生成螺旋钻孔灌注桩。启动Revit程序,找到已经创建好的新选项卡功能区面板,如图6-2所示。图6-2功能区面板Fig.6-2Functionpanel首先在面板区中点击“承载力”功能按钮,弹出“单桩承载力特征值计算表”,如图4-1所示。根据设计要求输入相关荷载信息,表中会自动计算出桩长、单桩承载力特征值;然后点击“螺旋钻孔桩”功能按钮,在Revit中只要框选图纸中柱线段以及柱内力字符标注,就可以进行桩基的计算、验算,程序执行完成即可自动生成螺旋钻孔灌注桩三维模型。点击“生成螺旋钻孔桩钢筋”功能按钮,弹出“桩钢筋布置”操作对话框,如图6-3所示。图6-3钢筋操作界面Fig.6-3Rebardialogbox48 第六章案例分析与讨论根据图6-3所示钢筋操作界面,选择桩类型,设置钢筋信息,点击“确定”按钮,即生成螺旋钻孔灌注桩钢筋三维模型,如图6-4所示。图6-4螺旋钻孔灌注桩钢筋Fig.6-4Thespiraldrilledgroutingpilerebar6.2案例二为再次检验此程序算法适用性、准确性,以图6-1柱内力为研究对象,通过读取柱内力来生成夯扩桩。点击“承载力”按钮,在弹出“单桩承载力特征值计算表”中输入荷载信息,然后点击“夯扩桩”按钮,框选柱并执行程序,程序执行完成后即自动生成夯扩桩。再点击“生成夯扩桩钢筋”按钮,同样弹出如图6-3所示钢筋布置操作界面,设置钢筋信息后,点击“确定”按钮,即可生成夯扩桩钢筋三维模型,如图6-5所示。图6-5夯扩桩钢筋Fig.6-5Rammedpilerebar49 第六章案例分析与讨论通过上述案例测试表明,该方法可以通过读取柱内力进行桩基设计计算,进而自动生成桩基三维模型以及桩钢筋。在Revit中可以建立很多不同种类的桩基族,例如建立预应力混凝土管桩、人工挖孔桩、冲击成孔灌注桩等桩基族。选择不同的桩类型,然后通过框选读取柱内力进行桩基计算,根据计算结果自动生成符合设计要求的桩基模型以及桩钢筋,极大的提高工作效率。本方法可以应用到实际工程中,具有较强的实用价值。50 第七章总结与展望第七章总结与展望本文基于Revit平台,对其进行二次开发,应用RevitAPI强大功能,根据柱内力CAD图纸中柱内力字符注释的分布特点来研究如何通过识别读取柱内力进行桩基设计计算,并根据计算结果自动生成桩基BIM模型以及桩钢筋的方法。在VisualStudio2013(C#)编程语言中把桩基设计与计算方法编写成程序算法,并在Revit中执行程序进行不断的测试分析,最终实现自动生成桩基BIM模型以及桩钢筋。结合实际工程案例,通过总结分析此程序算法在执行过程中存在一些问题,并及时的进行优化设计程序,进一步提高生成桩基模型以及桩钢筋方法的高效性和准确性,达到预期效果,可应用于实际工程。7.1总结本文先阐述Revit二次开发基本功能以及用途,给本课题设计研究提供保障。使用RevitAPI功能函数,在C#编程语言中编译算法来创建桩基族。借助第三方FlexCell控件,它是一款强大、最易用的表格控件,应用此控件开发“单桩竖向承载力特征值计算表”。在表中选择混凝土强度等级、土层等信息,根据设计要求输入相应荷载信息,就可以自动计算出桩长和不同直径的桩对应不同的单桩承载力特征值,把这些信息存储起来。链接柱内力CAD图纸到Revit中,对图纸图元信息进行处理(如线段重叠、点重合、字符分割处理等)。在Revit中框选柱线段和柱内力字符注释来读取柱内力,程序就会不断进行桩基计算以及承载力验算,最终自动生成符合设计要求的桩基模型。根据桩大样图、截面图中钢筋分布特点,创建钢筋曲线、计算钢筋定位点、过滤钢筋类型及钢筋形状,执行生成桩钢筋程序,对已生成的桩基模型实现快速钢筋配置。最后结合实际工程案例,对桩基设计程序算法进行不断的测试分析,结果表明,此方法解决重复性的工作、节省时间、提高设计质量、降低成本,极大提高工作效率,对实际工程具有较高的实用性。7.2展望本课题研究虽然取得了一定的成果,解决实际工程遇到的问题,对桩基设计以及建模也起到一定作用,但由于桩基结构形式、承台、钢筋构造复杂性和多样性,导致研究方法还存在一些不足,有待改进,对以下几个方面还需作进一步研究:(1)本课题主要通过读取柱内力自动生成桩基BIM模型,但在实际工程中墙底有时也布置着桩,且墙底组合内力分布复杂,墙的异形比较多,框选识别读取墙内力时较困难,因此在对读取墙内力来自动生成桩基BIM模型还有待进一步研究。(2)桩的类型有多种,本文仅给出生成螺旋钻孔桩和夯扩桩研究方法,但其它类型桩的研究方法大多相似,可以根据实际工程需要来研究生成复杂的、多样性桩基BIM模型。51 第七章总结与展望(3)对于桩端扩大头复杂化钢筋生成比较困难,程序运行速度较慢,研究不够仔细,需要结合钢筋参数化进行设计,并优化程序算法,提高桩配筋设计效率。(4)本文重点研究桩,对于桩基的承台没有进一步研究,只是根据桩的计算结果初步选定承台尺寸,并没有对承台进行计算及验算,检验是否符合设计要求。对于桩基的承台配筋、尤其是异形承台配筋还需进一步研究。总之,随着建筑信息模型(BIM)技术不断创新发展,对Revit二次开发不仅局限于此,为了提高设计质量、建模效率、施工便捷,将建筑数字化新技术更广泛应用到建筑结构设计中,需要建筑各行业人员相互协作、共同努力,让建筑行业实现可持续的健康发展。52 参考文献参考文献[1]郑华海,刘匀,李元齐.BIM技术研究与应用现状[J].结构工程师,2015,31(04):233-241.[2]张建平,余芳强,李丁.面向建筑全生命期的集成BIM建模技术研究[J].土木建筑工程信息技术,2012,4(01):6-14.[3]张洋,基于BIM的建筑工程信息集成与管理研究[D].清华大学,2009.[4]李明树,杨秋松,翟健.软件过程建模方法研究[J].软件学报,2009,20(03):524-545.[5]任文.BIM技术在超高层建筑施工中的应用研究[D].西安建筑科技大学,2016.[6]SINGHV,GUN.AtheoreticalframeworkofaBIMbasedmulti-DisciplinaryCollaborationplatform[J].AutomationinConstruction,2011,(02):134-144.[7]EastEW.AnOverviewoftheU.S.NationalbuildingInformationModelStandard(NBIMS)[C].InternationalWorkshoponComputinginCivilEngineering,2007.[8]YoungSCseungL,JunSB.Reinforcementplacementinaconcreteslabobjectusingstructuralbuildinginformationmodeling(SBIM)[J].Computer-AidedCivilandInfrastructureEngineering,2014(29):47–59.[9]BrydeD,BroquetasM,VolmJM.TheprojectbenefitsofBuildingInformationModelling(BIM)[J].InternationalJournalofProjectManagement,2013,31(7):971-980.[10]DanaK.Smith.BuildingInformationModeling:AStrategicImplementationGuideForArchitects,Engineers,Constructors,AndReal[M].2009.[11]杨静.基于BIM的剪力墙结构参数化设计研究[D].沈阳工业大学,2016.[12]宋楠楠.基于Revit的BIM构件标准化关键技术研究[D].西安建筑科技大学,2015.[13]纪博雅,戚振强.国内BIM技术研究现状[J].科技管理研究,2015,35(06):184-190.[14]王婷,肖莉萍.国内外BIM标准综述与探讨[J].建筑经济,2014,(05):108-111[15]荣华金.基于BIM的建筑结构设计方法研究[D].安徽建筑大学,2015.[16]何关培.BIM和BIM相关软件[J].土木建筑工程信息技术,2010,2(04):110-117[17]高兴华,张洪伟,杨鹏飞.基于BIM的协同化设计研究[J].中国勘察设计,2015,(01):77-82.[18]JSmithDeke.Anintroductiontobuildinginformationmodeling[J].JournalofBuildingInformationModeling,2007,1(1):12-13.[19]Y.Jeong,C.Eastman,R.Sacks,etal.BenchmarktestsforBIMdataexchangesofprecastconcrete[J].AutomationinConstruction,2009(18):469–484.[20]Arayici,Coates,Koskela,etal.TechnologyAdoptionintheBIMImplementationforLeanArchitecturalPractice[C].OriginalResearchArticleAutomationinConstruction,2011,20(2):189-195.[21]陶敬华.BIM技术和BLM理念及其在海洋工程结构设计中的应用研究[D].天津大学,2008.[22]何关培《.中国工程建设BIM应用研究报告2011》解析[J].土木建筑工程信术,2012,4(01):15-21.[23]张建平,张洋,张新.基于IFC的BIM三维几何建模及模型转换[J].土木建筑工程信息技术,2009,1(01):40-46.[24]杨荣洁.基于BIM的多专业集成建筑设计研究[D].石家庄铁道大学,2017.[25]LZhang,R.Issa.ComparisonofBIMCloudComputingFrameworks[J].ComputinginCivilEngineering,2012:389-396.53 参考文献[26]KhemlaniL.AutodeskRevit:implementationinpractice[J].Whitepaper,Autodesk,2004.[27]YanW,CulpC,GrafR.IntegratingBIMandgamingforreal-timeinteractivearchitecturalvisualization[J].AutomationinConstruction,2011,20(4):446-458.[28]EastmanC,EastmanCM,TeicholzP,etal.BIMhandbook:Aguidetobuildinginformationmodelingforowners,managers,designers,engineersAndcontractors[M].JohnWiley&Sons,2011.[29]EdwardG.Thebuildinginformationmodel[J].CADalyst.Eugene,2004,1(21):56-58.[30]宋晓宇,李玉冲,刘继飞.基于拓扑结构的工程图纸识别方法[J].沈阳建筑大学学报(自然科学版),2011,27(04):776-781.[31]李伟青.建筑构件智能识别方法研究[J].浙江大学学报(理学版),2005,(04):392-398.[32]董玉德,赵韩,王平,张国平.工程图纸识别与理解的研究现状分析[J].合肥工业大学学报(自然科学版),2005,(01):29-33.[33]宋晓宇,何斌,王永会.拓扑关系在图形对象表示与识别中的应用[J].计算机工程与应用,2010,46(10):165-168.[34]杨若瑜,胡笳,蔡士杰.工程图对象识别规则自动获取方法的研究[J].计算机学报,2003,(10):1234-1240.[35]路通,杨若瑜,杨华飞,蔡士杰.三维结构构件渐进式整合与重组方法[J].计算机辅助设计与图形学学报,2007,(04):491-495.[36]路通,席晓鹏,芮明,蔡士杰,窦万春.建筑工程图识别与理解——模型与算法[J].计算机研究与发展,2005,(01):144-152.[37]杜建强,陈月林,刘少媚,周济.工程图纸上的字符提取和识别系统[J].计算机工程,1995,(01):62-65.[38]刘国华.基于工程语义的二维工程图的特征识别及三维重构[D].山东大学,2007.[39]AutodeskAsiaPteLtd.AUTODESK○RREVIT○R二次开发基础教程[M].上海:同济大学出版社,2015.[40]符聪.基于BIM平台的Revit工具集的设计实现[D].华中科技大学,2014.[41]薛忠华,谢步瀛.RevitAPI在空间网格结构参数化建模中的应用[J].计算机辅助工程,2013,22(01):58-63.[42]杨党辉,苏原,孙明.基于Revit的BIM技术结构设计中的数据交换问题分析[J].土木建筑工程信息技术,2014,6(03):13-18.[43]徐迪.基于Revit的建筑结构辅助建模系统开发[J].土木建筑工程信息技术,2012,4(03):71-77.[44]季俊,张其林,杨晖柱,常治国.高层钢结构BIM软件研发及在上海中心工程中的应用[J].东南大学学报(自然科学版),2009,39(S2):205-211.[45]肖良丽,方婉蓉,吴子昊,王小涛.浅析BIM技术在建筑工程设计中的应用优势[J].工程建设与设计,2013,(01):74-77.[46]蒋炜葳.浅议AutodeskRevitArchitecture软件的设计自由创意性[J].建筑设计管理,2012,29(11):19-22.[47]陈文.基于BIM设计理念的RevitStructure应用初探[J].建筑设计管理,2012,29(12):16-20.[48]贾盈平,李春祥.面向属性的参数化建模在RevitAPI中的应用[J].计算机辅助工程,2016,25(04):72-76.54 参考文献[49]徐剑.Revit系统软件二次开发研究[J].铁路技术创新,2014,(05):39-41.[50]罗琦,李志阳,陶海波.基于Revit的三维协同设计平台研究[J].土木建筑工程信息技术,2016,8(01):59-64.[51]王海燕.C#.NE下三层架构数据库应用系统开发[J].计算机技术与发展,2012,22(06):78-81.[52]孔帆帆,李宏,李翔.基于ASP.NET/C#的Web应用程序关键技术研究与实现[J].计算机工程与科学,2006,(07):11-13+21.[53]陈立新,赵红梅.基于VB.NET的AutoCAD二次开发[J].现代机械,2006,(06):13-15.[54]徐迪,潘东婴,谢步瀛.基于BIM的结构平面简图三维重建[J].结构工程师,2011,27(05):17-21.[55]清华大学软件学院BIM课题组.中国建筑信息模型标准框架研究[J].土木建筑工程信息技术,2010,2(2):1-5.[56]李艳妮.基于BIM的建筑结构模型的研究[D].西安建筑科技大学,2012.[57]李犁,邓雪原.基于BIM技术建筑协同平台的初步研究[D].上海交通大学,2012.[58]李妍君.基于Revit的建筑信息模型功能拓展包的设计与实现[D].华中科技大学,2014.[59]张四平,张季超,基础工程[M].北京:中国建筑工业出版社,2012:86-100.[60]彭社琴,赵其华,基础工程[M].北京:中国建筑工业出版社,2012:156-170.[61]中国建筑科学研究院.JGJ94-2008建筑桩基技术规范[S].北京:中国建筑工业出版社,2008.[62]中国建筑科学研究院.GB50007-2011建筑地基基础设计规范[S].北京:中国建筑工业出版社,2012.[63]《桩基工程手册》编写委员会.桩基工程手册[M].北京:中国建筑工业出版社,1995.[64]史佩栋,桩基工程手册[M].北京:人民交通出版社,2008.[65]穆保岗.桩基工程[M].南京:东南大学出版社,2009.[66]饶志华.在Revit中实现地铁围护结构模型的快速生成[D].华东交通大学,2017.[67]王博.基于Revit的地铁车站换乘通道结构模型自动生成算法研究[D].华东交通大学,2017.[68]李志文,王春光,张优优,刘建涛.基于Revit的结构施工图BIM平法表达[J].建筑结构,2016,46(S2):609-613.[69]姬丽苗,张德海,管梽瑜,韩进宇.基于AutodeskRevitStructure结构施工图平法表示[J].工程建设与设计,2013,(05):70-72.[70]中国建筑标准设计研究院.12G-901-1混凝土结构施工钢筋排布规则与构造详图[S].北京:中国计划出版社,2012.55 个人简历在读期间发表的学术论文个人简历在读期间发表的学术论文个人简历:龙伟,男,1992年9月生。2015年7月毕业于中南林业科技大学涉外学院(工程管理)专业,获学士学位。2015年9月入华东交通大学读结构工程硕士。已发表论文:[1]张维锦,龙伟,龚鹏程.基于Revit柱结构模型设计研究[J].华东交通大学学报,2017,34(05):7-11+41.56 致谢致谢本论文是在导师张维锦教授的精心指导、悉心帮助下完成的,非常感谢我的导师在研究生三年时间里对我的谆谆教导,无论在学习上,还是生活中都给予我极大帮助与关怀。导师严谨的科研态度、开阔的研究思路、高效的工作方法,对我言传身教,使我受益终身。在此,向我的导师张维锦教授表达最诚挚敬意和衷心感谢!感谢室友、师兄、师妹们给予我的帮助、关怀与支持,感谢我的母校华东交通大学对我的培育!57'