(1)启动VC++ 6.0,选择【File/New】菜单项,系统会弹出如图1.29所示的对话框。从项目列表中选择【ObjectARX 2000/2000i/2002 AppWizard】选项,输入Hello2作为项目名称,指定适当的保存位置,单击【OK】按钮。

图1.29 输入项目名称和保存位置
(2) 系统会弹出如图1.30所示的对话框。输入你的注册名称(可用公司名称或你的个人名称作为前缀,避免和其他工程在命名上的重复),其他选项使用默认值,单击【Next】按钮。

图1.30 输入工程选项
(3)系统会弹出如图1.31所示的对话框,显示了已经创建的项目信息,包含了向导创建的各个文件及其作用:
■ StdAfx.cpp 和 StdAfx.h:预编译头文件的创建。
■ Hello2.cpp:应用程序入口点。
■ Hello2.def:模块输出文件。
■ StdArx.h:项目特定函数所需要的通用头文件声明。
■ Resource.h:资源标记的声明。
■ res\Hello2.rc2:工程的第二个资源文件。
■ ObjectARX.prj:ObjectARX 2000 插件所需要的项目设置。
■ RxDebug.cpp 和 RxDebug.h:有用的调试工具。
■ DocData.h 和 DocData.cpp:文档数据的封装类。
■ AdskDMgr.h:定义 Autodesk 数据管理模板类。
图1.31 项目信息的汇总
(4)单击【OK】按钮关闭对话框,完成项目的创建。如果你愿意,可以选择【Project/Settings】菜单项,切换到【Debug】选项卡,在【Executable for debug session】文本框中指定AutoCAD 2002的位置,如图1.32所示。这样,在第一次调试程序时,系统就不会提示用户指定可执行程序的位置,也就是图1.23的提示。
图1.32 输入 AutoCAD 2002 的位置
(5)分析向导生成的代码。这里还不准备探讨向导生成的 AsdkDataManager 和 CDocData类的作用,现在看起来还比较难以理解,何况它们对现在的程序没有什么影响,在后面的篇幅中会慢慢介绍。在 Hello2.cpp 文件中,向导创建了如下几个函数:
■ AcrxEntryPoint 函数:ObjectARX 入口点函数,在上节的程序中已经介绍,这里也并无特殊之处。
■ InitApplication 函数:同样在上节已经介绍,用于应用程序的初始化。
■ UnloadApplication 函数:已介绍过,用于清理应用程序的相关命令。
■ _hdllInstance 变量:在 DllMain
函数中使用,一般不用注意。
■ DllMain 函数:动态链接库(DLL)的入口点函数,一般来说不用注意。
■ AddCommand 函数:封装了 addCommand 函数,用于向 AutoCAD 注册命令。
(6)注册一个新的Hello命令。单击ObjectARX嵌入工具栏的“ObjectARX commands”按钮,系统会弹出如图1.33所示的注册命令对话框。在【Command flags】选项组中,从【Document】列表中选择【Shared write】选项,取消选择【Use pickset】复选框。在【Group】文本框中输入BASIC,【International】文本框中输入Hello,左键在【Local】文本框内单击,系统自动添加Hello文本,使用系统自动给出的名称ZffBASICHello作为Hello命令执 行的函数名称。
设置命令名称和标记之后,单击【Add】命令就能注册该命令。单击【OK】按钮关闭命令注册的对话框。
图1.33 注册新的 Hello 命令
(7)注册命令之后,系统自动生成了一个 Hello2Commands.cpp 文件,其中包含了 Hello命令的实现函数 ZffBASICHello 的定义,当然还没有任何的内容。在该函数中添加代码:
void
ZffBASICHello()
{
acutPrintf("Hello,World!");
}
到此为止,项目全部完成!你应该能看出使用向导节省了多少工作量。