从MatLab到AutoCAD绘制直线的脚本制作问题
我想做一个项目,在那里我可以画一个电机使用MatLab计算的数据。我知道如何在AutoCAD中绘制它,现在我想用MatLab实现它 我开始学习如何在AutoCAD中绘制MatLab计算,但脚本中有一些错误,我不明白哪里出了问题。 首先,我使用ActiveX建立连接。连接正常,我成功了。问题是当我试图画一条线的时候从MatLab到AutoCAD绘制直线的脚本制作问题,matlab,scripting,autocad,cad,Matlab,Scripting,Autocad,Cad,我想做一个项目,在那里我可以画一个电机使用MatLab计算的数据。我知道如何在AutoCAD中绘制它,现在我想用MatLab实现它 我开始学习如何在AutoCAD中绘制MatLab计算,但脚本中有一些错误,我不明白哪里出了问题。 首先,我使用ActiveX建立连接。连接正常,我成功了。问题是当我试图画一条线的时候 feature('COM_SafeArraySingleDim', 1) acad=actxGetRunningServer('AutoCAD.Application'); set(a
feature('COM_SafeArraySingleDim', 1)
acad=actxGetRunningServer('AutoCAD.Application');
set(acad,'visible',1);
c_doc=get(acad,'ActiveDocument');
dwg=c_doc.PaperSpace;
a=[1;5];
b=[3;4];
invoke(dwg,'AddLine',a,b);
主要错误是描述:SafeArray中的元素数不正确。我使用了2D工作空间(PaperSpace),但是如果我在a和b中添加第三个值,脚本可以工作,但不会绘制线条
如果你认为这不是从事这样一个项目的最佳解决方案,你能给我推荐一些书、youtube视频或一些我可以从中学习的资源吗?
谢谢 ActiveX方法要求起点和终点参数是相对于世界坐标系(WCS)表示的三维点,并由3个双精度的(安全)数组表示
因此,数组需要包含三个数值,例如:
a=[1.0;5.0;0.0];
b=[3.0;4.0;0.0];
invoke(dwg,'AddLine',a,b);
你有什么理由要在纸面空间中创建行吗
顾名思义,Paperspace通常用于标题栏和注释,视口显示模型空间中定义的相关几何体
您可能还需要重新生成图形以绘制线,其外观可能如下所示:
invoke(c_doc,'Regen',0);