FunkyFresh 发表于 2022-7-6 07:55:14

帮助在VB 200中打开autocad

在VB 2008中打开AutoCad 2010文件时遇到很多问题。这是我们得到的错误:
由于以下错误,从IClassFactory创建CLSID为{6D7AE628-FF41-4CD3-91DD-34825BB1A251}的COM组件实例失败:80010001。
 
对于此代码(突出显示的代码*):
私有子btnStartACAD_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)处理btnStartACAD。单击btnStartACAD。点击
'打开AutoCAD并使其可见
*AcadApp=新Autodesk。AutoCAD。互操作。AcadApplication公司
阿卡达普。可见=真
末端接头

RMS 发表于 2022-7-6 08:15:54

这有帮助吗?
 
Dim过程作为系统。诊断。过程
 
过程=系统。诊断。过程开始(程序路径)
过程WaitForExit()

FunkyFresh 发表于 2022-7-6 08:27:06

这确实可行,但我无法将其与AutoCad关联,因为我希望将其作为一个文档,以便能够绘制到它,保存它,等等。
 
除非我能把它和autocad应用程序联系起来。。。

RMS 发表于 2022-7-6 08:33:08

我不确定我是否完全理解,但您可能使用的是比所需的旧的或新的图书馆参考资料;尝试一些不同的,或者加载一堆。。。。。。。只是我的猜测。

FunkyFresh 发表于 2022-7-6 08:54:06

对不起,我的意思是我需要将该流程关联为Acad应用程序。因此,我可以将正在运行的实例(或应用程序)关联为Acad文档,我可以将其绘制并最终另存为。
 
我也想出了这个代码
AcadApp=GetObject(,“AutoCad.Application”)
阿卡达普。Visible=True“使其在默认情况下在后面运行时可见
 
但是这个代码的问题是它基本上是一个彩票,有时有效,有时无效

Jaikrishan 发表于 2022-7-6 09:06:34

公共AcadApplication GetAcadApplication()
{
AcadApplication acApp=null;
const string progID=“AutoCAD.Application”;
尝试
{
acApp=(AcadApplication)封送。GetActiveObject(progID);
}
接住
{
尝试
{
acApp=新的AcadApplication();
}
接住
{
系统穿线。线睡眠(500);
acApp=(AcadApplication)封送。GetActiveObject(progID);
}
}
if(acApp!=null)
{
acApp。可见=真;
}
返回acApp;
}
页: [1]
查看完整版本: 帮助在VB 200中打开autocad