CAD专业软件无缝对接GRX扩展工具开发项目可行性研究报告.docx
- 文档编号:5255284
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:27
- 大小:354.82KB
CAD专业软件无缝对接GRX扩展工具开发项目可行性研究报告.docx
《CAD专业软件无缝对接GRX扩展工具开发项目可行性研究报告.docx》由会员分享,可在线阅读,更多相关《CAD专业软件无缝对接GRX扩展工具开发项目可行性研究报告.docx(27页珍藏版)》请在冰豆网上搜索。
CAD专业软件无缝对接GRX扩展工具开发项目可行性研究报告
CAD专业软件无缝对接GRX扩展工具开发项目
可行性研究报告
1总论
1.1项目名称及承办单位
1.1.1项目名称、承办单位、负责人
项目名称:
CAD专业软件无缝对接GRX扩展工具开发(暂定)
项目承办单位:
股份有限公司
项目负责人:
1.1.2企业概况
1.2项目的编制依据与研究范围
1.2.1编制依据
1.2.1研究范围
1.3项目概况
1.3.1项目目的及意义
GRX技术从根本上解决了国产平台软件与二次开发软件的兼容问题,为国产软件产业链的打造奠定了技术条件。
GRX给用户最大的选择空间,给二次开发商最低成本,最大限度满足用户专业需求,最易实现的平台移植!
1.3.2项目总体目标
源码级兼容架构,支持所有常见专业软件的零成本跨平台移植。
要成为目前国内唯一一款不需二次开发商大幅修改代码便能成功应用的二次开发接口。
1.3.3研究内容及规模
GRX(GreatStarRuntimeExtension),浩辰运行时扩展编程环境。
是针对浩辰CAD平台推出的最新二次开发软件包,是以VC++.net2005为基础、面向对象的开发环境及应用程序接口。
GRX提供大量的C++类库,用户可以开发CAD应用程序、扩展CAD类和协议、创建等同于CAD内部命令的新命令。
GRX丰富的类库使开发者可以充分利用CAD的开放结构,直接访问CAD的数据结构、图形系统、命令定义等。
GRX采用了标准的C++类库的封装形式,大大提高了程序员编程的可靠度和效率。
GRX应用程序是一个动态链接库(DLL),与CAD共享地址空间,对CAD进行直接函数调用。
因此,相对于lisp和SDS,GRX的功能更强大,编程效率和运行效率都更高,更适于开发复杂的应用软件。
1.3.4市场需求分析
1.4研究结论
2项目背景及必要性、可行性
2.1项目研发的背景
2.1.1CAD技术发展现状和趋势
CAD(ComputerAidedDesign)是计算机辅助设计的简称,CAD技术起步于50年代后期,随着技术逐步发展,已经形成了从研究开发、生产制造、推广应用到销售服务的完整体系。
目前CAD软件技术的发展,处在以工程数据库为核心,基于二维、三维设计的集成化系统阶段,其应用领域集中在工程设计行业和制造业。
未来CAD软件的发展,将适应企业提高市场响应能力和产品设计水平两方面的需要,向面向对象、三维实体造型、更广泛二次开发支持的设计方向发展。
二次开发指一个大型的软件系统平台,以不同方式提供相应的开发接口,不同的客户可以根据自己的业务需求在该平台上进行第二次有针对性的开发。
这样,软件系统平台就支持更多的专业或行业应用,从而就有更多的客户群。
成熟的大型软件系统平台,特别是CAD平台软件,由于自身行业应用的多样性,非常必要提供相应的二次开发支持。
二次开发技术也是随着CAD平台,操作系统,以及编程语言的发展而发展。
2.1.2国内外相关软件技术发展现状及趋势
国外CAD软件起步比较早,技术水平高,进入市场时间早,确立了在行业中的主导地位,并且这些软件在不断完善自身软件功能同时,还不断丰富其二次开发支持。
常见的CAD平台及其二次开发接口有:
美国Autodesk公司的AutoCAD平台及其ObjectARX开发包、美国PTC公司的Pro/ENGINEER平台及其Pro/TOOLkit开发工具包、法国DassaultSystems公司的CATIA系统及其CAAV5C++AndJavaAPI应用接口、美国UGS公司的UniGraphics软件及其UG/Open开发工具集、SolidWorks公司的SolidWorks软件及其SolidWorksAPI开发接口等等。
其中,特别是AutoCAD(简称ACAD)软件已占据国内的很大部分市场,而且基于ACAD的ObjectARX(简称ARX)二次开发包,以及由此派生的LISP,VBA,.Net支持,一直主导着国内外工程设计行业和制造业相关应用的二次开发。
随着软件技术的发展和成熟,随着更多便捷安全的编程语言发展,ACAD通过其ARX技术,将会产生更多的开发语言支持和产业化应用。
以苏州浩辰为代表的国产CAD软件企业,从模仿创新到自主创新,已研发成功与国外公司技术水平基本相当的CAD平台软件,如ICAD软件平台。
目前这些平台已拥有了相当数量的用户,正在逐步打破国外公司在中国市场的垄断,但还存在一些不足,那就是二次开发支持不全面,尤其是缺乏高度兼容又完善的二次开发包。
因此实现并完善二次开发工具包将是国内CAD软件企业未来研发的重中之重。
2.2项目研发的必要性
拥有自主知识产权的浩辰ICAD平台的研发和产业化,将有力促进国内CAD软件产业的跨越式发展,推动和促进了传统产业对信息化技术的全面普及和深入应用。
浩辰ICAD平台为国内制造业、工程设计行业提供先进的正版设计工具,适应了广大用户的需要,并最大程度的为设计单位降低了成本,具有非常重要的社会和经济意义。
随着ICAD平台安装应用的增长,各个行业的专业需求也不断提高,如建筑、机械、通信、结构等。
各个专业的用户也都在一直期待着在ICAD平台上能有更专业的二次开发模块出现,帮助他们进一步提高设计效率。
快速多变的市场,更多个性化、多样化的消费需求,越来越要求ICAD平台具有开放的体系结构,具有自主的二次开发包,才能允许用户和开发者采用高级编程语言对其进行扩充和修改,可以实现有针对性的系统复用,可以随时方便地进行添加与修改应用功能,最终能最大限度地满足用户的各种要求。
另外一方面,系统软件的二次开发支持已经成为当今软件业的一大趋势。
是否拥有二次开发功能,也成为衡量软件品质好坏的一个重要标准。
因此,实现GRX是达到ICAD平台所提出的安全性、继承性、可扩展性、可伸缩性、执行高效性以及二次开发者提出的开放性、易用性、稳定性和自主性的一条必要途径。
二次开发商架构在谁的平台上,关键还是要看你的接口是否完善,是否可以最大限度的支持平台移植。
浩辰ICAD的GRX二次开发包将实现与国外同类产品接口的标准化和一致性。
因此,通过GRX可以实现ICAD平台与广大二次开发软件的无障碍移植,大大地拓宽了CAD软件二次开发商以及用户的选择范围,不用再担心平台与专业软件的配套问题,可以按照自己的习惯和现有资源情况自主选择合适的平台和专业软件。
通过ICAD和GRX,二次开发商可完整保留自己的那一套代码,不需要再大量投入研发人力和时间去做修改,便可以实现几乎是“零成本”的成功移值,这将大幅节约移植成本。
在GRX技术支持下,ICAD平台与二次开发商实现广泛合作,为国产CAD软件用户打造出国产CAD软件产业“平台+丰富专业软件”的整体解决方案。
此项突破将带来很多基于ICAD平台上的产业化应用。
2.3项目研发的可行性
浩辰公司从1992年就开始CAD软件应用的研发,2003年成功推出自主知识产权的浩辰ICAD平台,打破了国外CAD软件对中国CAD市场的垄断。
通过几年自强不息的努力,ICAD已经成为一个具有市场竞争力和具有实用价值的产品,逐步得到了很多用户认可。
下面分别从技术基础、人才及管理条件、市场条件三个方面介绍本项目的可行性。
2.3.1项目的技术基础
(一)研发发展路程
1992年,开始AutoCAD平台上的二次开发软件的研发,浩辰公司本身就是资深专业软件开发商,很熟悉二次开发商对二次开发的技术需求。
2003年,成功推出自主知识产权的浩辰ICAD平台,同时将自己的专业软件移植到ICAD平台上,完成了SDS接口兼容性的检验,使C语言开发接口高度兼容ARX。
2005年,投入研发力量开始兼容ARX接口的预研。
2006年,完成研发兼容ARX的基础接口,基于该接口,探索者结构软件成功移植到ICAD平台。
2007年,基于同样的接口,佑达软件、统赢公司产品软件成功移植到ICAD平台,初步形成了第一个具有提供兼容ARX开发接口的国产CAD产品。
2008年,投入研发力量开始GRX预研。
2009年,逐步完成GRX的架构体系和关键技术论证、兼容接口文档撰写以及初步工作量评估。
(二)软件产权情况
ICAD平台是由浩辰公司独立自主研发的软件产品,拥有本技术的全部所有权,并获得了中华人民共和国国家版权局认定的软件著作权登记证书。
ICAD平台在2005年3月通过了国家建设部的科技成果鉴定,并且评估委员会认为其技术水平已经达到国内领先。
ICAD平台通过国家版权局认证,拥有完全自主版权,是江苏省唯一具有自主知识产权和核心技术的CAD平台应用提供商,也是首家通过建设部科技成果鉴定的CAD平台软件。
软件知识产权、专利申报情况一览表
《建设部科技成果评估证书》
编号
成果名称
发证单位
建科评[2004]042
浩辰CAD平台软件
中华人民共和国建设部
《软件产品登记证书》
证书编号
软件名称
发证机关
DGY-2004-5068
浩辰通用计算机
辅助设计软件ICAD
江苏省信息产业厅
《计算机软件著作权登记证书》
编号登记号
软件名称
发证单位
软著登字第025702
2004SR07301
浩辰CAD平台软件ICAD
中华人民共和国国家版权局
软著登字第031381
2004SR12980
建筑CAD软件IJz
中华人民共和国国家版权局
软著登字第025701
2004SR07300
浩辰ICAD电气软件IDq
中华人民共和国国家版权局
软著登字第025699
2004SR07298
浩辰ICAD暖通软件INt
中华人民共和国国家版权局
软著登字第025700
2004SR07299
浩辰ICAD给排水软件IGp
中华人民共和国国家版权局
《2005年度江苏省软件和集成电路业专项经费》
浩辰ICAD平台软件
江苏省信息产业厅
在以上两点基础上,浩辰公司将结合计算机体系结构的发展趋势,进一步完善ICAD平台以及完成GRX的研发,实现对CAD技术的升级和超越。
2.3.2项目的人才和管理条件
目前,浩辰公司直接从事研究开发的技术人员有88人,占员工总人数的67.69%。
研发成员中有多位毕业于清华大学,具有CAD软件的专业知识和经验。
优秀的软件技术人才确保浩辰软件的研发能力,也铸就了企业发展的无穷动力。
因此本项目实施的人才条件已经具备。
同时,浩辰公司自成立之日起,就非常重视公司管理制度的建设。
公司具有成熟完善的人力资源管理制度和严格规范的滚动预算财务管理制度,并且在研发组织管理上具有非常丰富的经验。
公司十分重视技术进步和产品创新开发及质量管理体系建设,2003年获得江苏省信息产业厅颁发的软件企业证书。
软件产品的研发实行项目经理负责制,其下配置专业系统分析员、程序系统员、程序员、检测员和技术支持。
软件生命周期的各阶段都由技术总工参与审核和管理工作,关键核心技术的研究和攻关,单独提出项目和技术需求,由技术总工负责具体解决。
2.3.3项目的市场条件
ICAD平台已经具有了相当大的年产能力和产能规模,在实际应用中,已经得到了相当多行业协会的推荐和用户的认可。
在此基础上,GRX开发环境具有广泛的市场需求,并在某些的行业领域已经得到了实际应用,并取得了良好的效果,因此具备产业化的市场条件。
目前的GRX前期研发中,已经和相当多的专业软件二次开发商进行合作研发,早期有北京探索者软件技术有限公司的TSSD结构软件,台湾统赢资讯有限公司的PressCAD冲模设计软件,台湾佑达资讯科技有限公司等,现阶段有清华大学建筑设计研究院工程软件所的TUS结构软件,北京信狐天诚软件科技有限公司的铁塔放样软件,北京诚创世纪技术开发有限公司的CCES电气软件,北京理正软件设计研究院的协同设计系统,江西金格网络科技有限责任公司的电子签章系统,北京鸿业科技有限公司的市政系列软件,以及俄罗斯经销商等等。
其中特别的是,天诚公司的铁塔整体解决方案已经签约了两家客户。
3项目详细内容
3.1GRX技术概述
GRX(GreatstarRuntimeeXtention)二次开发编程环境主要多个模块组成,每个模块对应一个或多个C++库,这些库开放出面向对象的应用程序接口。
通过这些接口,开发者可以使用、自定义、扩展平台功能,从而研发出自己的业务应用,比如派生自定义类,添加协议接口,添加新的命令等等。
而这些新扩展功能和内置的ICAD功能一致,因此还可以继续导出给其他二次开发人员继续扩展使用。
当然开发人员也可以改进ICAD平台内置的类对象,比如添加自定义扩展数据,添加新的函数接口,修改都在平台运行时进行的。
二次开发人员在ICAD中实现一些新功能而不用修改平台底层,可以深度访问ICAD平台,形成与平台的最紧密整合。
原因在于,以GRX为核心的ICAD平台是一个开放的架构,提供直接数据访问具体的数据库,图形系统,原始的命令处理等等,他和二次开发的应用程序共享内存地址空间,可以直接高效的调用平台内部函数。
基于GRX,ICAD平台还可以提供.NET,ActiveXAutomation,COM,LISP等支持,二次开发人员将有更大的选择自由,可以依据自身环境和需求,选择最适合的开发语言和开发工具。
3.2GRX系统结构
基于GRX核心的ICAD平台软件体系结构如下:
系统结构分为三层,分为数据层、逻辑层和用户界面层。
最底层为数据层,维护图形数据,包括DWG文件格式解释和其他文件格式转换。
其中DWG文件格式解析是最关键的,它可以使软件兼容目前市场广为流行的DWG图形文件。
最上层为用户界面层,负责接受用户的交互输入,并实时将图形显示出来。
中间逻辑层包含三大部分:
GRX核心,GRX开发接口,平台应用功能。
我们将在下一章节展开论述。
该系统体系结构是一个完善的、可扩展的体系结构,模块间设计耦合度低,每个模块独立性强,使系统的稳定性以及运行效率比较高,同时便于扩展软件功能和后期系统维护,也使得软件外部功能的开发十分便捷。
3.3GRX组成模块
GRX核心主要有七大部分组成:
RX(RuntimeeXtention)运行时扩展、DB(Database)数据库、GE(Geometry)图形几何计算、GI(GraphicsInterface)图形输出接口、GS(GraphicsSystem)图形视图系统、ED(Editcommand)命令处理、UI(UserInterface)用户界面。
3.3.1RX运行时扩展
RX模块是GRX系统中最基础、最关键的模块,主要是用来加载绑定外部程序应用和运行时类型识别。
RX模块提供了系统级的功能,如DLL初始化和链接、运行时类注册识别等。
基本技术原理是:
每定义一个RX类对象RxObject,同时就定义了一个相关联的类描述对象RxClass,用来实现运行时类型识别和扩展类接口,如判断两个对象是否类型一致,判断某个类是否是另外一个类的子类等。
因此,符合RX技术的类对象具有以下便利的基本功能:
1)类对象运行时识别以及类层次分析;
2)使用PE(ProtocolExtension)为已存在类动态添加新接口;
3)对象相等比较测试;
4)对象复制;
5)定义了相关C++宏方便于创建新的派生类。
其中,字典对象RxDictionary是RX模块中基础的容器对象,实现了文字关键词到任意对象的映射。
被映射的对象,可以是RxObject对象,RxClass描述对象,子节点RxDictionary对象等等。
所有的类描述对象RxClass都存储在一个唯一的、全局的RxDictionary对象里,维护着整个系统的类层次。
总之,二次开发模块使用了RX技术,平台提供的是可扩展的核心,一方面二次开发商可以在ICAD平台上进行专业软件的开发;另一方面这个扩展技术开发出来的功能同时也可以成为平台内核的一部分,被后续的二次开发继续使用,平台功能应用可以被不断的扩展壮大。
3.3.2DB数据库
DB模块用来存储组织数据对象与图形对象。
其中RxDatabase对象保存所有的图形对象(也叫实体)与非图形对象(数据对象,如图层、线型,文字样式等等)。
外部程序可以访问操作这些对象,也可以创建新RxDatabase对象,新的实体并把它加入RxDatabase。
DB模块也负责进行对象存取。
由于目前AutoCAD在工程设计CAD领域已经占据相当大市场,其文档存储格式DWG/DXF已经成为事实上的标准被广泛地应用,但其中DWG文件格式没有开放。
因此需要对DWG文件格式的全面解析,掌握其格式定义规则,做到图形存储完全兼容是GRX开发工作重点。
3.3.3GE图形几何计算
GE模块,图形几何计算模块,是CAD软件基础理论的计算机语言实现。
GE模块实现了线性代数与几何学涉及的对象定义和算法,如点、向量、矩阵、基本曲线与曲面等等,可用来处理二维、三维几何运算,包括各种几何实体的关系运算和坐标变换。
因此GE模块可分为两组类:
二维几何类和三维几何类。
3.3.4GI图形输出接口
GI模块用于图形绘制输出的。
GI模块定义了图形绘制接口,用来绘制所有实体对象。
关键函数为worldDraw(),viewportDraw(),andsaveAs(),所有自定义实体都必须实现worldDraw(),用来实现标准的图形绘制。
当图形绘制在不同视口可能有不同的绘制形状,则需实现viewportDraw()。
在自定义实体转换为代理实体时,需要存储绘制图元用以查看实体,则需要实现saveAs()。
3.3.5GS图形视图系统
GS模块用于配置图形查看方式。
他可以设置渲染方式、设置当前视图参数、指定图形最终输出设备等等。
3.3.6ED命令处理
ED模块用来处理CAD命令注册和事件通知等。
ED模块可以进行定义、注册新的CAD命令,新命令的处理方式和内置的ICAD命令一样,这是由于出于同一进程空间,并且都存储在内部命令堆栈内。
还可以创建命令反应器,用来监视命令执行,响应事件并通知外部程序,如命令开始、结束、取消等。
同时也要负责处理用户界面传来的命令指令,调用逻辑层相应模块的功能和数据层功能。
3.3.7UI用户界面
UI模块是基于MFC(MicrosoftFoundationClasses)的扩展类库,定义了相关的基础窗口控件对象以及CAD平台特有的窗口控件对象。
ICAD平台使用UI类库实现窗口界面,外部应用程序也可以通过开放的接口实现自己的程序界面。
这样,可以提高开发效率,同时使外部程序和CAD平台具有相同的界面风格,更重要的是,可以访问特有窗口控件,比如图层列表,颜色选择框,线形选择列表等等。
3.4GRX二次开发接口
二次开发接口的底层基础接口是GRX的C++开发接口,由其派生或者封装出SDS,VBA(基于COM的Automation),.NET以及LISP。
3.4.1C++开发接口
二次开发接口模块,底层核心是运行时扩展功能的、面向对象的C++语言编程接口。
用GRX所编出的程序,载入后就与ICAD平台在同一代码区,共享全部数据区,能够直接对平台内部的数据做任何的操作,具有极高的执行效率和强大的功能。
ICDA平台相关功能命令以及GRX扩展组件都可以用GRX实现的。
但它具有一定的难度。
首先,编程语言本身相对复杂,编程配置也比较复杂,需要二次开发者对GRX本身结构进行较为深入的了解。
其次,开发工作量大,比如编程调试的工作、完善使用内存问题等等。
最后,它对程序的安全性有着更高的要求,否则会导致平台崩溃。
因此,GRX开发接口的推广是一个很重要的工作。
GRX技术中的运行时扩展机制,使得ICAD平台可以“自我完善”,就是通过GRX扩展技术,可以不断开发出新功能,既可成为平台内部的基本组成部分,还可成为被后续开发者直接使用的系统功能调用。
通过进一步封装,就可以推出新的开发编程环境。
3.4.2SDS开发接口
SDS(解决方案开发系统,SolutionsDevelopmentSystem,简称SDS)是参照AutoCADR11所提供ADS的兼容C编程环境。
在GRX中是作为一个子集对外开发接口的。
SDS具有C的一切优点,又方便能操作ICAD平台,并且接口函数较少,不复杂,方便开发者掌握。
核心数据结构是链表,要求内存使用需要与平台一致。
因此需要要求开发者在编译的时候对内存进行跟踪,如果从程序启动到中间做了各种操作,最后关闭程序后,发现内存没有泄漏,就不会对ICAD平台造成稳定性破坏。
3.4.3VBA开发接口
第三个,就是VBA(VisualBasicApplication)的编程开发环境了。
它是对基于GRX的C++对象进行封装成ActiveX自动化对象。
所谓自动化对象(Automation),指的是实现了IDispatch接口的COM(ComponentObjectModel)对象。
COM是不同应用软件之间功能和数据进行交换的标准调用接口。
因此它首先符合COM开发环境,以使用支持COM技术的编程语言来调用访问,进而进行二次开发。
依据COM规范,自动化对象的所有接口都是通过IDispatch:
:
Invoke进行数据交换的,所有的数据都用VARIANT进行转换。
因此相对来说,它执行效率一般,但是安全性很高,开发者也比较容易上手。
3.4.4.NET开发接口
再者,就是基于.NET平台的二次开发编程环境。
GRX计划开发.NETAPI。
.NETAPI提供了一系列封装C++对象的托管外包类(ManagedWrapperClass),使开发人员可在.NET框架下,使用任何支持.NET的语言,如VB.NET、C#和ManagedC++等进行二次开发。
.NETAPI可充分利用.NET的各种优势,在保证功能强大的前提下大大提高开发速度。
其优点是完全面向对象,在拥有与C++相匹配的强大功能的同时,具有方便易用的特点。
.NET采用了垃圾回收机制,由自身框架自行判断内存回收的时机并实行回收,此而解决了令C++程序员头痛的内存泄漏问题,他们不再需要自己管理内存的申请和释放。
在.NETAPI环境下不能像在C++环境下那样利用析构函数释放其他的资源,需要程序员在程序中显式地通过Dispose来函数进行资源的释放。
GRX中的各种反应器(Reactor)在.NETAPI中由外包类映射为各种事件(Event),可通过定义这些事件的响应函数来响应GRX和ICAD的各种操作。
同时对于错误信息的处理也从函数返回值改变为通常异常来处理,使其更好地兼容性。
3.4.5LISP开发接口
另外还有一个就是GRX底层所实现的LISP(LISTProcessing)语言解释器,可以兼容执行LISP语言程序。
LISP是一种表处理函数式语言,是被解释执行的,任何一个语句键入后就能马上执行,对于交互式的程序开发非常方便。
GRX提供了LISP语言的词法、语法分析解释自动机,可以动态执行LISP语言编写的应用程序,并能访问GRX内部的功能调用。
它不需要另外的开发编程工具支持,还可以不断扩充新的LISP库函数,丰富LISP语言的功能,如达到兼容最新的AutoLISP。
进一步的就是实现兼容VisualLISP的可视化开发环境,实现编辑器、编译器、调试器一体的快捷功能集合。
但是,LISP语言本身有很多局限,而且速度也是有限的。
3.4.6开发接口小结
总结以上目前成熟的二次开发编程环境,结合SDS和GRX技术的C/C++编程环境功能最丰富,性能最高,但是语言编写和调试的难度大,整体结构也很复杂,还有存在CAD版本匹配的问题。
基于COM的VBA编程开发环境功能性能次之,但程序安全度高,比较容易上手,版本问题不大。
LISP的功能性能最差,但是LISP程序的适
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAD 专业 软件 无缝 对接 GRX 扩展 工具 开发 项目 可行性研究 报告