当前位置:
文档之家› 结构分析软件SAP2000建模的二次开发技术_傅建清
结构分析软件SAP2000建模的二次开发技术_傅建清
这样就在程序中创建了一个楼层数为 3,开间数为3,楼层高度为124英寸,开间为 200的二维门式框架。
4 结语 SAP2000已经发展成为一个集成化的
建筑结构分析与设计软件,它采用独特的 图形操作界面系统(GUI),利用面向对象的 操作方法来建模,编辑方式与AutoCAD类 似,可以方便地建立各种复杂的结构模型, 同时辅以大量的工程模板,大大提高了用 户建模的效率,并且可以导入导出包括 AutoCAD在内的常用格式的数据文件,极 大方便了用户的使用。在SAP2000功能如此 强大的基础上,为了方便用户解决特定的 问题,这些问题可能不需要使用SAP2000直 接进行建模,或者是虽然SAP2000的功能如 此强大,但实际的工程的项目仍然有可能 非 常 复 杂 。研 究 单 位 针 对 这 些 专 门 领 域 的 工程项目,一般都有多年甚至数十年的专 门研究,有可能发展了一套专有的或扩展 了通用分析计算软件,但一般来说,这些程 序 都 缺 少 好 的 前 后 处 理 模 块 。那 么, 通过二 次开发技术,这些专有的或扩展的计算模 块,完全可以无缝的集成到SAP2000平台
4 结语 在灭火救援作战中,指挥车作为现场
指挥的中心,其地位是显而易见的,火场指 挥部通过车上的各种设施了解现场情况,
参考文献 [1] 郑 娟 毅 ,石 明 卫 . 8 0 2·1 1 无 线 局 域 网 技
术及其发展[J].西安邮电学院学报,2006 (3):19~22. [2] 钟涛.无线监控及防盗产品在安防工程 中的应用[J].安防科技,2003(6). [3] 郝 利 华 , 宋 文 爱 . 无 线 便 携 式 射 线 图 像 采集传输处理系统研究[J].测试技术学 报,2003(2).
3 完整的实例代码 把以上描述的步骤应用到创建一个二
维框架模型的例子中,其完整的VBA代码 如下:
Sub MyProgram() '定义变量 Dim SapObject As SAP2000. SapObject
( 下转 3 0 页)
2 SAP2000二次开的主要步骤
从SAP2000 V11.00版开始CSI公司为图2 多路火灾图像传输系统的构成
内,摄像机采集火场内部的情况,发射端将 摄到的图像及声音变成电波信号经窗户等 空 隙 传 出 火 场 。对 于 火 场 外 部 情 况, 可以在 不同部位布置几个摄像发射端,由侦察员 肩扛或架设方式,从不同角度传送火场图 像,给指挥人员提供全方位的火场信息。 3 . 2 接收端
第五步:释放模型和对象占用的空间, 代码是Set SapModel= Nothing
Set SapObject= Nothing‘这是很重要 的一步,它中断了你的应用程序和SAP2000 应用程序的连接,并释放系统资源,如果你 没有写上面代码,SAP2000应用程序就没有 完全终止,你可以在任务管理器中看到它 仍在运行。
火场环境一般比较复杂,遮挡严重,总 有某些方位的火场图像信号指挥车不能直 接接收,而要借助中继设备,这是由于无线
局域网的低功率和高频率限制了其覆盖范 围而造成的。 3 . 4 多路传输
在灭火救援工作中,往往同时需要火 场 外 部 不 同 角 度 、火 场 内 部 的 现 场 图 像,这 需 要 配 置 几 套 采 集 发 射 、中 继 设 备 和 能 够 接 收 几 路 信 号 的 接 收 设 备 。与 发 射 端 对 应 的接收机解出不同的图像信号,通过画面 分割器在一个监视器上同时显示出来,还 可单独显示某一路图像信号,供指挥人员 仔细观察某一方位现场情况,此时系统构 成如图2所示。
Set SapModel=SapObject.SapModel '初始化模型 ret=SapModel. InitializeNewModel '调用Sap2000 API函数执行所需完 成的任务 '从模板中创建一个二维门式框架 ret = SapModel.File. New2DFrame(PortalFrame,3,124,3,200) '关闭 Sap2000应用程序 SapObject.ApplicationExit False '释放系统资源 Set SapModel = Nothing Set SapObject = Nothing End Sub 程序最后的运行结果如图1所示。
1 SAP2000 介绍 SAP2000是由美国Computers and
Structures Inc.(CSI)公司开发研制的通用 结构分析与设计软件。SAP2000已有近40年 的发展历史,是美国乃至全球工人的结构 分 析 计 算 程 序, 在 世 界 范 围 内 广 泛 应 用 。工 程 师 可 以 在 同 一 个 界 面 中 完 成 建 模 、分 析 和设计,可以通过不同的视图窗口将结构 的 模 型 信 息 、分 析 结 果 和 设 计 结 果 同 时 展 现给用户,而且可以在不同显示含义的视 图中直接进行与该显示状态相关的操作, 比如, 在 模 型 信 息 中 查 看 修 改 模 型 信 息 、在 分析结果显示视图中选择显示构件的内力 详 细 输 出 、在 设 计 结 果 中 进 行 构 建 的 交 互 式设计等。设计方面,SAP2000采 用 传 统 设 计方式与交互式图形方式相结合进行结构 设计,这种设计方式可以大大提高工程师 的效率。
( 上接 2 8 页)
Dim SapModel As cSapModel Dim ret As Long '创建SAP2000对象的一个实例 Set SapObject = New SAP2000. SapObject '启动Sap2000应用程序 SapObject.ApplicationStart '创建SAP2000模型对象
信 息 技 术
下 达 作 战 命 令 。但 是, 目 前 多 数 消 防 指 挥 车 仅仅具有通讯功能, 图 像 功 能 很 弱 。利用无 线局域网技术的现场图像传输方案,可以 将火灾事故现场外部不同方位及现场内部 的情况实时传输到指挥车上,供现场指挥 员 直 观 、准 确 、全 面 地 了 解 火 场 的 发 展 变 化 情况,从而准确判断火灾的发展态势,及时 做出正确的决策,组织火灾的扑救,尽快扑 灭火灾,同时也便于火灾现场资料的保存。
我们了对其进行二次开发的技术文档,里
面包括上千个应用程序接口函数(API),这
使 得 用 户 创 建 、分 析 、设 计 模 型 的 过 程 自 动
图1
28 科技资讯 SCIENCE & TECHNOLOGY INFORMATION
科技资讯 2009 NO.06 SCIENCE & TECHNOLOGY INFORMATION
化完成,并能获得用户定制的分析与设计 结 果 。这 样 做 可 以 省 去 许 多 创 建 模 型 的 中 间过程,只根据用户的实际需求创建模型, 大 大 缩 短 了 结 构 模 型 的 创 建 、分 析 时 间,省 时省力。对SAP2000进行二次开发这一过程 主要是利用组件对象模型技术,在进程外 创 建 组 件 。可 以 使 用 大 多 数 主 要 的 编 程 语 言通过API函数来创建一个SAP2000进程。 这包括VBA(Visual Basic for Applications)、 Visual Basic 2005、Visual C# 2005、Intel Visual Fortran v9。由于VBA简单易学,并 被嵌入到了Microsoft Excel中,可以直接利 用 它 编 写 程 序 , 所 以 ,文 章 采 用 V B A 以 创 建 一个二维框架模型为例说明对SAP2000进 行 二 次 开 发 的 主 要 步 骤 。第 一 步 : 要 使 用 SAP2000的API,就要在外部应用程序中添 加对SAP2000的引用,本例从Microsoft E x c e l 中 添 加 对 其 S A P 2 0 0 0 的 引 用 。启 动 Microsoft Excel,选择工具→宏→Visual Basic编辑器,打开VBA编辑器。插入模块后 选 择 工 具 → 引 用 , 在“ 引 用 ”对 话 框 中 勾 选 SAP2000复选框,这样就添加了对SAP2000 的引用。第 二 步:创建一个SAP2000对象实 例 。代 码 D i m S a p O b j e c t A s S A P 2 0 0 0 . SapObjec‘t 创建对象变量Set SapObject = New SAP2000.SapObjec‘t 创建SAP2000对 象实例。第 三 步:启动SAP200程序。代码是
1 SAP2000二次开发的意义 1 . 1 对软件产品的功能进行扩充或根据特 殊需要组合扩展功能
由于SAP2000软件系统提供了相应的 软件开发包SDK(Software develop kit)。二 次开发人员可以根据SDK中提供的公开的 A P I (应 用 程 序 接 口 )来 访 问 软 件 原 有 的 一 些基本功能,并要据这些基本功能组合,扩 展进而形成更加专业或新的功能以完成用 户特殊的需求。 1 . 2 与第三方软件无缝地连接
SapObject.ApplicationStart。至此,你可以打 开一个已经存在的模型,也可以创建一个 新 模 型 。第 四 步 : 定 义 一 个 模 型 对 象 , 用 SapModel代替SapObject.SapModel,代码是 Dim SapModel As cSapMode
Set SapModel= SapObject.SapModel 当 完成了模型的创建后,你可以关闭Sap2000 应用程序,代码是SapObject.ApplicationExit True
停放在火场附近的指挥车装有系统的 接收端,接收由火场发射端发送的电波信 号, 转 换 成 图 像 、声 音 送 给 指 挥 车 上 的 监 视 器,指挥员能够实时看到火场情况听到现 场 声 音 , 及 时 正 确 地 指 挥 灭 火 工 作 。如 需 要,还可录像,便于资料保存。 3 . 3 中继设备