
CAD 软件的二次开发是指在现有的软件基础上,为了提高和完善软件功能,使之更加符合用户需求,而对软件做的开发工作。其目的是提高设计质量和效率,充分发挥通用 CAD 软件的价值。二次开发将应用对象的设计规范、构造描述、设计方法等以约束关系的形式集成到通用 CAD 平台中去,以使应用对象的设计智能化集成化。二次开发将应用对象的设计规范、构造描述、设计方法等以约束关系的形式集成到通用 CAD 平台中去,以使应用对象的设计智能化、集成化。国内外知名的 CAD/CAM 软件如 Pro/Engineer 、 SolidWorks 以及华正 CAXA 系统等,都是商品化的通用平台。这些通用软件需要考虑各行业、各地区用户的需要,而并非针对某一领域甚至某种产品的专用软件,因此用它来完成某一具体产品的设计时往往不是很方便。因为不同企业有不同的产品,其设计方法、产品结构不尽相同,即使是面向某一类对象的专用的商品化 CAD 软件,也难以满足形形色色的具体需要,所以不可能从软件公司买到适合所有产品设计需要的软件。因此,欲利用 CAD 技术取得积极效果,必须以通用 CAD 软件为基础,结合自身实际情况,进行不同程度的用户化、本地化开发,以建立应用绘图系统和数据库,形成具有自身特色的 CAD 系统,这也是 CAD 软件均提供二次开发手段的原因。 CAD 二次开发的意义不仅在于提高设计效率,而且还是提高产品设计质量的重要途径。
我们团队运用 ObjectARX 这种面向对象的开发工具,将面向对象的程序设计方法引入到结构 CAD 软件的二次开发中,设计出基于图形操作系统的数据处理和结构分析 CAD 软件——空间网架 CAD 。
本系统主要包括三大部分:前处理、有限元计算和后处理。其中除了计算程序在软件的运行过程中不可见以外,前后处理是影响软件发展的重要部分,因此,提供友善的环境,建立良好的人机交互界面是软件赢得用户青睐的关键。
空间网架 CAD 的界面如下图所示:
本系统用于网架结构的计算分析。作为一个建筑设计 CAD 软件,在功能上应具有如下的特点:
( 1 )符合建筑设计者的绘图习惯
一般来说,建筑师倾向于使用与自己习惯相符的软件,建筑 CAD 软件应尽量满足建筑师的要求,使建筑师用起来舒适。
( 2 )软件使用方便、快捷
建筑 CAD 软件在绘图过程中应尽量简单、快捷,不应有过于繁琐的命令,使用者可以轻易并且尽可能快的找到自己所需要的各种功能,能够提供各种常用的建筑构件图形库,使绘图人员拿来即用。
( 3 )软件学习周期要短
软件能够以尽可能少的命令,集成更多的编辑和修改功能,并且能最大限度地利用 AutoCAD 本身所提供的编辑修改功能,尽量缩短新软件学习的时间。
基于以上的分析,本系统的设计采用以下方案:
开发平台为 Windows 操作系统;
开发工具为 Visual C++6.0 ,绘图部分采用 AutoCAD 提供的 ObjectARX 工具包;
图形支撑软件为 AutoCAD 2000 。各模块的功能说明:
本系统主要包括三大部分:前处理、有限元计算和后处理。其中除了计算程序在软件的运行过程中不可见以外,前后处理是影响软件发展的重要部分,因此,提供友善的环境,建立良好的人机交互界面是软件赢得用户青睐的关键。
( 1 )前处理模块主要工作
① 网架结构快速建模,本系统目前能设计八种网架形式,即两向正交正放网架、两向正 / 斜交斜放网架、正放四角锥网架、斜放四角锥网架、星形四角锥网架、三角锥网架、平面桁架和尖顶半球四角锥;
② 网架起坡,包括整体起坡、上弦起坡和下弦起坡;
③ 定义杆件截面类型和节点球类型;
④ 定义约束条件;
⑤ 施加荷载及设定工况组合,荷载主要包括恒荷载、活荷载、风荷载、地震荷载、温度荷载。
前处理模块获得结构计算所需要的数据主要有:网架结构信息(节点、单元、节点球类型、边界条件等);结构材料信息(杆件截面特性、材料特性);荷载信息(恒载、活载、风荷载、温度荷载、地震荷载、节点自重以及工况组合)。
( 2 )计算模块主要工作
① 网架结构内力计算,此处采用空间桁架位移法进行计算;
② 截面校核调整,主要验算杆件刚度、强度和稳定性是否满足要求,并适当地调整杆件截面。
在开发空间钢网架 CAD 系统软件时,分别编制前、后处理程序及计算程序。由于 VC++ 能够很方便地用来开发图形用户界面( GUI ),并且它还能对硬件及 Windows 底层进行操作,具有很强的灵活性。另外,用它所编写的程序的运行效率也是一流的。而 FORTRAN 语言是当今世界上广泛流行的、最适于数值计算的一种计算机语言,也是世界上最早出现的高级程序设计语言。所以本文利用 VC++ 和 Fortran 进行混合编程,即用 VC++ 开发用以与用户交互的前后处理程序,用 Fortran 完成软件核心部分的计算任务。采用混合编程的方法进行网架系统设计是一种既节省时间,又节省人力、物力、财力的有效途径。
( 3 )后处理模块主要工作
① 查询杆件内力和节点位移;
② 显示网架变形图;
③ 焊接球节点设计;
④ 生成材料表和施工图纸。
通过网架工程实例,将本系统计算结果分别同采用 ADINA 有限元计算软件、同济大学的 3D3S 钢结构设计软件的计算结果相比较,网架节点位移和单元内力与 ADINA 、 3D3S 计算结果吻合的很好,基本可以认为本系统可以有效的进行网架结构计算,并且比较贴近具体的工程设计。

|