Ole方法控制AutoCAD,请大家指教。
用BCB5控制AutoCAD2008,使用的代码如下:
void AcadStart(void) //这段可以正确打开CAD
{
Variant CAD;
try {
CAD=GetActiveOleObject("AutoCAD.Application");
}
catch (...) {
CAD=CreateOleObject("AutoCAD.Application");
CAD.OlePropertySet("Visible",true);
}
}
void NewArea(int id)
{
char tmpfile[100],lpCommand[200];
Variant CAD,obj1;
wsprintf(tmpfile,"%s\\mdtktmp.dwg",libpath);
CAD=GetActiveOleObject("AutoCAD.Application");
obj1=CAD.Exec(Function("ActiveDocument")); //这句为什么用obj1=CAD.OleFunction("Activedocument")不行
obj1.Exec(Procedure("New")<<tmpfile); //这句有错,请指教。
}
void OpenDWG(void) //AutoCAD读入图形文件
{
Variant CAD,obj1;
char dwg[100];
wsprintf(dwg,"%s\\mdtk.dwg",tmppath);
CAD=GetActiveOleObject("AutoCAD.Application");
obj1=CAD.Exec(Function("ActiveDocument"));
obj1.Exec(Procedure("Open")<<dwg); //这句也错,错误的提示和上面NEW的一样。
}
请指教:
1:用Ole方法如何新建文件
2:如何打开文件
3:OleFunction,OleProcedure,exec()如何区别使用。
4:打开CAD或新建后,画图前需不需要建立图形空间ModelSpace,如何用代码实现。
希望高手大侠们不吝赐教
[解决办法]