SRFCAD开发中ObjectARX的应用

来源 :城市建设理论研究 | 被引量 : 0次 | 上传用户:h_f_m
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】作者开发的门式实腹刚架CAD系统(Portal Solid-web Rigid Frame and Computer Aided Design system)采用Visual C++和ObjectARX实现了自动绘制施工图功能。本文通过简单实例介绍了使用ObjectARX進行编程的详细过程。
  【关键词】门式实腹刚架; AutoCAD; 二次开发; ObjectARX
  0. 引言
  我国于1999年颁布实施了《门式刚架轻型房屋钢结构技术规程》(ECS 102:98) [1],这为门式刚架结构在我国的普及推广奠定了坚实的技术基础,使其成为近几年发展最快的一种新型轻钢结构。门式刚架包括实腹式和格构式两种。门式实腹刚架建筑造型简洁美观,空间开阔,使用功能优越,而且可采用标准化、工厂化制作、小型机具吊装,因而劳动强度轻,施工速度快,综合施工费用低,建筑表现能力更强,具有良好的适用性和经济效应。
  在作者开发的PSRFCAD中前处理部分采用了Visual C++的面向对象程序设计(Object-Oriented Programming,简称OOP);结构内力计算采用的是用C++语言编写的平面杆系有限元分析程序;而后处理的自动图形绘制部分采用AutoCAD的二次开发工具ObjectARX。
  本文将就PSRFCAD的模块组成及各部分功能进行简单说明,并举例着重介绍如何利用MFC对话框和ObjectARX在AutoCAD中自动绘制图形。
  1. PSRFCAD模块组成及功能
  随着计算机硬件技术的发展和建筑结构分析理论的日臻完善,计算机辅助设计(CAD)系统在建筑
  
  
  设计领域得到越来越广泛的应用。CAD软件作为辅助设计人员完成设计工作的工具,要求软件的每一个功能细节都要受到用户的欢迎。例如数据输入要尽可能少;人机交互界面要友好,操作要方便,高度的自动化和人工干预要有机结合;计算准确;便于查阅及理解等。一个完整的计算机辅助设计系统应包括三大部分:前处理部分、计算分析部分、后处理部分,如图1所示。
  1.1 前处理模块及其功能
  前处理部分需要收集有关有限元计算和后处理施工图绘制所需的大量数据信息,主要有:平面数据、立面数据、截面数据、材料信息、荷载信息。
  本系统的前处理利用MFC编写各种对话框输入的形式,得到计算所需的数据文件。在程序的运行过程中,对话框可用来捕捉用户的输入信息和数据,达到管理数据并与用户交换信息的目的。
  1.2 结构计算模块及其功能
  结构内力计算部分采用的是用C++语言编写的平面杆系有限元分析程序,适用于计算平面刚架和平面框架。C++语言充分支持面向对象的编程技术,可以直接访问内存地址、能进行位操作、生成的目标代码质量高、程序运行效率高、可移植性好[2]。面向对象程序设计的实现需要封装和数据隐藏技术,需要继承和多态性技术。
  规范检验部分按现行《钢结构设计规范》(GBJ17-88)和《门式刚架轻型房屋钢结构技术规程》(CECS 102:98) [3]进行。
  1.3 后处理模块及其功能
  后处理部分包括两大部分,一部分是在系统所在的窗口中进行结果显示,包括结构的位移、内力和应力比的显示,以图形的方式来检查结果的对错;另一部分是利用AutoCAD的二次开发工具ObjectARX进行自动施工图绘制。
  2. ObjectARX应用
  2.1 AutoCAD二次开发工具简述
  AutoCAD是目前国内外应用最广泛、使用人数最多的CAD软件。AutoCAD系统提供了一系列二次开发环境和工具,如AutoLISP、ADS(AutoCAD Development System)、ARX(AutoCAD Runtime Extension)、VBA(Visual Basic for Application)、Visual LISP、ObjectARX等[4],本系统采用AutoCAD进行二次开发的最强有力的开发工具ObjectARX:用于开发AutoCAD的ObjectARX目前支持Microsoft Visual C++编译器。ObjectARX的类库由以下AcRx、AcEd、AcGi、AcDb、AcGe五个类库组成。AcRx库提供了一些系统类,用于DLL的初始化和链接及运行时类的注册和标识;AcEd库提供定义和注册新的AutoCAD命令的类,新命令的操作性能与AutoCAD内部命令是完全一样的;AcGi库提供了用于绘制AutoCAD实体的图形界面;AcDb库提供了组成AutoCAD数据库的类;AcGe库提供了公用线性代数和几何学对象应用类。
  2.2 ObjectARX 应用实例
  ObjectARX应用程序是共享AutoCAD的地址空间、对AutoCAD 进行直接函数调用的一个DLL(动态连接库),其程序的入口是acrxEntryPoint函数(与一般的main函数不同);MFC(Microsoft Foundation Class Library)是Windows环境下编程的一个应用程序框架,提供了许多必须的代码用于管理窗口、选单和对话框,完成基本的输入/输出,存储数据对象等。
  下面介绍PSRFCAD中使用Visual C++和ObjectARX 进行二次开发的工程实例。
  (1) 建立工程项目
  启动Visual C++,从File下拉菜单中选中New选项(用File/New表示),弹出New对话框;点击Projects标签,选择ObjectARX AppWizard 项,在Project name编辑框中输入项目名(本例是DRAWSTEEL),Location项可以选择文件路径,点OK按钮进入下一步;在Step 1 of 1对话框中,在Your Registered Developer(注册开发商前缀)编辑框中填入DUT,选中Use MFC复选框,其他选项保持不变,单击Finish按钮进入下一步;在New Project Information对话框中单击OK按钮。
  (2)创建对话框资源和相应的类框架
  从Insert/Resource打开Resource对话框,在Resource type中选择Dialog,点击New按钮,建立和编辑ID为IDD_DIALOG1的对话框;设置对话框如图2:
  
  
  
  
  选择菜单View/Class Wizard,在Adding a Class对话框中确保选择了Create a new class,单击OK按钮;在New class对话框中,在Name编辑框中填入CSteelDlg,单击OK按钮;在MFC ClassWizard对话框中选择Member Variables标签,给8个编辑框依次设置double型成员变量:m_editL,m_editH1,m_editH2,m_edita,m_editb,m_editS1,m_editS2。
  (3)利用ObjectARX 嵌入工具[5]定义新命令
  点击ObjectARX嵌入工具条上的 按钮,弹出ObjectARX Defined Commands对话框,在Group(组名)编辑框里输入DUT;在International(国际名)编辑框里输入STEEL;在Local(本地名)编辑框里输入STEEL(可以与国际名不同,且可以用中文)。单击Add按钮,然后单击Edit Code按钮,进入DRAWSTEELCommands.cpp文件中,进行编码。其部分代码如下:
  void dutsteel(){
  CSteelDlg dlg;
   if(dlg.DoModal()==IDOK){
   createNewlayer("轴线",1,"CENTER");
   createNewlayer("标注",2,"CONTINUE");
   createNewlayer("钢筋",7,"CONTINUE");//构造图层
   …
   AcGePoint3d basept,startpt,endpt;
   startpt.set(-1500,0,0);//以总平面左下脚为坐标原点
   endpt.set(prj_projectDB.sfdb_plane.Span*5+600,0,0);//调用前处理数据
   createLine(startpt,endpt,"轴线",500);//画轴线
  … startpt.set(prj_projectDB.sfdb_plane.Span*5+5000-prj_projectDB.sfdb_face.Zhua/2,
  -prj_projectDB.sfdb_face.HeightH1,0);
  endpt.set(prj_projectDB.sfdb_plane.Span*5+5000-prj_projectDB.sfdb_face.Zhua/2,
  prj_projectDB.sfdb_face.Liangs1/2/C,0);
   createLine(startpt,endpt,"钢筋",1);//画刚架
   …
   startpt.set(prj_projectDB.sfdb_plane.Span*5+5000-600, 0,0); endpt.set(prj_projectDB.sfdb_plane.Span*5+5000-600,prj_projectDB.sfdb_face.HeightH2,0);
   dimpt=Arx_polar(startpt,PI,600);
   createAlignedDim(startpt,endpt,dimpt,DimId); //标注尺寸
   …
   acedCommand(RTSTR,"ZOOM",RTSTR,"Extents",RTNONE);//显示全图
   }}
  
  
  在DRAWSTEELCommands源文件中还应包括头文件 "resource.h"、"ARXDlg.h" 和 "dbents.h",现在可以进行编译、连接。启动AutoCAD,Tools/Load Application,找到dutsteel.arx文件,点击Load按钮,然后在AutoCAD Command:提示符下输入steel即可弹出如图2所示对话框,输入數据后,执行结果如图3所示。
  3. 结束语
   ObjectARX提供了ObjectARX 向导和嵌入工具条,比以往的ARX能更充分调用Visual
  C++的资源和发挥面向对象的编程思想,因此在开发建筑结构CAD系统上,占有很大的优势。
  
  注:文章内所涉及的公式和图表请用PDF格式打开
