文章

基于AutoCAD的桥式起重机设计系统

2021-05-01屈福政 韩凌

57阅
本文介绍了基于AutoCAD的新型桥式起重机系列产品的设计系统,详细叙述了系统的简介、软件的总体设计、程序流程、各模块的功能及各模块间的关系,最后提出软件设计的关键问题及解决方案,并给出部分程序代码。

    随着经济建设的发展,用户对其性能要求越来越高,同时对产品的个性要求也越来越多样化。本系统对于提高桥式起重机的设计水平和设计效率,应用现代CAD/CAM技术,增强企业对市场需求的速度,提升企业的竞争力具有重要的实际意义。

1 系统设计

    本软件是在综合应用数据库技术、CAD技术和基于ActiveX Automation技术的AutoCAD VBA基础上,以Windows2000和AutoCAD2002为开发平台开发的。AutoCAD2002 ActiveX Automation技术将AutoCAD2002的各种功能封装在AutoCAD ActiveX对象中,供编程使用。ActiveX Automation技术完全面向对象化编程的特点,使其具备了强大的开发能力和简单易用的优良特点,而在系统的后台数据库选用上则采用Microsoft SQL Server2000。该系统是开发大、中型应用系统最好的数据库之一,它利用SQL Server 2000本身的用户、角色管理,可以使系统的用户、角色管理更加容易、清晰和安全。

    如图1所示,客户输入需要的初始化参数,如起重量、起升高度、起升速度、跨度、工作级别、小车轮压,选择主梁端梁连接形式等,系统自动查询数据库中的历史方案,如果存在则调出相应的历史方案信息供用户选择;否则,根据约束条件,优化出几种设计方案,提供给用户选择。根据确定好的方案数据系统自动设计出主梁、端梁截面以及加筋板间距并通过简图显示在屏幕上,同时显示主、端梁强度、刚度和稳定性计算结果。系统利用这一结果在AutoCAD图形软件支持下绘制主梁、端梁部件图和结构总图。同时,该结果将以二进制的形式存储在数据库中,以备重新调用或参考。

程序整体流程图

图1 程序整体流程图

    功能模块的划分首先应对系统功能进行分解;其次应充分考虑到实际应用的需要,将模块系统化,最大限度地减小模块间的耦合性,增强软件的可移植性、可扩充性和可维护性。在本系统中,用户界面包括系统菜单、视窗以及各类对话框等,其主要功能是为设计时的人机交互提供交流方式。根据系统总体规划以及上述原则,该系统主要由任务管理模块、推理机、图形自动生成模块、数据库管理模块及文件操作模块组成。系统结构见图2。

系统总体结构框图

图2 系统总体结构框图

    (1)任务管理模块主要执行历史方案的查询、显示历史方案信息、调用历史方案图形等功能。

    (2)推理机负责优化决策方案,根据用户输入的初始化参数,结合数据库中的相关数据,准确有效地利用知识库的规则,决策出符合条件的方案。

    (3)图形自动生成模块负责部件图和总图的自动生成,根据用户选择的方案,调用数据库的参数进行参数化绘制。

    (4)数据库管理模块负责数据库的管理,是外部应用与数据库的接口,可使外部进行方便的存取、扩充和更改数据库等工作。同时,该模块还负责设计数据库管理和图形文件的管理工作。

2 关键问题的解决

    该软件设计的关键问题是生成装配图后的消隐以及图形文件在数据库中的存取。

    对于装配图的消隐问题,目前主要是利用边界搜索算法进行讨论,但是对于结构很复杂、图形形式较多的情况则有一定的局限性。因此,本软件在设计时采用预消隐法,即把部件图分为部件结构图(自用)和部件装配图(为装配图准备)2种。他们共用一个程序,程序采用分支结构。当满足不同的条件时,可生成不同的图形。2者的主要区别是部件装配图在作为图块插入到装配图中,在可能产生干涉的地方进行预消隐;而结构图不需要消隐。实践证明,这种方法简单有效,而且生成的装配图需要手工改进的地方很少。

    由于需要把历史方案及图形存储到数据库中,所以这里涉及到图形文件在数据库中的存储的问题。图形文件实际上没什么不同,是特殊的二进制格式,一般称为二进制大对象BLOB(BinaryLargeObject)。就像BLOB名称所示,这种数据类型是非常大的。SQL Server 2000可以使用Images和LongVarBinary数据类型在表中存储二进制。但是,由于所设计的图形文件的大小是不固定的,所以,为了管理二进制对象的大小,使程序更具有动态性,需要自己编制程序。先把图形转换成二进制分块读入数据库,然后用二进制读出的时候指明是图形显示。这里利用Field对象提供的AppendChunk()和GetChunk()方法。前者用来存储大字段数据,后者用来获取大字段数据。但在某字段上调用Ap2pendChunk()或GetChunk()方法时,将在上次离开的地方附加数据或获取数据。

3 小结

    该软件基本上改变了传统产品的设计方式,由单纯的人工设计发展为人和计算机进行人机交互、人机合作的设计。自动完成计算机绘图、优化计算等设计工作,提高了设计效率和设计水平。

责任编辑:程玥
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
读者评论 (0)
请您登录/注册后再评论