自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 资源 (2)
  • 收藏
  • 关注

原创 ObjectARX 人机交互技术模拟原型程序介绍

  多 文 档 命令 行 一、概括:    作者长期从事 CAD 软件的使用、对比、二次开发技术的研究工作,特别对于欧特克(Autodesk)软件公司的旗舰产品 AutoCAD 以及其二次开发平台 ObjectARX for AutoCAD ,它公布许多的应用程序 AutoCAD 本身的组件、或者组件的开发接口。经作者的多年分析,可以对它进行如下描述:其核心二次开发技术 Obj

2008-10-16 10:13:00 1078

原创 两个框架

       两个框架 ,最近仔细研究 AutoCAD 应用程序的界面,发现其具有两个框架窗口,一个为 CMDIFrameWnd 型,一个为 CFrameWnd 型,利用 VC++6.0 在 Windows 2000 Pro 上形成一个 MDI 程序,然后在CWinapp::Inintance 中生成添加一个单文档模板,同时利用模板指针生成了单文档的框架,将 CMDIFrameWnd 作为应用程序

2006-11-18 14:47:00 638

ObjectARX 人机交互技术原型程序介绍

多 文 档 命 令 行 一、概括: 作者长期从事 CAD 软件的使用、对比、二次开发技术的研究工作,特别对于欧特克(Autodesk)软件公司的旗舰产品 AutoCAD 以及其二次开发平台 ObjectARX for AutoCAD ,它公布许多的应用程序 AutoCAD 本身的组件、或者组件的开发接口。经作者的多年分析,可以对它进行如下描述:其核心二次开发技术 ObjectARX 定义一个分层式软件开发模型,其存在三大技术:图形文件的读写及内存管理、实体的屏幕显示、人机交互。 二、软件工程的由来: 使用 AutoCAD 的技术人员都知道,从 AutoCAD 2000 以后的各个版本, AutoCAD 中的命令的执行具有以下的特性,在一个命令执行没有完成之前就可以切换到另一个图形窗口执行别的命令,就像切换到别的应用程序。 从代码编制的角度讲,就是在一个程序的代码执行序列中的两个独立过程中的代码相互切换,从知道 AutoCAD 绘图的这个功能现象后,作者就对其很感兴趣,一直至今。 AutoCAD 二次开发的好处在于免费提供了基于 Visual C++ 集成开发环境的所必需的头文件、输入库、动态链接库。通过研读头文件,仔细阅读帮助文档,终于明白这个技术可以称为人机交互技术的组成部分,也是 ObjectARX for AutoCAD 隐藏的技术之一,这些技术就隐藏在 ObjectARX 应用程序同 AutoCAD 作用并进行用户输入的许多个全局函数中,其函数名称具有如下命名规则, acedGetXXX 。 由于这些函数同以往的控制台应用程序中调用的 C 语言库中的控制台输入输出函数具有初级的类似,于是作者确定自己的研究方向就是将这些用户输入函数的实现技术搞清楚,同时最好编制出原型程序,于是在 Microsoft Windows 2000 上安装 AutoCAD 2000 、ObjectARX for AutoCAD 2000 以及符合 ObjectARX 开发条件的 Visual C++ 6.0 ,开始的研究之路。 软件工程名称就定义为多文档命令行。 三、成功的结果: 近十年来的研究,经过各种各样技术路线的努力,终于得到了回报,做出了自己的原型程序,原型程序的目标是模拟 AutoCAD 使用者可以看到的下列组成部分:多文档同时编辑、命令行窗口、主窗口菜单、字符屏幕窗口、多文档命令,原型程序也同时实现了初级的全局用户输入函数、利用 MFC 序列化技术实现命令扩展、利用 MFC 扩展技术实现多文档框架下“文档-视图框架”的扩展、以及使用全局用户输入函数调用多文档命令等。 四、成功后的思考: 当自己的努力走到这一步之后,就明白以下一些问题:为什么 AutoCAD R14 不是多文档界面?这些全局用户输入函数是如何协调用户的输入以及操作系统的输入?全局用户输入函数是否同菜单宏相联系?怎样联系? 更推而广之,如果上升到人机交互技术组成的话,那么不光是 CAD 图形界面的软件提供二次开发技术需要它?其他软件也一样。 作者在按照 ObjectARX 提供头文件的技术线索,继续完善运行时刻扩展必备的 C++ 类库管理。 五、原型程序代码使用: 本电子邮件的附件为笔者努力的部分代码,主要是通过 MFC 扩展动态链接库编制多文档命令,实现开发用户自己登记、实现多文档命令,让开发用户查看“文档-视图框架”扩展部分详细代码。 使用环境: Visual C++ 6.0 ,请不要安装各种各样的 Service Pack,展开目录 MRXEXT 中,就相当于我们设计的 ObjectARX 代码,使用命令 Appload 调入这个 MFC 扩展动态连接库(MRXEXTD.MRX),可以使用的命令有:appload、test、call、doccreate、docClose 等。 使用过 Visual C++ 6.0 的开发者,可以明白原型程序的程序执行模块 multitopd.exe 和动态链接库执行模块 mrxextd.mrx 共享使用 MFC 动态链接库的调试版本。命令类是 MFC 扩展可序列化类,相关技术的应用不想多讲。 命令 test 是一个简单的多文档命令,在多文档界面下,如何测试多文档命令由研摩者自己思考。作者认为这也是理解 ObjectARX 应用开发的一个技术技巧。对应成员函数 MdMvEdCommandTest:: On_mdmvEdCommand() 命令 call ,对应成员函数 MdMvEdCommandCall :: On_mdmvEdCommand (),函数定义代码存在两段代码,研摩者可以编译、链接任一段代码或两段代码,同 ObjectARX 中 acedCmd 全局函数类似。 命令 doccreate ,对应成员函数 MdMvEdCommandDocCreate :: On_mdmvEdCommand (),这个命令可以将研发者“文档-视图”框架加入到 MDI 文档主框架中,值得注意的是新加入研发者文档没有文档执行上下文,所以不能够在它的视图窗口活动时敲入任何命令以执行,需要切换 multitopd.exe 应用程序提供的文档对应视图才能敲入命令。 命令 docclose ,对应成员函数 MdMvEdCommandDocClose :: On_mdmvEdCommand () ,这个用来关闭 mrxextd.mrx 研发者动态链接库执行模块中提供的“文档-视图”框架。 命令 appload ,由作者实现,完成扩展应用程序管理,现在不存在卸载命令,请原谅。 所有命令的敲入都不具备可见性,因为原型程序没有做命令行显示,请原谅。 六、作者联系: 如果想将自己的软件向使用者提供二次开发技术,欢迎来信联系。将附件改为 mrxext.exe ,再使用 WinRAR 或自解压。 电子邮箱:[email protected] ; 无兴趣者,勿恼。

