怎么在DELPHI中调用AUTOCAD所画的图呢?(100分)

小羽

Unregistered / Unconfirmed
GUEST, unregistred user!
在DELPHI中已经实现了,图形中温度场的动态显示,但是这个图形比较简单,是用程序画出来的
要是把它换成AUTOCAD所画的图,并且可以确定坐标,并进行编程,那该怎么办呢?
 
可以直接控制CAD画图,不过不是一两句说得明白的,只能给你只条路了,在
AutoCAD R14以后版本中,加入了ActiveX自动化服务器功能,使得用户可以通
过可视化编程工具,如VB、Delphi等对AutoCAD进行系统二次开发。
如果有类似项目我可以帮完成
 
有个中国人编了一个TCAD控件,他的网址我忘了,他
还是大富翁,据说专卖老外的钱。
 
to yy2001yy : AUTOCAD的自动化服务器功能在哪里,如何DELPHI对AUTOCAD进行二次开发呢?
 
to yy2001yy : 请你和我联系一下。
email: ye_cheng1@163.com
 
思路:
=======================================
什么是 "ObjectARX"
  AutoCAD 有几种编程接口,最原始的一种是AutoLISP。它是一种解释性的编程语言,最初出现于1985年发行的 AutoCAD 2.5 版中。四年以后,在R10中增加了称为ADS的C语言编程能力。然后,在R13中又增添了ARX(AutoCAD运行扩展)编程接口,它是新一代的基于C++的应用程序接口,可以为应用程序扩展AutoCAD的功能提供前所未有的能力。
  ObjectARX 接口的功能十分强大,R14自身的很大一部分就是用 ObjectARX 实现的。例如,处理光栅图像的子系统就几乎没有向 AutoCAD 核心系统增添什么新代码。其结果是,ObjectARX 使得 AutoCAD 成为了一个更加模块化的系统。需要了解的是,ObjectARX 并没有取代 LISP 和 ADS,在R14中,LISP和ADS仍然存在并有所扩展。
  R13中使用的ARX是1996年1月发行的1.1版。在R14中,通过新的API和其他改进,ARX的功能又有了新的扩充。它最主要的特点是:
  14版的ARX与13版中的ARX具有高度的向上兼容关系。R13上的ARX程序只需要重新编译就可以在R14上运行。
  R14中的ARX已经重新命名为 ObjectARX, 借此强调这一强有力的编程工具所具有的面向对象的基本特性。
ActiveX Automation
  开放的体系结构一直是AutoCAD软件极为重要的特性。在AutoCAD过去的版本中,我们提供了一系列软件客户化工具。而现在,通过 ActiveX Automation 系统,我们更提供了R14与其他应用程序集成的客户化工具。对于 ObjectARX 应用程序,可以享受改进的对象协同操作能力带来的益处。通过按需装入和驻留的LISP特性节约操作时间。这里,我们重点谈谈 ActiveX Automation。
  AutoCAD R14宣布支持 Active Automation。这是微软公司开发的,跨应用程序的,通用的客户化和集成化设施。过去,这一系统称为 OLE Automation 2.0,最近微软将它改名为 ActiveX Automation。通过 ActiveX Automation, AutoCAD 和其他Windows 95 应用程序之间的集成变得更加方便。另外一个强大的特性是:用户可以使用常见的,易学易用的客户化编程语言和工具, 如 Visual Basic 4.0 来编写 AutoCAD ActiveX 应用程序。换言之,ActiveX Automation 给 AutoCAD 提供了又一种客户化接口和工具。
  ActiveX Automation 单元:AutoCAD R14 可以作为 ActiveX Automation 中的单元 (Component) 出现。这样,R14 开放的部分,包括运行程序,文档,对象和交互式界面都可以为任何一个 ActiveX Automation 客户程序所操作和管理。这样的客户程序有 Visual Basic, Borland Delphi 或 Microsoft Excel 等, 所建立的应用程序可以把 AutoCAD 图纸与数据库或电子表格相集成,可以通过批处理方式检查和管理图纸,甚至可利用 Visual Basic 出色的图形用户界面开发出交互式的处理程序。
  操作 AutoCAD 对象数据库:在R14之前,操作 R13 对象数据库唯一的办法是使用 C++,现在,通过 ActiveX Automation 的支持,AutoCAD 中的对象都可以为用户所选定的编程工具所操作。
  AutoCAD 中的 ActiveX Automation 接口与微软公司出品的 Excel 和 Access 中的接口十分相似。因此十分容易学习和使用。对 R14 的用户来说,因为 Visual Basic 的那些标准特性 (例如数学和字符操作) 对于所有应用程序都是相同的,因此他们只需要学习与 AutoCAD 相关的部分功能。在我们的接口中还包括完整的在线帮助系统和便于使用者借用的样本程序。
  在R14中实现的 ActiveX Automation 不但是即将交付使用的软件包的一部分,可以立即与其他编程工具,如Viausal Basic一起使用,而且将成为未来在 AutoCAD 中实现的 VBA (Visual Basic for Application)的基础。
  这是一件十分令人高兴的事,全世界今天有三百余万用户掌握了 VB 编程技术。而现在AutoCAD 用户不但可以选择VB作为AutoCAD应用程序的开发工具,而且可以把AutoCAD与其他标准的Windows应用程序相集成。
 AutoCAD 的 Visual Basic 编程
  在R14当中如何使用Visual Basic? AutoCAD R14包含了对 ActiveX Automation 的广泛支持,ActiveX Automation 是微软制定的、通用的、跨应用程序的客户化和集成规范。它使得AutoCAD可以方便地与其他Windows 95应用程序相集成。今天,对于快速开发小规模的应用程序来说,最普及的工具软件就是微软公司的 Visual Basic (VB)。
  VB 是微软公司以最终用户为目标生产的编程工具,在美国,各种版本的 VB 软件零售价格在 100 到 500 美元之间。每一个用户都可以在自己的PC机上安装VB并且在VB环境下编程。一旦编程完毕,就可以作为独立的 Windows 应用程序执行自己的VB程序。VB程序可以是自给自足的,也可以与其他 Windows 应用程序通讯。而大家所关心的是VB程序通过ActiveX Automation 与AutoCAD通讯。
  在 AutoCAD R14 中,VB 程序可以通过AutoCAD 的 ActiveX Automation API 操纵 AutoCAD。例如VB程序可以遍历当前的AutoCAD图形,清点在设计中使用过的各种零部件(如23 FX3 照明灯固定件)。业界对VB编程工具将变得十分普及这一点毫不怀疑,因此有必要突出强调 R14 的 ActiveX Automation API 和 R14 与VB 协同工作的能力。
