ObjectARX 类库

ObjectARX 类库,第1张

ObjectARX 环境包含下列几组类和函数:

AcRx 库

AcRx 库类层次结构图

 

AcEd 库

AcEd 库类层次结构图:

 

AcDb 库

AcDb 库类层次结构图:

 

AcGi库

提供了用于绘制 AutoCAD 实体的图形界面

· AcDbEntity 成员函数 worldDraw()、viewportDraw() 和 saveAs(),及所有标准实体协议部件都使用 AcGi 库;

· worldDraw() 函数必须由所有自定义实体类定义;

· AcGiWorldDraw 对象提供一个 API,通过该 API AcDbEntity::worldDraw() 可以在所有视区同时生成其图形表示;

· AcGiViewportDraw 对象提供 API AcDbEntity::viewportDraw() 函数可以在每个视区生成不同的表达图形。

AcGi 库类层次结构图:

 

AcGe 库

AcGe 库包含两主要的子集:二维和三维类,主要抽象基类分别为 AcGeEntity2d 和 AcGeEntity3d。

AcGe 库类层次结构图:

首先引用托管ObjectARX托管封装类,添加引用acdbmgd.dll与acmgd.dll,然后通过数据访问接口连接数据库,在AutoCAD上创建图形实体,在AutoCAD平台上读取实体信息,在AutoCAD平台上拾取块实体或者线段实体,AutoCAD平台上图形实体和数据库进行连接,实现图形属性和数据库信息同步。

它实现了图形实体和数据库的连接,用户一旦进行修改 *** 作,图形属性和数据库的信息都会同步得到修改,实现了图库联动的目的。

CAD可用于二维绘图、详细绘制、设计文档和基本三维设计。现已经成为国际上广为流行的绘图工具。它的多文档设计环境,让非计算机专业人员也能很快地学会使用。在不断实践的过程中更好地掌握它的各种应用和开发技巧,从而不断提高工作效率。

(1) 选择菜单命令【Project】→【Settings…】,d出“Project Settings”对话框。

(2) 在“Project Settings”对话框中选择“Setting For:”下拉列表的“All Configurations”项。

(3) 在“Project Settings”对话框中选择“C/C++”选项卡。

(4) 在“Category:”下拉列表中选择“Code Generation”项。然后选中“Use run-time library”下拉列表中的“Multithreaded DLL”选项(如图38-6所示)。再在“Category:”下拉列表框中选择“Preprocessor”项,然后在“Preprocessor definitions:”编辑框中内容的后面添加“ACRXAPP,RADPACK”,表示需要预链接的库(如图38-7所示)。

(5) 在“Project Settings”对话框中选择“Link”选项卡。

(6) 在“Category:”下拉列表中选择“General”项,然后在“Output file name:”编辑框中键入应用程序名“.\HelloARX.arx”(图38-8);在“Object/library modules:”编辑框中添加“acutil15.lib acrx15.lib acdb15.lib acedapi.lib rxapi.lib acad.lib acge15.lib”;在“Category:”下拉列表框中选择“Output”项,然后在“Base address:”编辑框中键入“0x1c000000”(图38-9)。

(7) 完成上述步骤后,单击OK按钮确定设置。

Step 6 编译和建立ARX程序

选择菜单命令【Build】→【Build HelloARX】,编译和建立Hello.arx程序。

Step 7 加载并运行ARX程序

(1) 在AutoCAD 2002环境中,选择菜单命令【Tools(工具)】→【Load Application…(加载应用程序)】,d出“Load/Unload Applications(加载/卸载应用程序)”对话框。

(2) 选中“Hello.arx”文件,单击Load...按钮。

(3) 单击Close按钮返回AutoCAD主窗口。

(4) 在命令行中输入命令“Hello”,将在命令行中出现“Hello, Object ARX!”。

(5) 如果需要卸载程序,则再d出“Load/Unload Applications(加载/卸载应用程序)”对话框,如图38-10所示。在“Loaded Applications(已加载应用程序)”选项卡内选择“Hello.ARX”程序,单击Unload按钮,则该程序被卸载。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11368027.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存