




已阅读5页,还剩50页未读, 继续免费阅读
(工程力学专业论文)一个基于ARXMFC的面向对象桥梁CAD系统——底层机制和构造过程的UML分析.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一个基于a r x m f c 的面向对象桥梁c a d 系统 底层机制和构造过程的u m l 分析 摘要 桥梁专家( b r i d g e e x p e r t ) 是一个基于a r x m f c 的面向对象桥梁c a d 系 统。本文结合桥梁专家的开发过程讨论了统一建模语言u m l 在面向对象软件构 造过程中的应用。a u t o c a d 是一个面向对象的软件系统,a r x ( a u t o c a dr u n t i m e e x t e n s i o n ) 采用a u t o c a d 本身的类模型作为基础数据结构,以运行时拓展的形 式提供了a u t o c a d 的面向对象二次开发环境。a r x 应用程序紧密结合在 a u t o c a d 的文档,视图体系结构之中,这是a r x m f c 开发的一个基本前提。本 文以u m l 为工具,分柝了a k x 程序基于a u t o c a d 而具有的面向对象的体系 结构。另外,本文还讨论了a u t o c a d 下a r x m f c 开发涉及的多线程问题,对 于向用户提供更为灵活的处理能力而言,在二次开发中利用a u t o c a d 的多线程 机制是非常重要的。 关键词:u m la r xa u t o c a d 面向对象多线程 a n o b j e c t - o r i e n t e db r i d g ec a ds y s t e m b a s e do na r x m f c 1 7 m l a n a l y s i so f t h eu n d e r l y i n gm e c h a n i s ma n dt h e c o n s t r u c t i o np r o c e s s b r i d g e e x p e r ti s ao b j e c t - o r i e n t e dc o m p u t e ra i d e dd e s i g ns y s t e m c o m b i n i n g w i t ht h ed e v e l o p m e n tp r o c e s so fb f i d g e e x p e r t ,t h i sp a p e rd i s c u s s e dt h ea p p l i c a t i o n o fu n i f i e dm o d e l i n gl a n g u a g ei nt h ec o n s t r u c t i o no fao b j e c t o r i e m e ds o f t w a r e a u t o c a di sao b j e c t o r i e n t e ds o f t w a r es y s t e m ,a r x ( a u t o c a dr u n t i m ee x t e n s i o n ) u s et h ec l a s sm o d e lo f a u t o c a di t s e l f a si t sf u n d a m e n t a ld a t as t r u c t u r ea n d p r o v i d e s t h e o b j e c t - o r i e n t e ds e c o n d - g e n e r a l i o n e n v i r o n m e n to fa u t o c a d b y r u n t i m e e x t e n s i o n a na r xa p p l i c a t i o nr u n su n d e rt h ed o c u m e n t v i e wa r c h i t e c t u r eo f a u t o c a d ,t h i si saf u n d a m e n t a lp r e m i s eo f a r x m f c d e v e l o p m e n t v i at h eu m l t o o l ,t h eo b j e c t - o r i e n t e da r c h i t e c t u r eo f aa r x a p p l i c a t i o ni n h e r i t e df r o ma u t o c a d i s a n a l y s e di n t h i s p a p e r o nt h eo t h e rs i d e ,t h em u l t i - t h r e a dp r o b l e m si n a r x d e v e l o p m e n t o f a u t o c a dh a v eb e e nd i s c u s s e d t op r o v i d em o r c f l e x i b i l i t yt ou s e 5 t h eu s eo ft h em u l t i - t h r e a dm e c h a n i s mo fa u t o c a di n s e c o n d - g e n e r a t i o no f a u t o c a di si m p o r t a n t k e y w o r d s :u m la r xa u t o c a d o b j e c t o r i e n t e d m u l t i - t h r e a d 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 据我所知,除了文中特别加以标注和致谢的地方外。论文中不包含其他人已经发表或撰写 过的研究成果也不包含为获得金且巴工业太堂或其他教育机构的学位或证书而使 用过的材料,与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说踢 并表示谢意。 学位论文作者签名: 雉l 缸匆 签字日期:h 口年甲月日 学位论文版权使用授权书 本学位论文作者完全了解盒肥 = 业五堂有关保留、使用学位论文的规定。有权保留 并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅本人授权金 肥工业太坐可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 秘 签字日期;o 年c 月“日 学位论文作者毕业后去向:7 咯 工作单位: 通讯地址: 导j j i l j 签名 勿射迅 签字日;l 3 :翟哆移旯幅日 电话 邮编 致谢 在论文完成之际首先要感谢我的导师王建国教授。在三年的学习中,王 老师坚实的理论功底严谨的治学态度给我留下了深刻的印象,特别是聆听王 老师教诲以及和王老师共同工作的经历,让我看到从整体出发解决困难问题的 思想力度,同时也深受扎实深入的科研作风感染,这种思想的启蒙将对我一生 产生深远的影响。王老师踏实达观的生活态度和对年轻人的关怀理解,为我树 立了人生的楷模。在此对王老师致以深深的谢意。同时,向一直在学习和生活 上鼓励,帮助我们的方诗圣老师表示衷心的感谢。 这篇论文是在北京中交跨世纪公司桥梁专家项目组完成的。在工作和写作 的日子里,公司的袁国平总经理和张力副总给了我充分信任和很大支持。在了 解系统和进入编程工作的整个过程中,我从项目组的雷磊和刘国杰那里学到了 很多东西。另外。张益华,王华杰和我一起讨论。使我对不少问题有了新的理 解。在一个实际的软件项目中做论文,让我看到了很多有意义的问题可以在技 术实践中产生,这是我最大的一个收获。这篇论文能顺利完成,需要感谢公司 的领导和所有同事。 作者 2 0 0 3 年6 月3 0 日 第一章桥梁c a d 系统b r i d g e e x p e r t 1 1 1 国外软件介绍 第一节国内外桥梁设计软件概述2 4 i ( 1 ) 美国a n s y s 系统 a n s y s 公司成立于1 9 7 0 年,是世界有限元界最著名的公司,a n s y s 公司 一直致力于分析设计软件的开发,在分析设计界始终保持一流地位。a n s y s 的 土木工程专用包a n s y sc i v i l f e m 可以用来研究桥梁的受力、变形、稳定性及 地震响应等情况,从力学计算、组合分析及规范验算与设计提出了全面的解决 方案,为桥梁设计工程师提供了功能强大且方便易用的分析手段。 a n s y sc i v i l f e m5 7 版( 土木工程专用包) 包含了材料库、截面库( 包括复合 材料截面) 、实体和梁截面的输入和输出、非线性混凝土结构分析、一般土木工 程应用、梁的后处理、结果组合、规范验算、钢筋混凝土壳和梁、土压力、抗 震分析等重要内容。 a n s y sc i v i l f e m 提供了一个强大的桥梁实体建模工具,可以方便地构造 桥梁有限元模型。直接建模与实体建模相结合,自顶向下与自底向上建模相结 合。方便的拖拉、旋转、拷贝、蒙皮、倒角等大大减少了建模时间。辅助工具 如选择和组元、拾取与工作平面也为桥梁建模提供了极大的方便。能为设计人 员提供很大的方便,大大提高了设计效率。但a n s y s 价格昂贵,界面也没有 汉化,使用成本太高国内公路桥梁设计院承受不起,而且a n s y sc i v i l f e m 的桥梁设计规范和标准以及图纸表达方式也与国内的不同,另外在设计处理上 存在很大差异,因而难以满足国内公路桥梁设计单位的需要。 ( 2 ) 美国s a p 2 0 0 0 系统 s a p 2 0 0 0 通用有限元分析软件是由美国c s i 公司开发研制的结构分析与设 计软件,至今已有三十多年的发展历史。是美国乃至全球公认的建筑结构分析 与设计软件的业界标准。 s a p 2 0 0 0 集成了荷载计算、静动力分析、线性和非线性计算等所有计算分 析为一体。容纳了最新的静力、动力、线性和非线性分析技术。s a p 2 0 0 0 已经 发展成为一个集成化的结构分析与设计软件,她采用独特的图形操作界面系统 ( g u i ) ,利用面向对象的操作方法来建模,编辑方式与a u t o c a d 类似,可以 方便地建立各种复杂的结构模型,同时辅以大量的工程模板,大大提高了用户 建模的效率。并且可以导入导出包括a u t o c a d 在内的常用格式的数据文件,极 大地方便了用户的使用。 s a p 2 0 0 0 分析计算功能十分强大这是国际上业界的公认事实,由于目前 s a p 2 0 0 0 还没有引入我国规范,所以不能在设计中直接应用,只是在我国局部 地区得到认可和使用,很大程度上是作为作为桥梁结构方案选型、设计校核对 比分析软件来使用。因此s a p 2 0 0 0 更多地是起到了一个桥梁结构计算程序的作 用远不能满足整个桥梁设计流程的需要。 ( 3 ) 韩国m i d a s 系统 m i d a s 系统是由m i d a si n f o r m a t i o nt e c h n o l o g y ( 简称m i d a si d 开发的 通用结构有限元分析和设计系统,m i d a si t 隶属于浦项制铁开发公司( p o s c o e c ) 。p o s c oe & c 是p o s c o 的一个分支机构,是韩国顶尖的建设公司。目前在 韩国结构软件市场中,m i d a s 系统的市场占有率排第一位。据m i d a si t 公司 称m i d a s 系统已经在4 5 0 0 个工程项目中得到应用。与其他国外软件不同的 是,m i d a s 的界面非常友好,操作方便,在m i d a s 软件中,提供了工作树目 录功能,工作树列有用户建立的所有模型的数据文件,对用户管理和编辑模型 文件非常有用。工作目录树是为了加快建模速度减少鼠标移动量面开发的新的 建模方法。其基本原理是:“选择节点或鼠标,将已经定义的属性分配给被选择 的目标”。这里所说的信息是指除了节点和单元的位置信息之外,用户建立的所 有信息( 材料、截面、厚度、边界条件、质量、群组、载荷、分析条件等) 。 m i d a s 系统的优势是非常明显的,它很好她解决了桥梁设计可视化建模问题, 但是使用它对有限元的知识要求很高,这对国内的设计人员来讲很不习惯,国 内桥梁设计人员已经习惯了传统手工设计的流程,而在传统的桥粱设计过程中, 很少依赖有限元的设计方式,因此m i d a s 系统在国内的实际应用性较差。 l 1 2 国内软件介绍 ( 1 ) 桥梁博士系统 桥梁博士系统是以同济大学桥梁工程系周宗泽老师为首的项目组开发的桥 梁设计软件,它在国内桥梁工程界占有很大的市场份额。桥梁博士系统不仅提 供了常用的以平面杆系计算理论为基础的分析手段,而且提供了以空间梁格体 系为模型的空间分析手段,从而使该软件系统成为从简支体系到连续体系、从 拱梁组合体系到斜拉桥乃至悬索桥,从正桥到斜桥、弯桥以及异形桥梁均可求 解的通用的桥梁结构分析平台。提供了现行公路桥梁规范所有荷载;结构设计 涵盖了钢筋混凝土、预应力混凝土、钢结构、组合断面等多种形式:考虑了各 种体系的非线性影响,可以对钢筋和预应力进行面积估算和结构安全性验算; 对于公路桥梁规范,系统能自动判别验算结果是否满足规范规定;面向施工实 际情况,提供模拟复杂施工操作的手段。 ( 2 ) 桥梁大师系统 桥梁大师是中交跨世纪公司开发的基于a u t o c a d 用于桥涵设计的c a d 软 件,采用参数化自动计算成图,可完成不同类型桥涵各种细部结构的设计计算、 构造图和钢筋图的绘制、以及工程量的统计。 桥梁大师主要功能是可生成各种类型大中小桥桥型布置图适用于单双幅, 等跨或不等跨,任意斜交角度,上部结构是各种类型的实心板、空心板、t 梁、 连续箱梁( 等截面或变截面。单箱或双箱) ,下部结构是肋板式桥台、u 型桥台、 柱式桥墩台、重力式桥墩台、轻型桥墩台。基础可以是桩基础、扩大基础;同 时还可绘制各附属构造物( 包括各种类型的防护栏、搭板、分隔带、泄水槽及锥 坡) 、桥面标高、基础标高、桥的横坡纵坡、原地面线及地质柱状图等。此外还 可以进行各种普通钢筋砼盖梁及预应力盖梁的内力及配筋计算、强度和抗裂验 算,并生成设计说明书,同时生成盖梁离散图、盏梁弯矩剪力包络图、盖梁钢 筋构造图。另外还可以进行管涵的设计,并且可用树型视图及文件列表管理设 计数据文件及设计图纸,并提供参量式图库和固定式图库,固定式图库中包括 交通部颁布的桥涵标准图近3 0 0 0 张。图纸可由用户根据使用情况来分类,每张 图纸都可加入说明文字。 桥梁大师的功能特色是: 可视化:标准w i n d o w s 风格的界面,直观,简单,易用参数化图纸完全。 参数化:设计数据完全模板化输入,即时修改即时生成。 标准化:计算和绘图模块遵循交通部颁布的标准,提供参量式和固定式两 种图纸库。 集成化:数据输入、图纸生成与修改、计算、图纸管理有机地集成在一起。 网络化:通过网络可共享设计资料实用化实用的设计模块。并在工程实际 中得到多次验证。 目前国内桥梁设计软件数量很多,仅同济大学桥梁工程系就开发出好几套 程序用来做桥梁设计,但是这些程序大多是单模块,单功能的,集成度低,系 统性差。总的来说,有些偏重于分析功能,有的注重自动出图功能,还有的是 注重用户使用界面的友好。三者都很强的软件还没有。主要原因是我们的专业 软件开发还是手工作坊的开发模式,很难有什么经典的产品出现。以在国内市 场占有率较大的桥梁博士和桥梁大师系统来说,虽然能够满足国内桥梁设计规 范的要求,并且考虑到了国内桥梁设计实践中的各种特殊情况,但是它们的前 后处理系统只是以简单的对话框代替了写数据文件,并没有真正意义上实现图 形化建模,缩小与国外同类软件的差距。桥梁专家将第一个尝试解决国内桥梁 设计的可视化建模问题,真正让国内设计人员感到好用,符合国内设计习惯。 第二节b r i d g e e x p e r t 系统架构 桥梁专家前后处理系统为在a t u o c a d 2 0 0 0 平台下的一个桥梁可视化建模 系统,系统采用a t u o c a d 数据库的字典来存取桥梁设计模型的几何数据和工程 设计数据,所有的对象在字典中都可以以条目方式索引出来,最终把字典中的 数据导入计算模块中的数据文件中去。根据核心计算模块所返回的计算阶段结 果,同时结合前处理图就可以生成各种后处理成果。 系统以a u t o c a d 为开发平台,使用的工具是o b j c c t a r x 。开发的基础软件 是a u t o c a d 2 0 0 0 、o b j e c t a r x 2 0 0 0 、v i s u a lc + + 6 0 、a c c e s s 2 0 0 0 。a c c e s s 2 0 0 0 用来建立模板截面数据库。o b j e c t a r x 2 0 0 0 是a u t o c a d 2 0 0 0 使用的一种特定的 c + + 开发环境。o b j c c t a r x 包含一组动态链接库( d l l ) ,这些库和a u t o c a d 在 同一地址空间运行并能直接利用a u t o c a d 核心数据库和代码。o b j c c t a r x 的一 大特点就是可以直接操纵a u t o c a d 的数据库系统,在最底层管理各种数据信 息。a u t o c a d 系统本身的数据库称为当前数据库,用来管理当前图形中图元实 体和其他非可见信息。在桥梁设计过程中,不管是从图库中直接调用现有的实 体还是自定义生成的实体。都要操作a u t o c a d 的多个数据库:当前数据库、用 户数据库、临时数据库等。利用o b j e c t a r x 能简捷高效地完成这些功能。 系统支持从w i n d o w s 9 5 到现在的w i n d o w $ x p 等主流操作系统,不支持其 它操作系统;以a u t o c a d 2 0 0 0 为主平台,支持a u t o c a d 2 0 0 2 等高版本的c a d 平台;可以在目前的硬件环境中使用,不需作特别要求,暂不提供网络交互环 境。 系统采用直挂在c a d 图形区旁的属性页式的可移动窗口为主窗口,这是个 设计非常友好,方便操作的用户界面。四个属性页代表桥梁专家的四个功能子 系统,在每个属性页又采用树形控件,工作树列有用户建立模型所需要的属性, 通过对话框和用户进行交互,接受用户的参数输入,完成指定的设计任务。以 主界面几何建模模块为例,如下图所示: 4 图1 1 主界面中的几何建模界恧图 桥梁专家系统原始输入数据可分为节点数据、单元数据、材料数据、荷载 数据,以前均采用数据文件输入的方式。在桥梁专家系统的开发过程中,节点 数据、单元数据、荷载数据都被定义为a r x 的定制图形实体,从a u t o c a d 图 形实体基类a e d b e n t i t y 继承,可以象对待a u t o c a d 自有图形实体一样填加、 编辑、删除有限元节点、单元和荷载数据。通过重载w o d d d r a w 函数,按照自 己设计图形样式显示实体。重载d w g o u t f i e l d s 函数则可在图形库中存储计算所 需各种数据,保证了数据完备性。本系统原始输入数据之间有很大相关性,如 单元数据需输入节点信息,计算荷载数据需输入单元信息等。以前,同类的桥 梁设计软件节点要有节点编号,单元要有单元编号,对于单元中所需的节点信 息,则输入节点编号,在集中力荷载、面力荷载、温度荷载需要对应单元、节 点信息等情况下也输入节点、单元编号。但节点编号是顺序编号,在需要后插 入要一个节点时,其后续节点单元编号数据就需要做大量相关修改工作。在桥 梁专家系统中。单元类和荷载类数据成员定义了a e d b o b j e e t l d 类型和 a c d b o b j e c t i d a r r a y 类型的节点指针和节点指针数据,通过节点指针和节点指针 数据获取节点坐标,无需对节点、单元编号。材料特性数据适合以二维表格的 形式显示、编辑、存储。系统开发过程中,从a c d b d i c t i o n a r y 类派生了材料特 性类,从a c d b o b j e c t 类派生材料特性记录,用m s g r i d f l e x 控件显示、编辑材料 特性数据。材料特性数据存放在图形数据库的数据字典中,以材料名称为关键 词检索材料特性数据,在其他类中只需存储材料名称。 系统结构如下图所示 图1 2 系统结构图【2 2 】 应用结构如下图所示: 区圃匿霹翌题囹 , 酸群式o 幽垃r r 7 腰i 市甄丽羽 一 l 划分设计厂一一- 1垒o 旦黎塑箨格式fl :二二: 二= 1 响莉届处理幽i j l 定义活载和荷lj l 载组合r - 、 图1 3 应用结构刚2 2 系统采用a u t o c a d 数据库的字典来存取桥梁设计模型的几何数据和工程 设计数据。所有对象在字舆中都可以以条目方式索引出来。最终把字典中的数 据导入计算模块中的数据文件中去。数据模型如下图所示: 图1 4 数据模型图【2 2 系统功能结构如下图所示 图i - 5 系统功能结构图f 2 2 】 第二章a u t o c a d 的o b j e c t a r x 开发环境 第一节a u t o c a d 开发环境概述 a u t o c a d 是应用广泛的通用计算机辅助设计软件包。它的强大生命力在于 其通用性,多种工业标准和开放体系结构。在软件接口方面a u t o c a d 提供了三 种软件开发环境:a u t o l i s p 、a d s 和a r x 。a u t o l i s p 是一种解释型语言,运行速 度较慢,同时其能力有限;a d s 是开发a u t o c a d 的c 语言设计环境;a r x 是 自a u t o c a dr 1 3 版开始特有的面向对象c + + 开发环境、功能强大、运算效率 高。通过在c a d 应用系统的应用表明,它的许多新特性能实现许多原来开发环 境难以实现的功能,提高开发效率。a r x 代表着a u t o c a d 的发展方向,将成 为新一代应用软件开发的首选工具。 o b j c c t a r x ( a u t o c a dr u n t i m ee x t e n s i o n ) 是一个以c + + 语言为基础的面 向对象的开发环境和应用程序接口。它采用面向对象的编程原理,提供可与 a u t o c a d 直接交互的开发环境能使用户方便快捷地开发出高效简洁的 a u t o c a d 应用程序。a r x 能够对a u t o c a d 的所有事务进行完整的、面向对象 设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。 从本质上讲,o b j e c t a r x 是一种特定的c + + 编程环境,它包括一组动态链 接库( d l l ) 这些库与a u t o c a d 在同一地址空间运行并能直接利用a u t o c a d 核心数据结构和代码库中包含一组通用工具,使得二次开发者可以充分利用 a u t o c a d 的开放结构,直接访问a u t o c a d 数据库结构、图形系统以及c a d 几 何造型核心,以便能在运行期间实时扩展a u t o c a d 的功能,创建能全面利用 a u t o c a d 固有命令的新命令。a r x 程序与a u t o c a d 、w i n d o w s 之间均采用 w i n d o w s 消息传递机制直接通讯。o b j e c t a r x 的核心是两组关键的a p i ,即 a c d b ( a u t o c a d 数据库) 和a c e d ( a u t o c a d 编辑器) 另外还有其它的一些重要 库组件如a c r , x ( a u t o c a d 实时扩展) 、a c g i ( a u t oc a d 图形接口) 、 a c g e ( a u t o c a d 几何库) 、a d s r x ( a u t o c a d 开发系统实时扩展) 。 尽管a r x 接口是a u t o c a d 所有a p i 中最强有力的,它也具有产生严重编 程错误的最大潜在性,如破坏a u t o c a d 数据结构等,这是a r x 开发所需要注 意的。 9 第二节a r x 编程环境 以下对a r x 面向对象编程环境作一详细论述。 2 2 1a r x 编程环境 a r x 编程环境提供了面向对象的c + + 应用程序编程接口,使开发者能够更 加深入的使用、用户化和扩展a u t o c a d 。a r x 库包含了一系列工具,开发者利 用a u t o c a d 的开放体系结构可方便的直接访问a u t o c a d 的数据库结构、图形 系统以及进行内部命令定义。 a r x 环境主要有a c r x 、a c e d 、a c d b 、a c r x 、a c g i 、a c g e 和a d s 类库 组成。a e r x 库提供了系统级类,用于捆绑应用程序和运行时刻类的注册与鉴别。 a c r x 库同时提供了大量的宏定义,用于创建新的a r x 类。a c e d 库提供了命令 定义和注册类。a c e d 库还提供了系统事件通报类。a c d b 库是a u t o c a d 数据 库接口例程库,可对图形对象和非图形对象进行查询和操作。a c g i 和a u t o c a d 实体渲染图形接口库用来完成图形实体的绘制工作。a c g e 为公共几何对象实用 工具库。a d s 库为c 语言库,典型的a r x 用a d s 库进行诸如实体选择、操作 选择集、数据获取等操作。从a u t o c a d 的发展趋势看。在利用v c + + 编制具有 w i n d o w s 风格的用户接口方面,a r x 将会提供更多的类和函数,从而代替a d s 。 2 2 2a r x 应用程序的初始化 a r x 应用程序的初始化通过i n i t a p p 0 来完成,如下所示: v o i d i n i t a p p ( ) a c e d r e g c m d s a d d c o m m a n d ( ”a s d k _ t e s t ”, 。a s d k _ t t ”,t e s t ”,a c r x _ c m d _ m o d a l ,t e s 0 ; ) a r x 均采用a c e d 类实现命令注册,采用此法向a u t o c a d 添加的新命令与 a u t o c a d 内置命令有着相同的特性和地位,我们称之为本地命令。一种典型地 命令注册方式如下: a e e d :e r r o r s t a t u s a c e d c o m m a n d s t a c k :a d d c o m m a n d ( c o n s c h a r + c m d g r o u p n a m e ,c o n s tc h a r + c m d g l o b a l n a m e , o c o n s tc h a r + c m d l o c a l n a m e ,a d e s k :i n t 3 2c o m m a n d f l a g s , a c r x f u n c t i o n p t rf u n c t i o n a d d r ) 其中 c m d g r o u p n a m e 指命令将要添加至组的a s c i i 码表示,如组不存在则在命 令加入之前将建立该组。 c m d o l o b a l n a m e 指将要添加命令的a s c i i 码表示( 全局名) c m d l o e a l n a m e 指将要添加命令的a s c i i 码表示( 当地名) c o m m a n d f l a g s与命令相关的标识,可能值有a c r xc m d t 凡n s p a 砒n t a c r x _ c m d _ m o d a l ,a c r x _ c m d _ u s e p i c k s e t 和 a c r x _ c m d _ r e d r a w , f u n c t i o n a d d r 当命令被a u t o c a d 调用时所执数的地址 2 2 3a r x 入口函数 a r x 应用有一主入口点进行消息循环。在注册命令时它们又将成为额外加 到应用中的入口。在重载a r x 库的c + + 类的虚函数时,这些函数也将成为进入 应用的入口点。通用入口函数如下: a c r x :a p p r e t c o d e a c r x e n t r y p o i n t ( a c r x :a p p m s g c o d em s g ,v o i d + p k t ) s w i t c h ( m s g ) c a s ea c r x :k l n i t a p p m s g : i n i t a p p 0 ; b r e a k ; c a s ca c r x :k u n l o a d a p p m s g : u n l o a d a p p 0 ; ) r e t u ma c r x :k r e t o k ; 卸载函数 卸载函数一般采用如下方式: v o i d u n l o a d a p p ( ) a c e d r e g c m d s r e m o v e g r o u p ( ”a s d k _ t e s t “) 第三节a u t o c a d 下a r x 开发的多线程问题 已知a u t o c a d 是一个多线程的应用。a r x 程序是a u t o c a d 的运行时拓 展。那么在a r x 开发当中是否涉及多线程程序设计? 关于这个问题,从可以获 得的文献资料上未见论述,本文尝试对此问题进行一定的探讨。 在b r i d g e e x p e r t 开发已完成的部分中,观察到了消息的并发响应。如图所 示, 图2 - 1 预应力钢筋模块中消息的并发响应 在添加按纽的响应未结束时,鼠标拖回对话框,单击删除按纽出现了响应。 看一下添加按纽的单击响应函数源码; 主窗口转点添加按钮响应函数 入口参数:无 返回值:无 v o i dc b e y y l d e s i g n :o n y y l g j z d a d d ( ) i f ( m _ f u n r u n i n g ) r e t u r n ; m _ f u n r u n i n g = t r u e ; f b e l o c k d o c ( t r u e ) ;( 锁定文档) f b e c a n c e l 0 ; c b e y y l s t e e l + m _ y y l g j g _ y y l m a n a g e g e t y y l i n d i c t ( m _ c u r l t e m ,f a l s e ) ; l m m l | | l | l | l | l l i ,添加转点 i f ( m _ y y l 舀- z d a d d 0 ) m _ y y l g i - c l o s e 0 ; ) e l s e d i s y y l p r o p e r t y 0 ;,刷新该钢筋的表格属性,( 锁定文档) i n i t z d l i s t 0 ;届0 新转点列表 m _ y y l e i - c l o s e ( ) ; ) l l l m l | l m | l f b e l o c k d o c ( f a l s e ) ; f b e c a n c e l 0 ; m _ f u n r u n i n g = f a l s e ; 其中调用的c b e y y l s t e e l :z d a d d o 函数源码如下 ,添加转点 ,入口参数:转点编号 ,返回参数:成功1 ;失败0 ; 3 b o o lc b e y y l s t e e i :z d a d d o ( a s s e r t w r i t e e n a b l e d 0 : b o o lv i s = i s s h o w q x o ; s h o w q x ( t r u e ) ; i n tn = m _ s y y l p r o p e r t y m _ d x p t 1 e n g t h 0 ;当前转点数 a c g e p o i n t 3 ds t a r t ,e n d ; a c d b o b j e c t i do l d ; c h a n g c u r u c s 0 ; i f ( n 一0 ) ,没有任何交点 i f ( y y l d r a g l i n e ( t h i s ,- 1 ,“钢筋起点坐标( 钢筋坐标系) , e n d ,s t a r t ) = = 0 ) g o t oe n d ; a c u t p r i n t f ( ”h ”) ; f b e p r i n t ( a s d b l a r r a y ( s t a r t ) ) ; i f ( y y l d r a g l i n e ( t h i s ,1 ,“预应力钢筋转点l , s t a r t ,e n d ) 一0 ) g o t oe n d ; f b e p r i n t ( a s d b l a r r a y ( e n d ) ) ; ms y y l p r o p e r t y 1 1 1d x p t a p p e n d ( s t a r t ) ; ms y y l p r o p e r t y md x p t a p p e n d ( e n d ) : i ns y y l p r o p e r t y mz d q y r a d i u s a d d ( 0 ) ; l r ls y y l p r o p e r t y mz d q y r a d i u s a d d ( o ) ; m _ y y l k i y h l d s a p p e n d ( ( a c d b o b j e c t l d ) o ) ; m y y l g j y h l d s a p p e n d ( ( a c d b o b j e e t l d ) o ) ; o l d3 f b e c r e a t e l i n e ( t r a n s l a t e c o o r d ( s t a r t ) ,t r a n s l a t e c o o r d ( e n d ) ) ; a c d b e n t i t y e n t ; a c d b o p e n o b j e c t ( e n t ,o l d ,a c d b :k f o r w r i t e ) ; e n t - s e t c o l o r l n d e x ( q x _ c o l o r ) ; e n t s e t l i n e t y p e ( ”d a s h d o t ”) ; 4 e n t - c l o s e 0 ; m _ y y l g j q x l d s a p p e n d ( o l d ) ; o l d2 f b e c r e a t e l i n e ( t r a n s l a t e c o o r d ( s t a r t ) ,t r a n s l a t e c o o r d ( e n d ) ) ; a c d b o p e n o b j e c t ( e n t ,o l d ,a c d b :k f o r w r i t e ) ; e n t - s e t c o l o r l n d e x ( g j _ c o l o r ) ; e n t - c l o s e ( ) ; m _ _ y y l g j z x l d s a p p e n d ( o i d ) ; c r e a t e z d t e x t ( 0 ) ; c r e a t e z d t e x t ( 1 ) ; a d s _ _ p o i n t _ s e t ( a s d b l a r r a y ( e n d ) ,a s d b l a r r a y ( s t a r t ) ) ; ) e l s e ,至少已有一条切线 s t a r t 。g e t z d ( m _ s y y l p r o p e r t y md x p t 1 e n g t h ( ) 1 ) ; w h i l e ( 1 ) i n tn 2 m _ s y y l p r o p e r t y m _ d x p t 1 e n g t h 0 ;转点数 c s t r i n gp r o m p t ; p r o m p t f o r m a t ( ”预应力钢筋转点n + 1 ) ; e n d s e t ( 1 0 0 ,2 0 0 ,o ) ; a c u t p r i n t f ( p r o m p t ) ; i f ( y y l d r a g l i n e ( t h i s ,l ,p r o m p t ,s t a r t ,e n d ) 一o ) g o t oe n d ; f b e p r i n t ( a s d b l a r r a y ( e n d ) ) ; m _ s y y l p r o p e r t y m _ d x p t a p p e n d ( e n d ) ; m _ s y y l p r o p e r t y m _ z d q y r a d i u s a d d ( o ) ; m _ y y l g j y h l d s a p p e n d ( ( a c d b o b j e c t l d ) 0 ) ; o l d2 f b e c r e a t e l i n e ( t r a n s l a t e c o o r d ( s t a r t ) ,t r a n s l a t e c o o r d ( e n d ) ) ; a e d b e n t i t y + e n t ; a c d b o p e n o b j e c t ( e n t ,o l d ,a c d b :k f o r w r i t e ) ; e n t - s e t l i n e t y p e ( ”d a s h d o t ”) ; e n t - s c t c o i o r i n d e x ( q xc o l o r ) ; e n t - c l o s e ( ) ; m y y l g j q x l d s a p p e n d ( o l d ) ; 5 o l d 。f b e c r e a t e l i n e ( t r a n s l a t e c o o r d ( s t a r t ) ,t r a n s l a t e c o o r d ( e n d ) ) ; a c d b o p e n o b j e c t ( e n t ,o l d ,a c d b :k f o r w r i t e ) ; e n t - s e t c o l o r i n d e x ( g j c o l o r ) ; e n t c l o s e ( ) ; m _ y y l g j z x l d s a p p e n d ( o l d ) ; c r e a t e z d t e x t ( n ) ; a d s _ p o i n t _ s e t ( a s d b l a r r a y ( e n d ) ,a s d b l a r r a y ( s t a r t ) ) ; ) e n d : i f ( v i s ) s h o w q x ( t r u e ) ; e l s e s h o w q x ( f a l s e ) ; r e s t o r e c u r u c s ( ) ; r e f l a s h g r u o p ( ) ; r e t u mt r u e ; ) 而删除按纽的响应函数如下 ,删除预应力钢筋转点 v o i dc b e y y l d e s i g n :o n y y l g j z d d e l e t e ( ) t o d o :a d dy o u rc o n t r o ln o t i f i c a t i o nh a n d l e rc o d eh e r e m | l l m m l | i m i n ti n d e x = m _ z d l i s t g e t c u r s e l 0 ; i f ( ! ( i n d e x + 1 ) ) a f x m e s s a g e b o x ( “请选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新质生产力的重要表现
- 物体系统的平衡
- 2025年肾脏病学影像学模拟测试卷答案及解析
- 民族团结道德讲堂课件
- 2025年康复医学康复方案制定考核试题答案及解析
- 安全生产工作讲话讲解
- 2025年耳鼻喉头颈外科学科模拟测验答案及解析
- 民族团结宣讲课件
- 2025年烧伤科烧伤护理与皮肤修复模拟考试卷答案及解析
- 民族团结pp课件
- 市场管理考试试题及答案
- 2025至2030年中国大型电脑行业市场深度分析及发展前景预测报告
- 社区网格员笔试考试题库及参考答案
- 2025年中小学生科学知识竞赛试题及答案
- 胸腰椎压缩骨折课件
- 企业安全生产无事故管理方案
- 房屋征收业务培训课件
- 影视中的人工智能
- 中职口腔生理基础教学课件
- 气瓶检验人员考试题题库及答案
- 胰腺超声标准切面
评论
0/150
提交评论