matlab - 制作从 MatLab 到 AutoCAD 画线的脚本时出现问题
问题描述
我想做一个项目,我可以使用在 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) 表示的 3D 点,并由 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);
推荐阅读
- python - 在瓶子框架中使用会话(python)
- python - 如何在索引上制作散点图作为 x 值
- django - 如何在 Django 中计算 PostgreSQL 数据库上的行数?
- postgresql - 在 Groovy 中解析 PGobject
- django - 如何将相关模型中的字段注释到查询集?
- swiftui - Mac OS X - SwiftUI - 如何绘制字符串(文本)和一些路径
- css - 当DOM同时具有.red和.yellow时,CSS如何制作颜色:橙色?
- android - 如何使用 ./gradlew :app:assembleAndroidTest 在 Firebase 测试实验室中运行特定的测试方法
- mybatis - Mybatis 为指定字段设置 TypeHandle
- typescript - TypeScript 类型:字符串匹配模式