我想做一个项目,使用MatLab中计算的数据绘制电机。我知道如何在AutoCAD中绘制它,现在我想用MatLab实现它。
我开始学习如何在AutoCAD中绘制MatLab计算,但脚本中有一些错误,我不明白哪里出了问题。首先,我使用ActiveX进行连接。连接正常,我设法接通了。问题是当我试图画一条线时
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视频或我可以学习的来源吗?谢谢
ActiveXAddLine
方法需要启动&端点自变量是相对于世界坐标系(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);