2008-10-16

模拟 ObjectARX 人机交互

收到这封电子邮件的邮箱每天都会收到大量的电子邮件,首先声明的是这是一封个人电子邮件,绝不是垃圾电子邮件。 不论图形软件的研制者、销售者、使用者,都会感到 AutoCAD 的霸主地位,从而为国人的图形软件担心。 概括地讲: AutoCAD 霸主的技术为其核心二次开发技术 ObjectARX,严格地讲 ObjectARX 定义一个分层式软件开发模型,总体而言,其存在三大隐藏技术:图形文件的读写、实体的屏幕显示、人机交互。 本电子邮件的附件为笔者在人机交互方面的努力:彻底解决了ObjectARX中的一些重要概念:应用程序执行上下文、文档执行上下文、多文档命令等等,确切地讲通过笔者十年的努力,终于从源代码层揭示了 ObjectARX 一些核心技术,就是关于用户输入函数 acedGetXXX 的研究。 使用环境: Microsoft Windows 2000 Server 和 Visual C++ 6.0 ,请不要安装各种各样的 Service Pack,运行展开的目录中 MRXEXT 中,就相当于我们设计的 ObjectARX 代码,使用命令 Appload 调入这个 MFC 扩展动态连接库(MRXEXTD.MRX),可以使用的命令有:Test、Call、Doccreate、DocClose 等。 MDMV.exe 为自解压执行文件,不安装任何文件。(受 OutLook 限制) 从这些代码看出以下扩展:命令机制扩展、文档-视图-框架扩展等。 为国人的图形软件的崛起而努力。

2008-09-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除