ObjectARX SDK 和R14上的应用程序
  AutoCAD 通过多种途径为不同的用户提供解决方案。对于某些用户来说,单纯使用AutoCAD,再加上一些简单的菜单改造和LISP程序就可以满足工作需要。而对于另外一些用户来说,完成工作需要第三方应用软件的协助。一般来说,第一类用户可以十分容易地完成软件的升级和更新。而对于第二类用户来说,他们赖以生存的第三方应用软件在新版 AutoCAD 上是否延续乃是他们决定是否要进行软件升级的最基本考虑。因此,ObjectARX 和 R14应用软件的存在性就成为R14上市是否成功的要素之一。
  在美国,50%的AutoCAD是不跟随附加软件单独销售的。而在欧洲,80%的AutoCAD是随第三方应用软件一同销售的。考虑到这一点,AutoCAD R14开发部门的API开发组早在去年9月就已经将ObjectARX开发工具(SDK)提交给了Autodesk 的30家最大的应用开发商。在SDK中包含了一份200页的,十分详尽的开发平台转移指南。在这份指南中全面介绍了R13 ARX 与R14 ObjectARX的所有区别。由于R14的API几乎可以说是R13 API的超集,绝大多数开发商仅仅需要重新编译源程序就可以使他们的应用软件在R14上运行。
 
最简的方法就是使用autoCAD的[red]DXF[/red]交换文件,这种文件是ASCII格式的,
详细情况可学习autoCAD[^]
 
我的Email:pal0978@sina.com,抱歉我一直有事没有上网,刚刚看到,可以和我联系
 
但是我想要的结果是,在DELPHI中贴入AUTOCAD的图,能知道各个点的坐标,现在各个点的温度是实时变化的,金属(汽轮机)上面存在温度场
并且各时刻各点各温度值都已经算出了,所以要用定时器以实现实时的功能,并能用LINE语句把各个温度相同的点画出来。经过我这两天查询结果,
水晶TCAD也不能实现,它是用来在DELPHI中实现绘制矢量图功能的。至于OBJECTARX能否实现我现在还不知道,不过也可能不行,
据我理解,OBJECTARX是不是用来编程,输入各点坐标,一执行就把图形画出来的呢?
而在AUTOCAD中有类似定时器的东西吗?可以定时地填充一个一个小方块?
 
可以要自己写喽!.
 
多人接受答案了。
 
TCAD当然可以做到这一点了。
http://www.codeidea.cn
 
顶部