明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2071|回复: 6

如何在AutoCAD调用VC程序?

[复制链接]
发表于 2005-2-25 23:31:00 | 显示全部楼层 |阅读模式
希望在在AutoCAD中调用VC程序进行计算,计算所得值返回AutoCAD,并并修改图形。






请问该如何实现?非常感谢!!!
发表于 2005-2-26 14:16:00 | 显示全部楼层

回复

不是调用VC,是用VC写ObjectARX程序与AutoCAD交互.
 楼主| 发表于 2005-3-1 16:05:00 | 显示全部楼层
那我现在已有一个VC写的软件(有源码),现在我希望做一个接口,让它与AutoCAD进行交互,请问应该如何实现?非常感谢
发表于 2005-3-1 16:19:00 | 显示全部楼层

reply

MFC程序可以应用到ObjectARX程序中,


参考ObjectARX SDK中的例子.
 楼主| 发表于 2005-3-13 19:54:00 | 显示全部楼层
王咣生发表于2005-3-1 16:19:00回复:(王咣生)reply MFC程序可以应用到ObjectARX程序中, 参考ObjectARX SDK中的例子.

是否将我这个MFC做的程序移植到ObjectARX程序中?我用MFC做的这个程序比较繁琐,移植比较困难:(我还没好好研究ObjectArx SDK中的例子,先请您介绍入个门,怎么样才能将我的这个MFC程序方便的利用起来。非常感谢!
发表于 2005-3-13 23:28:00 | 显示全部楼层

reply

ObjectARX是DLL,它的入口格式: extern "C" AcRx::AppRetCode
acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
{

switch (msg)
{

case AcRx::kInitAppMsg:
acrxDynamicLinker->unlockApplication(pkt);
acrxRegisterAppMDIAware(pkt);
initApp();
break;
case AcRx::kUnloadAppMsg:
unloadApp();
break;
default:
break;
}
return AcRx::kRetOK; } 参见SDK中的帮助 这个DLL中可以应用MFC类型库.
发表于 2005-3-14 09:48:00 | 显示全部楼层
zonly发表于2005-3-13 19:54:00是否将我这个MFC做的程序移植到ObjectARX程序中?我用MFC做的这个程序比较繁琐,移植比较困难:(我还没好好研究ObjectArx SDK中的例子,先请您介绍入个门,怎么样才能将我的这个MFC程序方便的


我现在在做的工作就是移植MFC到ARX. 需要考虑两个问题: 1. MFC程序本身是如何建造的. 2. ARX需要做什么工作, 什么工作可以留给原来的VC程序.


因为VC MFC一般是采用Wizard生成windows application类, 第一个方法是在这个类里引用ARX DLL, 但这样(从我做到现在的观察看来)似乎在初始化时会做两遍然后产生冲突. 我现在用的方法是不使用application类, 直接在ARX里进行application初始化. 原来MFC程序的其他部分都可以保留不变, 只是#include改.


ARX SDK里的示范程序(ObjectARX\docsamples\mfcsample)第一不是MFC Wizard生成的application, 第二MFC源文件也还是local的, 第三是我原来很头疼的, 就是ARX似乎鼓励使用它自己内带的MFC类, 所以对移植这种事情并不是支持得很好(首先一点就是资源冲突, 需要你手动去调入原来的资源文件), 对移植来说似乎总是只提个大概的意思. ARX引用已有MFC具体怎么做要看原来的MFC是如何写的, 现在只说这样, 大概还是没有什么头绪的呀..
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 08:24 , Processed in 0.168899 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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