



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一种实现横断面图绘制的新方法(转载)一种实现横断面图绘制的新方法庄稼丰(中交第二公路勘察设计研究院,武汉,430052)作者简介庄稼丰:工程硕士研究生,研究方向为道路CAD.提 要针对当前路线CAD系统中绘制横断面图存在的问题,在AutoCAD环境中利用先进的ObjectARX技术实现了横断面图的自动绘制和交互排版,极大地提高了横断面图的绘制效率.关 键 词AutoCAD,ObjectARX,横断面图,自动绘制,交互排版0 引 言路线CAD系统经过多年的发展,取得了长足的进步.横断面图绘制是路线CAD系统的重要组成部分,它将设计项目中的横断面数据按用户提出的图框,比例,标注内容等要求绘制出来,
2、供施工使用.横断面图是路线施工图设计中数量最多的图纸,能否迅速完成绘制横断面图的工作是整个设计能否按时完成的重要制约因素, 因此能否提供高效灵活的横断面图绘制手段是衡量路线CAD系统水平的一个重要标志.横断面图的绘制工作可分为两部分:一是单个横断面绘制工作,即根据用户提出的比例,标注内容等要求将某个桩号的横断面绘制出来;二是排版工作,即依据桩号顺序将绘制出来的单个横断面排列于一定图幅尺寸和格式的图框中.对于大多数路线CAD系统来说,图形绘制工作都能较好地完成,而对于排版工作却不能令人满意地完成,它是绘制横断面图的难点.下面将着重讨论横断面图绘制中的排版工作.1 横断面图的自动绘制和交互排版目前
3、,已有的CAD系统中横断面图基本上都采用自动绘制的方式,而排版工作却有两种方法:(1) 手工交互排版.系统每生成一个横断面,用户就根据这个横断面的具体情况,利60 计算机辅助工程 2000用目测的方法和一定的交互工具经过数次反复调整来确定横断面在图框中的位置,利用这种方法用户可以将横断面图排得美观,合理,但效率非常低,使用起来很不方便;(2)全自动排版.计算机根据用户定义的规则进行排版,一次性将横断面图全部生成.(2) 由于横断面图千变万化,有很多特殊的断面,个人的排版习惯也不相同,因此定义排版规则都不太一样,且排版规则只能定义得较为粗浅,如定义每张图中横断面的行数和列数,或定义横断面间不相交
4、,这样虽然可以很快画出所有横断面图,但画出来的横断面图非常死板,不合理之处很多,修改的工作量也较大.例如定义了每张图中横断面的行数和列数,在绘制过程中会遇到某一个横断面填挖很(3) (1)自动绘图.根据用户定义的图框大小,绘制比例,选择的标注内容,字体大小,横断面的行数和列数,本页起始桩号即分页桩号等参数系统自动绘制一张横断面图,并将下一页的起点桩号设为分页桩号;(4) (2)交互排版.用户通过手工交互排版使横断面图布局合理,如果图面较空,可在当前的横断面图中添加一个横断面,系统会根据设计项目数据记录自动将分页桩号移到下一个桩号,在添加以前可以调整绘制比例,以实现同一张横断面图中绘制不同比例的
5、横断面;如果排不下,可通过AutoCAD命令删除本页最后一个横断面,系统会自动将分页桩号移到上一个桩号;(3)保存.如果用户对排版满意可以将这一张横断面图存盘,让系统根据分页桩号绘制下一张横断面图前,可以重新调整绘制比例,横断面的行数和列数等参数,使下一张横断面的自动绘制更加合理.这样在横断面图的绘制过程中自动化和交互排版相结合,绘制效率将会大幅度提高.No.3 一种实现横断面图绘制的新方法 612 利用Object ARX实现交互排版交互排版是本方法的重要组成部分,是否有强有力的交互排版工具将直接影响到横断面图的绘制效率.我们分析了实现交互排版的难点,认为它主要有两个问题要解决:横断面在图形
6、中的重新定位和分页桩号记录的处理.现在AutoCAD提供了先进的ObjectARX技术,我们利用这项技术来解决这两个问题.2.1 横断面在图形中的重新定位在横断面图交互排版中,横断面的重新定位非常频繁,提供良好的定位手段非常必要.原来横断面图中每个横断面都是由线段和文字等基本实体组成的,重新定位时要将需要移动的每个实体都选到,操作起来非常麻烦,后来将每个横断面做成块,这样整体移动起来比较方便,但对于想移动横断面中的一部分如标注表,就要将块炸开,重新回到基本实体的状态.标注表是整个横断面的一部分,用户在使用过程中希望整个横断面移动时,标注表要跟着移动;而移动标注表时,横断面的其他部分不动.利用A
7、utoCAD中块的概念实现上述功能非常困难.我们利用Object ARX中自定义实体技术,定义了一个如下横断面图实体,其中包含了两个位置控制点,分别控制横断面的位置和标注表的位置:class CrossSectionDrawing:public AcDbEntity doublem_Stake;/横断面桩号AcGePoint3dPos_Center;/横断面的位置控制点AcGePoint3dPos_Pane;/标注表的位置控制点标注表的几何位置由控制点Pos_Pane来确定,横断面图实体中其他部分的几何位置由控制点Pos_Center来确定,控制点Pos_Center和Pos_Pane的初始相
8、对位置由路基宽度和填挖情况来确定.当用户使用鼠标选择实体时,getGripPoints()函数会返回实体中定义的抓取点,并在屏幕上显示,我们重载getGripPoints()函数,将两个控制点加入到返回的抓取点列表中,这样两个控制点就可作为抓取点显示在屏幕上.当用户将选中的抓取点进行拖动操作,AutoCAD就调用moveGripPointsAt()函数,重新计算相应部分的几何位置,这样就实现了重新定位.使用过程中,用户只需选择要重新定位的横断面,拖动不同的抓取点就可以完成整个横断面的重新定位和标注表的单独重新定位,使用起来非常方便.2.2 分页桩号记录的处理从前述的工作流程我们可以看到,分页桩
9、号是整个横断面图绘制过程中的一个纽带,它确定了横断面图每页起始桩号,在交互排版过程中由于要增加或减少横断面它不断地被62 计算机辅助工程 2000修改.如果分页桩号是通过人工管理的,在横断面图绘制过程中用户必须花较多的精力来关注分页桩号的变化情况,这样不利于提高效率,而且容易出错.所以分页桩号必须由系统自动管理,让用户的精力集中于具体的排版工作.在绘制横断面图对话框中我们设置了一个变量记录分页桩号,在当前横断面图中添加横断面时,命令由绘制横断面图对话框发出,记录分页桩号的变量可以直接修改;但当删除横断面时,命令由AutoCAD发出,这时需要修改记录分页桩号的变量,用以往方式处理非常困难.在Ob
10、ject ARX中提供了对通告反应器机制的支持.当AutoCAD系统中的一个事件发生时,某些对象(我们称为通告者notifiers)就自动地将该事件传递到其它对象.例如:当用户拷贝,删除或修改一个对象时,每个事件的相应的通告就会自动触发.接收事件的AutoCAD对象就是反应器.反应器在它能够从通告者那里接受事件之前,必须明确地添加到该通告者的反应器列表中.我们以数据库反应器类为基类定义了新的反应器类,并重载了在数据库对象上接受erased()通告的函数:class DbModReactor : public AcDbDatabaseReactorpublic:virtual void obje
11、ctErased(const AcDbDatabase* dwg,const AcDbObject*dbObj,Adesk:Boolean pErased = Adesk:kTrue);当用户利用AutoCAD 命令删除实体时,objectErased()函数被触发,它先获取删除对象的类名,如果是CrossSectionDrawing类,再获取被删除横断面的桩号,随后修改绘制横断面图对话框中记录分页桩号的变量,这样就实现了分页桩号的自动管理.在应用中必须先产生绘制横断面图对话框,再产生一个DbModReactor对象,并通过addReactor()函数将其加入到当前图形数据库的反应器列表中,这
12、样通告反应器机制才能实现.利用Object ARX技术使横断面的交互排版灵活方便,提高了横断面图的绘制效率.3 结 论本文根据人机一体的思想,在横断面图绘制过程中采用自动绘图和交互排版相结合的新方法,使横断面图的绘制效率得到很大的提高.利用先进的ObjectARX技术在AutoCAD环境中实现了提出的新方法.No.3 一种实现横断面图绘制的新方法 63参 考 文 献12张国峰.C+语言及其程序设计教程.电子工业出版社Autodesk Inc . ObjectARX Reference Manual.A New Method of Drawing Cross SectionZhuang Jiafeng(No.2 Highway Mapping and Design Institute,Wuhan,430052)ABSTRACT The problem of Drawing Cross Section in road CAD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB31/T 1001-2016上海地区主要食用鱼品种的分子鉴定
- 贵金属矿选矿环境影响评价考核试卷
- 2024年PP-R再生料资金申请报告代可行性研究报告
- 故事代替道理:《为什么要练字》
- 信息安全与网络架构试题及答案
- 食品饮料商标注册代理服务合同
- 生物质能企业增值税留抵退税专项政策辅导与执行合同
- 2025年中国吡啶甲腈行业市场前景预测及投资价值评估分析报告
- 澳新能源资源合作开发协议
- 2025年中国薄膜开关行业市场规模调研及投资前景研究分析报告
- DB22∕T 3181-2020 公路水路行业安全生产风险分级管控和隐患排查治理双重预防机制建设通用规范
- GB/T 36713-2018能源管理体系能源基准和能源绩效参数
- GB/T 25068.1-2020信息技术安全技术网络安全第1部分:综述和概念
- “二级甲等妇幼保健院”评审汇报材料
- 《狼王梦》读书分享PPT
- 三年级美术下册第10课《快乐的节日》优秀课件1人教版
- 电力市场交易模式
- 第四课《单色版画》 课件
- 门诊手术麻醉原则课件
- 自动喷水灭火系统质量验收项目缺陷判定记录
- 提高肠镜患者肠道准备合格率课件
评论
0/150
提交评论