(机械电子工程专业论文)基于objectarx的总图坐标表自动生成系统的研究.pdf_第1页
(机械电子工程专业论文)基于objectarx的总图坐标表自动生成系统的研究.pdf_第2页
(机械电子工程专业论文)基于objectarx的总图坐标表自动生成系统的研究.pdf_第3页
(机械电子工程专业论文)基于objectarx的总图坐标表自动生成系统的研究.pdf_第4页
(机械电子工程专业论文)基于objectarx的总图坐标表自动生成系统的研究.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(机械电子工程专业论文)基于objectarx的总图坐标表自动生成系统的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 总图坐标表自动生成系统以施工图设计阶段的总图为研究对象,对采用 a u t o c a d 绘制的总图中四种特定类型:管线、铁路、道路和建构筑物四种对象, 解决其定位坐标、方位参数及其它辅助参数的自动或半自动提取,完成坐标表自 动生成。 本论文主要解决了坐标表生成过程中遇到的实际难题,根据用户的特定需求, 采用先进的0 b j e c t a r x 面向对象技术在a u t o c a d 基础上进行开发的专业c a d 系 统,解决了a u t o c a d 下的扩展数据管理和表格自动生成技术的难题。本论文首先 介绍了c a d 技术的发展现状及其二次丌发工具o b j e c t a r x 。其次主要介绍系统总 体方案设计、坐标提取系统、坐标数据管理、坐标表自动生成、系统界面5 个子 模块,对各个模块的设计过程和算法实现进行了详细阐述。基于模块化设计技术 基础,重点研究了a u t o c a d 中实体坐标数据的获取,扩展数据的存储与管理,基 于图块的坐标表白动生成技术。 本系统完全实现了设计的全部功能,能顺利完成总图坐标表的自动生成,大 大提高了总图坐标表自动生成的效率和质量。本系统已通过实际工程的全部测试, 包括代码测试、软件功能测试、正确性测试、可靠性测试、效率测试、多用户测 试和压力测试都己达到预期目的。 本论文研究工作的特色在于它的极强的实用性。它利用科学技术理论来解决 实际问题,对科技应用于生产,具有重要的现实意义。同时,解决这些问题的过 程,也是一个丰富和发展c a d 二次开发技术的过程,对c a d 二次开发技术的发 展和应用,具有积极的理论意义。 关键词:总图,o b j e c t a r x ,a u t o c a d ,坐标表,二次开发 a b s t r a c t - 一 a b s t r a c t l a y o u td r a w i n gi nt h ed e s i g np h a s eo fc o n s t r u c t i o nd r a w i n gw a ss t u d i e di n t h e a u t o m a t i cp r o d u c t i o ns y s t e mo fc o o r d i n a t e st a b l eo fl a y o u td r a w i n g i tt a r g e t s a tf o u r s p e c i f i e dt y p e si nt h ea u t o c a dd r a w i n gs u c ha sp i p e l i n e ,r a i l r o a d ,r o a da n d b u i l d i n g , s o v l e st h e i r sl o c a l i z a t i o nc o o r d i n a t e s ,t h ep o s i t i o np a r a m e t e r a n da u t o m a t i co r s e m i a u t o m a t i ce x t r a c t i o no fo t h e ra s s i s t a n c ep a r a m e t e r si nt h es y s t e ma n da u t o m a t i c c o o r d i n a t e st a b l ei nt h ee n d a c t u a ld i f f i c u l tp r o b l e m si np r o c e s so fc o o r d i n a t e st a b l ep r o d u c t i o nw a sm a i n l y r e s o l v e di nt h i sp a p e r a c c o r d i n gt ou s e r s s p e c i f i e dd e m a n d ,s p e c i a l i z e dc a ds y s t e m w a sd e v e l o p e do nt h eb a s i so fa u t o c a da n do b j e c t o r i e n t e do b j e c t a r x s u c hd i f f i c u l t p r o b l e m sl i k em a n a g e m e n to fe x t e n d e d d a t aa n da u t o m a t i cp r o d u c t i o no ft a b l ei n a u t o c a dw e r er e s o l v e d f i r s t l y , p r e s e n td e v e l o p m e n to fc a dt e c h n o l o g i e sa n df u r t h e r d e v e l o p m e n tk i t so b j e c t a r xw e r ei n t r o d u c e d s e c o n d l y , f i v em o d u l e sw h i c h i n c l u d e s y s t e mg e n e r a ld e s i g n ,t h e c o o r d i n a t e se x t r a c t i n gs y s t e m ,t h ec o o r d i n a t e s d a t a m a n a g e m e n t ,t h ea u t o m a t i cp r o d u c t i o no ft a b l e sa n dt h es y s t e mi n t e r f a c ed e s i g nw e r e m a i n l vi n t r o d u c e d w h i l et h ed e s i g np r o c e s sa n da l g o r i t h mr e a l i z a t i o no fe a c hm o d u l e w e r ed i s c u s s e di nd e t a i l t h em o d u l a rd e s i g ns u c ha st h et e c h n i c a lf o u n d a t i o n ,o b t a i n i n g o ft h ee n t i t yc o o r d i n a t e sd a t a ,e x t e n d i n gd a t a ss t o r a g ea n dm a n a g e m e n t ,a u t o m a t i c p r o d u c t i o nt e c h n o l o g yo fc o o r d i n a t e st a b l ew h i c hw e r eb a s e do nd r a w i n gb l o c kw e r e e m p h a t i c a l l ys t u d i e d 1 n h e s ef u n c t i o n sd e f i n e di nd e s i g nh a v eb e e nc o m p l e t e l ya c t u a l i z e di nt h i ss y s t e m a n dt h ea u t o m a t i cp r o d u c t i o no fc o o r d i n a t e st a b l ew a ss u c c e s s f u l l yf i n i s h e dw h i l et h e a u t o m a t i cp r o d u c t i o ne f f i c i e n c ya n dq u a l i t yo fc o o r d i n a t e st a b l ew a sg r e a t l ye n h a n c e d i n t h i ss y s t e m a l la c t u a lt e s t i n g , i n c l u d i n gc o d i n gt e s t i n g , s o f t w a r ef u n c t i o nt e s t i n g , a c c u r a c yt e s t i n g r e l i a b i l i t yt e s t i n g , e f f i c i e n c yt e s t i n g ,m u l t i u s e rt e s t i n ga n dp r e s s u e t e s t i n2 ,w e r ec a r r i e do u ti nt h i ss y s t e ma n dt h ea n t i c i p a t e do b j e c th a sb e e na c h i e v e d g r e a tp r a c t i c a l i t yw a so n eo ft h eg r e a tc h a r a c t e r i s t i c so ft h i sp a p e r a c t u a ld i f f i c u l t p r o b l e m sh a v e b e e ns o l v e db yt h es c i e n t i f i ca n dt e c h n o l o g i c a lt h e o r y t h i sp a p e r a p p l i e s t h es c i e n c ea n dt e c h n o l o g yt ot h ep r o d u c t i o na n dh a si m p o r t a n tp r a c t i c a ls i g n i f i c a n c e a b s t r c a t a tt h es a m et i m e ,t h ep r o c e s so fs o l v i n gt h e s ed i f f i c u l tp r o b l e m si sa l s oo n ep r o c e s s e n r i c h e sa n dd e v e l o p st h ec a df u r t h e rd e v e l o p m e n tt e c h n o l o g i e s i ta l s oh a st h e p o s i t i v et h e o r ys i g n i f i c a n tt ot h ed e v e l o p m e n ta n da p p l i c a t i o no fc a df u r t h e r d e v e l o p m e n tt e c h n o l o g i e s k e y w o r d s :l a y o u td r a w i n g , o b j e c t a r x ,a u t o c a d ,c o o r d i n a t e st a b l e ,f u r t h e r d e v e l o p m e n t i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 翌陛庄鱼 e tn :渤舌年岁月2 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:翌盟幽导师签 e l 期: 第一章引言 1 1 课题背景和课题来源 第一章引言 重庆中冶赛迪工程技术公司是我国大型钢铁设计企业,设计任务繁重,尤其 是总图室的设计工作更是如此,其中管线、建构筑物、铁路和道路等对象位置坐 标、方位参数及其它辅助参数的计算与坐标表输出的工作量极大,这些坐标表是 整个工程施工的基础,是确保准确工程施工的保证。a u t o c a d 软件本身不具有自 动生成坐标表的功能,所以必须采用a u t o c a d 提供面向对象的o b j e c t a r x 开发包 对其进行二次开发,使其功能得到扩展。 在总图设计中,生成各类管线、建构筑物、铁路和道路等对象坐标表是一个 及其繁杂而且极易出错的过程。例如,对于一般项目设计,各类坐标数据通常有 数百张,手工处理需要大量的人力投入,例如,一个2 5 0 0 - - 3 2 0 0 r n 3 级高炉,其各 类坐标表大致有2 0 0 - - 2 5 0 张a 3 ,其中管线约1 5 0 - - 一1 8 0 张a 3 。为提高坐标表的 生成效率和自动化程度,开发了坐标表自动提取系统,本系统利用o b j e c t a r x 面 向对象技术对a u t o c a d 进行二次开发,凸显专业定制的辅助设计技术在a u t o c a d 中处理诸如总图坐标表这种重复性的枯燥设计环节的优势,节省了设计人员的大 量工作时问,在总图室得到了成功推广应用,极大地提高了施工图设计效率。 1 2 二次开发概述 a u t o c a d 的二次丌发是在现有成熟软件a u t o c a d 的基础上,为提高和改善 软件的功能,使之更加符合用户的需求而进行的开发工作,其目的是提高设计效 率和质量,充分发挥a u t o c a d 软件的价值。二次丌发将应用对象的特殊的要求集 成在通用的c a d 软件中,使设计更加快捷、智能化。二次开发的主要特点有:专 业性、实用性和复杂性。 1 3 技术现状 1 、坐标表生成效率 电子科技大学硕士学位论文 目前,总图室生成坐标表的过程是:在a u t o c a d 中布置各类总图单元; 在a u t o c a d 系统中手工用鼠标点取各类坐标信息;根据获取的坐标信息计算其 它相关的坐标表辅助数据;审核计算的坐标表数据;在a u t o c a d 中手工绘出 坐标表,并填充相应的数据。第、步的繁琐,第步的麻烦,第步的多余 和浪费则是较为明显的不足之处,使得生成坐标表的效率极为低下,不能满足快 速生成坐标表的需要。 2 、c a d 二次开发技术现状 目前c a d 二次开发的应用研究很普遍,其中对a u i o c a d 的二次开发的研究 尤为突出,主要有3 种:v i s u a lu s ev b a ,o b j e c t a r x 。这3 种开发方法以 o b j e c t a r x 应用最为广泛,o b j e 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 e c t a r x 程序设计 环境与当今流行的v c + + 结合,为开发者使用,用户化和扩充a u t o c a d ,提供了 一个面向对象的c + + 应用程序设计接v i ,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 内部编程,能丌发出复杂的, 功能强大的应用程序。 在各行各业利用o b j e c t a r x 开发特定的应用程序,相当普遍。如数控自动编 程技术,结构有限元分析,c a d 图形的参数化设计,在服装c a d 系统开发中的 应用,在电网c a d 应用中的研究,复杂零件的三维实体造型技术等等,这些都是 基于o b j e c t a r x 的具体应用。 近年来,c a d 技术在我国各产业部门得到了广泛的应用和发展,如汽车行业开 发的车身删c a m 系统、大型有限元分析软件等,船舶工业丌发的计算机辅助造 船集成系统第一期工程u s b 1 等,c a d 技术已经深入到各行各业。据有关资料统 计,应用c a d 技术,可以使产品的设计周期缩短1 3 1 2 ,工效提高3 5 倍。 虽然c a d 技术在我国的应用已取得一定的成绩,但是还存在着一些问题。由于 c a d 技术是一种通用性平台,专业针对性差,而我国企业的产品又千差万别,c a d 技 术实际应用的领域还很有限,还没有形成市场规模,而且低水平的重复现象也比较 严重 i 艮多企业只是简单地采用c a d 绘图,不能满足企业设计绘图的实际需要。因 此,c a d 技术在工程实际中还难以达到理想的应用效果,通过o b j e c t a r x 二次丌发 特定应用程序,能满足各行业的要求。 2 第一章引言 1 4 课题任务 基于o b j e c t a r x 的a u t o c a d 总图坐标表白动生成系统项目开发基本思路 是:基于a u t o c a d 2 0 0 4 通用的设计平台,采用v c n e t 和o b j e c t a r x 2 0 0 4 为开 发平台,采用面向对象的插件( a d d i n ) 开发技术,开发提取、处理和管理各种管 线、建构筑物、铁路和道路等各类坐标信息的专门功能,并支持坐标表自动生成。 坐标表辅助系统规划为插件技术,在a u t o c a d 2 0 0 4 平台上运行,通过m i c r o s o f t w i n d o w s 风格的用户界面如菜单( m e n u ) 、图标( i c o n ) 和对话框( d i a l o g ) ,基于 a u t o c a d 2 0 0 4 扩展数据方式,执行坐标表提取、保存、编辑、修改、管理和坐标 参数计算,并自动形成坐标表。目的是节省大量的坐标计算和坐标表绘制的人工 工作量,消除手工坐标计算和坐标表制图中的错误,提高总图管线、建构筑物、 铁路和道路等各类坐标表的生成效率,满足总图自动化设计的深度要求,将设计 人员从重复、繁琐的坐标表绘制工作中解脱出来,节省时间、人力和物力,大幅 度提高总图坐标表绘制效率。 电子科技大学硕士学位论文 2 1 系统功能分析 第二章系统总体方案设计 总图( 如图2 - 1 所示) 坐标表生成系统软件开发以捕工图设计阶段各类总图单元 为对象,对采用a u t o c a d 绘图系统绘制的图形中特定类型:管线,铁路,道路和建 构筑物四类对象,解决其定位坐标、方位参数及其它辅助参数的自动或半自动提 取、坐标表的自动绘制,提高铡铁j 总图施工图设计过程中管线、道路、铁路、 建构筑物等坐标表生成的自动化程度及其准确性,降低总图设计人员的劳动强度。 i 2 1 总蚓样凹 第二章系统总体方案设计 本系统的主要功能:系统基于a u t o c a d 2 0 0 4 扩展数据结构,采用面向对象技 术,开发提取、处理和管理总图中各种管线、建构筑物、铁路和道路等各类坐标 信息的专门功能,支持坐标表编辑、修改、管理和对象参数自动计算,并自动生 成用户规定的坐标表,系统总体框图如图2 2 。 本系统设计的基本原则是: 1 、实用性 本系统主要解决工程中遇到的实际问题,把设计人员从繁重的设计任务中解 脱出来。 2 、简易性 本系统要求简单易用,系统界面简洁、美观,操作方便,功能强大,用户只 需进行坐标点输入、坐标号输入,即可自动生成所需的坐标表。 2 2 对象坐标提取设计 图2 - 2 系统总体框图 对象坐标提取是生成氆标表的关键,是准确获得坐标表相关数掘的基础,对 象提取的正确性直接关系到生成的坐标表的正确性。结合a u t o c a d 命令行提示和 电子科技大学硕士学位论文 对话框来引导用户按照正确的方式来提取特定对象管线、道路、铁路和建构筑物, 获得正确的坐标等相关信息。该模块是与用户交互的模块,交互的方式有2 种: 1 、直接点取已有对象 用户在a u t o c a d 图形交互窗口中通过鼠标拾取当前图形区域中的对象如直 线、圆弧、折线等对象上的点( 包括控制点、端点等信息) 坐标。 2 、手工输入 用户在a u t o c a d 命令行可以通过直接输入坐标数据,甚至允许任意插入与图 形对象无关联的坐标信息包括对象名称、坐标号、半径等其它对象坐标提取相关 的信息。 坐标提取设计包含4 个子模块: 1 、坐标提取 通过与用户交互,获得对象坐标相关信息。创建坐标点集,可以撤消已经属 于点集中的点。 2 、编号处理 为坐标点编号,用户输入初始坐标号,系统自动生成编号,用户也可以输入 编号。 3 、新点验证 在提取过程中,自动验证新提取的点的可用性,包括建构筑物提取中的直角 验证、封闭性检查、编号重复性验证和编号与坐标不符验证;道路、铁路和管线 提取中的偏央角计算、编号重复性验证和编号与坐标不符验证。 4 、点集修改 对已经获取的坐标点集进行修改,包括点集的删除、点集重定位、点集插 入。 2 3 坐标表数据的存储与管理 a u t o c a d 系统本身自带内部数据库,用来管理当前图形中的图元实体的相关 信息和其他非几何信息,a u i o c a d 可以维护由o b j e c t a r x 应用程序创建的扩展词 典和扩展数据,o b j e c t a r x 并提供多种操作包括添加、更新、插入和删除扩展数 据的方法。坐标表的相关信息就是以a u t o c a d 图形的扩展数据存储在d w g 格式 的a u t o c a d 文件中,无缝的集成在a u t o c a d 内部数据库中,无需任何外挂数据 库,维护方便,操作简啦,即可实现总图中各类管道、建构筑物、铁路和道路的 6 第二章系统总体方案设计 坐标数据管理,并且为扩展数据库内已有的坐标对象提供多种数据处理技术,如 添加、删除、插入、追加扩展数据等。 坐标表数据管理包含3 个子模块: 1 、添加坐标数据 向扩展数据中添加对象坐标数据,包括坐标值,坐标号,对象名称等相关信 息。 2 、插入坐标数据 向已提取的坐标数据中插入新的坐标点数据及其辅助信息。 3 、删除坐标数据 从扩展数据中删除已提取的坐标数据及其相关辅助信息。 2 4 坐标表的自动生成 在一张总图中,会生成各种类型的多种坐标表,包括管线坐标表、道路坐标 表、铁路坐标表和建构筑物坐标表。a u t o c a d 扩展数据中只保存点的坐标信息和 附加的半径信息,其它参数如方向角、方位、线长、坐标增量、坐标增量符号等 在执行坐标表生成时,根据不同的坐标对象的类型,进行相应计算获得相应的坐 标表各参数,各对象所需计数参数如表2 - 1 和表2 2 所示。 坐标表的自动生成包含3 个子模块: 1 、参数计算 计算生成坐标表所需的相关参数。 2 、写坐标表 自动生成坐标表的算法实现。 3 、后处理 坐标表分离:将当前文件中的多个坐标表拆分成一个个单一的坐标表文件。 最终生成的坐标表如附录1 ( 建构筑物坐标表) 、附录2 ( 道路坐标表) 、附录3 ( 铁 路坐标表) 和附录4 ( 管线坐标表) 。 7 电子科技大学硕士学位论文 表 1 管线和建构筑物的矢量坐标表所需计算参数 序号 参数名 1 方向角,方位 2 方向角艘分秒 3线长 4 坐标增量x 符号 5 坐标增量x 6 坐标增量y 符号 7 坐标增肇y 表2 - 2 道路和铁路的矢量坐标表所需计算参数 25 系统界面设计 序号参数名 1 h 钮韫啦谴 2 方向角,度分秒 3 线长 4 坐标增量x 符号 5 坐标增量x 6 坐标增量y 符号 7 坐标增量l k y 8 偏角 9 半径 1 0 切线眭 儿 曲线k 本系统主要和用户交互,界而设计尤为重要,界而设计的主要特点是完仝 a u i o c a d 风格堤玑界面简洁,美观大方,易与用户方便进行交互。 本系统界面主要包括四部分:菜单、工具条、对话框及a u t o c a d 命令行如下 图所示: 口 凹2 3l 贝条 第二章系统总体方案设计 日萄圃目口幽 加裁提取程块 卸噩提取桎块( 山 提取建筑协坐铽 提取道路坐幕 提取铁路坐蒜( 出 提取菅道坐标( 0 g 辑已生成对i t ( 凹 生成坐标表( g 生成坐标表独立文件哑 * 髓* 层( g 世界平面锅日蜘 浯理囝硝0 昱示工具甜9 恢复环境 围层匹配出 移至当前田层( g 改层莹就d & 堤隔离( d 冻i 言视窗图层凹 关删象囝层( o a 打开所有围层( m 球结对象囤层。 解球所有田层( d 固曝埙忍0 固层啦f u d 田层台并( 0 图2 _ 4 菜单 圈i 亘:艨i * m * 削2 - 5 对瞒框竹线类1 ”造扦 电子科技大学硕士学位论文 圈2 对话框坐标点确认 削27 对话框一坐标表生成配苴 第二章系统总体方案设计 2 6 辅助功能设计 本模块主要完成一些辅助功能,方便用户生成坐标表。 1 、坐标系转换 可将当前坐标系的x 与y 轴互换,用户可以通过它在用户坐标系与工程坐标 系之间互换:将当前视图转换成世界坐标系视图,主要可以在打开生成的坐标表文 件时使之摆正成习惯的世界坐标系视图。 2 、图层的隐藏 总图中存在来自各专业的各种图形对象的信息,在处理某种对象时,其它图 形显示信息会对处理过程产生干扰,通过图层工具隐藏无关的图形信息,可以将 除当前层外的其他层全部关闭,使用户免受其他层杂乱线条的影响,提高处理效 率。例如处理燃气专业提供的燃气管道时,可以关闭其它图层。 本工具特别适用于各种功能对象分类绘制在不同图层的场合。 3 、图形清理 清理当前图形中全部不用的图块、层等信息。 4 、自定义管线类型 在总图设计中,经常有新的管线类型出现,本系统提供了增加管线图例的功 能,方便用户以后的维护,便于系统扩展升级。 电子科技大学硕士学位论文 第三章系统开发平台 w i n d o w s 操作系统是当今最为流行的操作系统平台,开发基于w i n d o w s 平台 的o b j e c t a r x 应用程序是首要选择。 a u t o c a d 是当今应用最为广泛的c a d 软件,它功能强大,简单易用,已经 在建筑、工程等设计行业得到大量应用。最新推出的a u t o c a d 2 0 0 4 更新增了很多 新的实用的功能,对a u t o c a d 的二次开发提供了更多的支持。 3 1a u t o c a d 的开发优势 a u t o c a d 是当今世界上最广泛使用的c a d 设计软件之一,特别是在c a d 二 维设计方面。a u t o c a d 的广泛使用除了它强大的设计功能及易用性外,它的开放 的体系结构也是一个重要的原因,因为它允许用户和开发者在几乎所有方面对其 进行扩充和修改,以最大限度满足用户的特殊要求,实现针对企业的二次开发。 a u t o c a d 最强有力的扩充手段就是支持高级语言编程,如:v c + + ,c c + + ,v b , d e l p h i ,v b a , j a v a 等。 为适应总图大型图形的专业处理要求,以及未来的总图设计自动化发展,本 系统采用o b j e c t a r xf o ra u t o c a d2 0 0 4 ,结合v c + + n e t 进行项目开发,实现目 前总图坐标表绘制自动化的要求,对于未来的总图辅助设计应用的伸缩性、智能 性与集成性( 如总图其它矢量表格如土建等表格的自动绘制) ,通过针对不同总图 单元不断的定制开发与集成,向总图专业辅助设计软件发展,在总图标准化的基 础上,形成基于a u t o c a d 系统的总图专业设计的集成系统。 3 2a u t o c a d 开发工具的发展历史 a u t o d e s k 公司自a u t o c a dv 2 1 8 至今,相继推出过三代二次丌发工具。使最 终用户针对具体应用的二次丌发成为可能。第一代丌发工具a u t o l i s p 是1 9 8 6 年 随a u t o c a dv 2 1 8 提供的二次丌发工具。它是嵌入a u t o c a d 内部的人工智能语言 c o m m o nl i s p 的一个子集,是一种解释型语言。a u t o l i s p 语言规则简单,可直 接调用儿乎所有的a u t o c a d 命令,易学易用,易于交匾。a u t o l i s p 语音典型的应 第三章系统开发平台 用是实现参数化绘图,或驱动a u t o c a d 提供p d b 模块构成d c l ( d i a l o gc o n t r o l l a n g u a g e ) 文件,创建定制对话框。但是,a u t o l i s p 功能单一,综合处理能力差, 解释执行使程序运行速度慢,源程序缺乏保护机制,保密性差;不能直接访问硬 件设备、进行二进制文件的读写。a u t o l i s p 这些缺点,使其不适合总图对象处理 的系统的开发1 1 3 j 。 第二代开发工具a d s ( a u t o c a dd e v e l o p m e n ts y s t e m ) 是a u t o c a dr l l 开始支持的一种基于c 语言的开发环境。a d s 可直接利用c 编译器,将应用程序 编译成可执行文件后在a u t o a 环境下运行,从而既利用了a u t o c a d 环境的强 大功能,又利用了c 语言的结构化编程、运行效率高的优势。a d s 优越性在于具 备复杂的大规模处理能力,程序执行速度快;其缺点是a d s 程序开发周期长,并 继承了c 语言的不安全特点,如指针数据类型对内存等系统资源的直接操控会导 致a u t o c a d 系统乃至操作系统的崩测1 3 l 。 第三代开发工具包括v i s u a ll i s p ,a r x 及基于a c t i v e xa u t o m a t i o n 技术的 v b a 等。v l i s p 是a u t o l i s p 的换代产品,完全兼容a u t o l i s p 。v l i s p 通过m i c r o s o f t a c t i v e xa u t o m a t i o n 接口与对象交互,同时可通过反应器函数实现了响应事件的能 力。作为开发工具,v l i s p 提供了一个完整的集成开发环境( i d e ) ,包括编译器、 调试器和其他工具,可以提高二次开发的效率l l 引。 a r x ( a u t o c a dr u n t i m ee x t e n s i o n ) 是a u t o c a d9 1 3 之后推出的一个以c + + 语言为基础的面向对象的丌发环境和应用程序接口,使开发者能够更加深入的使 用、用户化和扩展a u t o c a d 。a r x 程序本质上为w i n d o w s 动态链接库( d l l ) 程序,与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 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 消息传递机制直接通 讯。a r x 很快被第二代的面向对象c + + 编程环境o b j e c t a r x 所代管,o b j e c t a r x 进一步对其进行了对象封装,具有面向对象编程方式的数据可封装性、可继承性 及多态性的特点,用其丌发的c a d 软件具有模块性好、独立性强、连接简单、使 用方便、内部功能高效实现以及代码可重用性强等特点。o b j e c t a r x 支持m f c 基 本类库,能简洁高效地实现许多复杂功能,代码执行速度更快、运行也更稳定。 1 3 电子科技大学硕士学位论文 3 3o b je c t a r x 2 0 0 4 程序设计环境简介 o b j e c t a r x 2 0 0 4 程序设计环境为开发者使用、用户化和扩充a u t o c a d 提供了 一个面向对象的c + + 应用程序设计接口。0 b j e c t a r x 库包含了一系列多功能工具, 应用程序开发者利用a u t o c a d 的开发式体系结构,直接访问a u t o c a d 的数据库 结构和图形系统,定义本地命令。o b j e c t a r x 2 0 0 4 可以完成的任务有:访问 a u t o c a d 数据库;与a u t o c a d 编辑器通信;用m i c r o s o f t 基础类库( m f c ) 创建 用户界面;支持多文档界面( m d i ) ;创建自定义类;编制复杂应用程序;和其它 的程序设计环境通信【l j i 引。 1 、访问a u t o c a d 数据库 a u t o c a d 图是一个存储在数据库中的对象集合,这些对象不仅表示图形实体, 而且表示内部结构,如符号表和词典。o b j e c t a r x 2 0 0 4 为我们的程序提供了访问 这些数据库结构的能力,我们也可以为专业应用程序创建新的数据库对象。 2 、与a u t o c a d 编辑器通信 o b j e c t a r x 2 0 0 4 提供了与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 内的各种事件。 3 、访问a u t o c a d 数据库 o b j e c t a r x 2 0 0 4 提供了与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 内的各种事件。 4 、使用m f c 创建用户界面 可以使用与a u t o c a d 共享的动态链结m f c 创建o b j e c t a r x 2 0 0 4 应用程序。 我们可以使用该库创建标准的w i n d o w s 图形用户界面( g u i ) 。 5 、支持m d i 使用o b j e c t a r x 2 0 0 4 我们可以创建支持a u t o c a d 多文档界面的应用程序,并 且可以保证在w i n d o w s 环境下创建的应用程序与其它的应用程序正常通信。 6 、创建自定义类 我们可以用o b j e c t a r x 2 0 0 4 类层次结构中的类创建自己的自定义类,也可以 使用o b j e c t a r x 2 0 0 4 的扩展图形库创建自定义类。 7 、o b i e c t a r x 2 0 0 4 类库 第三章系统开发平台 o b j e c t a r x 2 0 0 4 环境主要有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 类库组成【5 1 。a c r x 库提供了系统级类,用于捆绑应用程序和运行时刻类的注册与 鉴别;同时提供了大量的宏定义,用于创建新的a r x 类。a c e d 库提供了命令定 义和注册类。a c e d 库还提供了系统事件通报类,该库的另一个重要的类 a c e d i t o r r e a c t o r ,它监视a u t o c a d 编辑器的状态,并当指定事件发生时通知应用 程序。a c d b 库是a u t o c a d 数据库接口例程库,可对图形对象和非图形对象进行 查询和操作,该库包含了所有的符号表,如线型、层、文本样式、尺寸样式等; 每一个a u t o c a d 数据库都有一个有名对象词典a c d b d i c t i o n a r y ,可以用来存放图 形文件中的用户数据。a c g i 和a u t o c a d 实体渲染图形接口库用来完成图形实体 的绘制工作。a c g e 为公共几何对象实用工具库,它提供数学计算和几何计算函数, 如矢量、点和矩阵的运算等。a d s 库为c 语言库,典型的o b j e c t a r x 用a d s 库 进行诸如实体选择、操作选择集、数据获取等操作。 电子科技大学硕士学位论文 第四章坐标提取子系统设计 本模块是总图坐标表白动生成系统的最基本模块。其主要功能是获得坐标点 的坐标值以及坐标点编号,对象的名称,圆弧的半径值,来创建对象坐标点集, 点集是生成坐标表的数据集合。坐标提取子系统功能框图如图4 - 1 。 4 1 用户交互 图4 1 坐标提取子系统功能框图 o b j e c t a r x 提供了所有a u t o c a d 中与用户交互的函数,能够方便灵活地与 a u t o c a d 交互,用户可以方便的获取图元及实体对象的句柄,进而获得实体相关 的信息。用户可以直接在用鼠标拾取实体对象,也可以选择集来获取对象,也可 以从命令行直接输入信息。 o b j e c t a r x 提供的交互方式: l 、直接点选已有对象:用户在a u l o c a d 图形交互窗口中通过鼠标来拾取当 自订区域中的对象包括直线、圆弧、多义线等对象上点( 包括控制点和端点等信息) 坐标。 2 、手工输入:用户可以在a u t o c a d 中提示窗口中直接输入坐标点信息,甚 至允诈:任意插入与图形对象无关的信息。 1 6 第四章坐标提取子系统设计 4 1 1 引导用户 在对管线、道路、铁路和建构筑物提取中,各种对象的提取流程和所需提取 的参数不完全一样,a u t o c a d 命令行以向导形式来引导用户正确完成每种对象的 提取过程,用户操作有误时还及时提示用户重新操作。管线、道路、铁路和建构 筑物四种对象提取的过程不完全相同。 主要用到的函数有b o o lg e t t e x t ( c h a r 宰s _ t e x t ) ; 获得文本实体:拾取文本实体或者输入文本【1 1 】1 1 2 】 b o o lg e t t e x t ( c h a r 宰s _ t e x 0 a d s _ _ p o i n tp t ; a d s n a m ee n a m e ; a c e d l n i t g e t ( 0 , xd uxd u ”) ; i n te s = a c e d e n t s e l ( ”1 1 退出( x ) 取消上一个点( u 墒入坐标点号( d ) : , e n a m e ,p 1 ) ;命令行提示 i f ( c s = = r t n o r m ) a c d b o b j e c t l de l d ; a c d b t e x t 宰p t e x t ; a c d b g e t o b j e c t l d ( e l d ,e n a m e ) ; a c e d s s f r e e ( e n a m e ) ; i f ( a c d b o p e n o b j e c t ( p t e x t ,e l d ,a c d b :k f o r r e a d ) = = a c a d :e o k ) i f ( p t e x t 一 i s a 0 - - - - a c d b t e x t :d e s c 0 ) s t r c p y ( s _ t e x t ,p t e x t - t e x t s t r i n 9 0 ) ; p t e x t 一 c l o s e 0 ; ) e l s e p t e x t 一 c l o s e ( ) ; ) e l s e a c u t p r i n t f ( ”n 未选择文本,请重新选择! ”) ;命令行错误提示 1 7 电子科技大学硕士学位论文 r e t u r ng e t t e x t ( s _ t e x t ) ; ) ) e l s ei f ( e s = = r t k w o r d ) c h a rs _ t e m p 5 = 洲; a c e d g e t l n p u t ( s _ t e m p ) ; i f ( s t r c m p ( s _ t e m p , x ”) - - 00s t r c m p ( s _ t e m p , x ”) = = 0 ) r e t u r nf a l s e ; e l s ei f ( s t r c m p ( s _ t e m p , u ”) - - - ol ls t r c m p ( s _ t e m p , u ”) = = 0 ) m y c m d - i s u n d o = t r u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论