我刚刚进入 PCB 设计,我通常很难学习如何使用带有菜单和鼠标点击的 GUI。一些工程师是否使用更像代码的东西来生成 PCB?
使用代码而不是单击鼠标进行 PCB 设计?
事实上,Altium 有一种脚本语言,有几种不同的语言。在某些情况下,使用算法可能是有意义的,例如创建重复布局或精确放置在某些位置的零件。
例如,我已经看到它用于将零件 (LED) 放置在圆形图案中,尽管它们引入了极坐标捕捉网格,这不太可能值得麻烦。
我们使用算法直接以 .dxf 格式创建形状(想想天线之类的东西),然后可以将其导入铜层。
一般来说,代码不太适合 PCB 布局,尤其是布线任务。
在 EAGLE CAD 中,您可以在命令行中使用鼠标完成的所有操作。它还有一种用户语言,您基本上可以使用它进行编程。
我使用代码为我的 PCB生成网表。(编写一个 for 循环来构建一个 N 位多路复用器比费力地在原理图中绘制所有这些东西要快得多。)幸运的是,KiCAD 网表文件只是文本,其格式没有文档但相当容易反转-工程师。
我编写了一个小型 C# 库,让我可以输入我想要连接的内容(就可重用的电路参数块而言),它会自动生成一个网表。现在我可以直接将它导入 KiCAD 并开始构建 PCB,而不必浪费一个小时左右无用地为其绘制原理图。(图书馆甚至做了一些非常基本的检查,以确保我的指令不是完全伪造的,尽管我怀疑 KiCAD 本身会做得更好。)
另一方面,KiCAD PCB 文件也是文本,但似乎过于复杂而无法以编程方式生成。真可惜,因为 KiCAD 默认将所有组件直接放在彼此之上,这需要我花费 20 多分钟繁琐地再次将它们分开,这样我才能看到我到底在做什么。(KiCAD 有一个讨厌的习惯,就是试图移动文本而不是它所连接的组件,大概只是为了让 PCB 更难设计?)
也许有一天我会设法自动化初始组件布局;正如其他人所说,我怀疑实际的“PCB设计”位将始终涉及GUI。
我不会推荐它,但如果你真的愿意,你可以自己编写 PCB 艺术品,而无需任何 PCB 程序。代码如下所示:
G90*
1 G70*
2 G54D10*
3 G01X0Y0D02*
4 X450Y330D01*
5 X455Y300D03*
6 G54D11*
7 Y250D03*
8 Y200D03*
9 Y150D03*
10 X0Y0D02*
11 M02*
12最右边的行号不是文件的一部分。在没有任何 Gerber 知识的情况下检查此文件将正确推断出每一行代表一个特定的机器命令,并且星号 (*) 是命令字符的结尾。似乎有不同种类的命令:以 G、D、M 和 x,y 坐标数据开头的指令。
来源:https ://www.artwork.com/gerber/appl2.htm
这是显示不同命令的规范