明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2458|回复: 0

[ARX]ObjectARX managed wrapper classes参考中文档(4)

[复制链接]
发表于 2004-7-16 14:19 | 显示全部楼层 |阅读模式

和C++交互

.NET程序中可以包含C++代码,所以可以使用没有对应托管封装类的ObjectARX API。ObjectARX托管封装类有一个属性和一个方法,用来在托管对象和非托管对象之间进行交互。

从托管对象获取内在非托管对象的指针,可以使用UnmanagedObject属性。利用非托管对象产生托管对象,可以使用DisposableWrapper.Create()方法。

和COM交互

你可以通过.NET程序获取AutoCAD Automation对象模型和其它的ObjectARX COM API。

在.NET中使用AutoCAD COM API

  1. 创建一个.NET解决方案和工程。
  1. 从工程菜单或解决方案浏览器中选择添加引用。
  1. COM 选项,选择AutoCAD 2005 Type Library AutoCAD/ObjectDBX Common 16.0 Type Library.
  1. Autodesk.AutoCAD.Interop命名空间加入到using Imports 指令。

你可以通过使用以下属性从相应的.NET对象获得COM对象的指针:

  • Application.AcadApplication
  • Database.AcadDatabase
  • Document.AcadDocument

例如,以下的C#代码使用COM程序对象来提示用户输入一个角度:

((AcadApplication)Application.AcadApplication).ActiveDocument.Utility.GetAngle();
COM对象获取.NET对象,可以使用FromAcadXxx静态函数。例如,Database.FromAcadDatabase可以从COM数据库对象获得.NET数据库。

评分

参与人数 1金钱 +3 收起 理由
zfbj + 3 【好评】好文章

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-3-29 23:20 , Processed in 0.236820 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表