zonly 发表于 2005-2-25 23:31:00

如何在AutoCAD调用VC程序?

希望在在中调用VC程序进行计算,计算所得值返回AutoCAD,并并修改图形。
请问该如何实现?非常感谢!!!

王咣生 发表于 2005-2-26 14:16:00

不是调用VC,是用VC写ObjectARX程序与AutoCAD交互.

zonly 发表于 2005-3-1 16:05:00

那我现在已有一个VC写的软件(有源码),现在我希望做一个接口,让它与AutoCAD进行交互,请问应该如何实现?非常感谢

王咣生 发表于 2005-3-1 16:19:00

MFC程序可以应用到ObjectARX程序中,
参考ObjectARX SDK中的例子.

zonly 发表于 2005-3-13 19:54:00


是否将我这个MFC做的程序移植到ObjectARX程序中?我用MFC做的这个程序比较繁琐,移植比较困难:(我还没好好研究ObjectArx SDK中的例子,先请您介绍入个门,怎么样才能将我的这个MFC程序方便的利用起来。非常感谢!

王咣生 发表于 2005-3-13 23:28:00

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类型库.

pandoram 发表于 2005-3-14 09:48:00


我现在在做的工作就是移植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是如何写的, 现在只说这样, 大概还是没有什么头绪的呀..
页: [1]
查看完整版本: 如何在AutoCAD调用VC程序?