其他文献
摘要:我国目前能源紧张,建筑能耗势必加剧能源供求矛盾。民用建筑节能是最直接,最有效的解决这种矛盾的方法之一。  关键词:建筑设计节能途径建筑设计节能措施  Abstract : China's current energy crisis, building energy consumption is bound to exacerbate the contradictions of energy
期刊
摘要: 本文结合笔者多年的工程实践, 参考国家最新施工规范, 主要对桩基施工中打(沉) 桩机械设备的选用和施工方法进行了探讨, 谨供同行参考。  关键词: 桩基工程; 打桩设备; 选用标准  俗话说:“万丈高楼平地起”, 桩基础施工在工业与民用建筑中有着重中之中的地位, 没有过硬、稳定、高质量的基础工程, 再豪华的建筑也摆脱不了坍塌的命运。本文结合笔者多年的工程实践, 参考国家最新施工规范, 对桩
期刊
摘要:随着国民经济建设的快速发展,工程测量技术目前也越来越受到人们的广泛关注。本文主要是分析了工程测量中的一些技术方案,以供同行参考。  关键词:工程测量;技术;测绘  引言  在工程建设的设计、施工和管理各阶段中进行测量工作的理论、方法和技术,称之为“工程测量”。工程测量是测绘科学与技术在国民经济和国防建设中的直接应用,是综合性的应用测绘科学与技术。  以测绘城市和区域地物、地貌为目的大比例尺地
期刊
一、无负压变频给水设备概述  近年来一种新型的成套供水设备——无负压变频恒压供水得到广泛的推广,它主要由无负压调节罐、水泵(一大一小)、隔膜气压罐、智能控制系统等组成。它的工作原理如下:  水泵机组的选型、台数要根据用水曲线合理配备。如下图示:    大泵工频加小泵变频并联工作的流量要能满足尖峰时段用水量(7h,12h,18h)的要求;大泵的变频工作流量要能满足高峰时段(8h——11h,13h——
期刊
摘要:通过分析风力发电机种类,得出目前普遍用于风电发电的发电机类型,并通过电流模型仿真故障时风电场提供短路电流的特点,分析出风电接入系统时,对系统典型配置保护的影响,结合实例研究在整定计算时一套可行的方案。  关键词: 风力发电;短路电流;整定计算  引言:  近年随着节能减排、减少能源消耗受到社会越来越多的重视,作为目前最成熟、经济效益最好的可再生能源的风力发电再次进入人们的视野,也受到国家政策
期刊
摘 要:在建筑施工中,混凝土裂缝问题一直是施工人员所关心的问题之一。文章介绍了建筑施工中产生混凝土裂缝的种类,分析了混凝土裂缝产生的原因,并针对性地提出了具体的防治措施,以解决混凝土的裂缝问题,从而提高工程质量。  关键词:建筑施工,裂缝,原因,防治  一混凝土裂缝形成的原因  对混凝土建筑结构体可靠性产生疑问需要鉴定时,首先要对构件中出现的裂缝进行科学分析判断。混凝土是一种非均匀的脆性材料,它由
期刊
摘要:本文是作者结合多年工作经验以及工程案例。主要针对案例中的转换层施工技术作出了相关的阐述分析,以供参考.  关键词:结构转换层 模板支架 方案优选 质量控制  1 .工程概况  某综合楼工程总建筑面积为39280㎡,地下室2层,地上23层(其中地下室2层为人防及车库,地上1~4层为商业用房,框剪结构,5~23层为住宅,剪力墙结构)转换层位于第五层,属于高位转换层结构,该转换层楼板厚200 mm
期刊
摘要:本文结合工程实例,对大底盘多塔楼复杂高层建筑群的结构设计进行了系统的总结,详细阐述了基础工程、超长地下室、上部结构受力体系的主要受力特征、计算与分析方法,以及设计与施工中需要注意的主要技术问题  关键词:超长地下室;大底盘;多塔;   近些年来,各地区房地产建设、特别是商品住宅小区建设中越来越广泛采用多塔大底盘结构,并且有塔楼越来越多、底盘越来越大的趋势。究其原因主要是:1、考虑住宅配套工程
期刊
摘要:建筑工程施工安全管理是建筑企业管理活动的重中之重,同时它也关系到建筑企业生存和发展。本文主要从建筑工程施工安全管理中存在的问题着手进行研究,根据存在的安全问题提出了合理化建议和解决措施,以期对相关的工作人员有一定的帮助作用,以便更好的提高建筑工程施工的安全管理的质量。  关键词:建筑工程;工程施工;安全管理;策略    随着建筑行业的飞速发展,与建筑工程密切相关的工程施工安全管理问题也受到越
期刊
摘要:施工冷缝、泌水现象、表面水泥浆过厚、早期温度裂缝等都是大体积混凝土施工时常见的质量问题,本文从材料要求、配合比、施工、养护等多方面探讨了大体积混凝土的施工方法及要点、质量问题的产生及其预防。  关键词:大体积混凝土;施工方法;质量控制措施。    一、大体积混凝土施工中的质量问题  (一)、大体积混凝土结构特点  大体积混凝土具有结构体积大、承受荷载大、水泥水化热大、内部受力相对复杂等特点。
期刊