使用代码而不是单击鼠标进行PCB设计?[关闭]


14

我刚刚进入PCB设计,通常在学习如何通过菜单和鼠标单击使用GUI时遇到麻烦。一些工程师是否使用更类似代码的东西来生成PCB?


7
我不建议编写普通的gerber文件...
Huisman

31
PCB布局主要是视觉任务-移动和旋转物件以使其合适。用代码来做听起来很痛苦。
JRE

3
通常,大多数(如果不是全部)菜单项都有热键。大多数工具都允许使用文本输入来表示位置和方向(但是,这样做不仅比用鼠标移动东西还要痛苦得多)。我使用文本工具来精确定位通孔和差分对之类的东西。
彼得·史密斯

4
一些CAD软件包比其他软件包更具可疑性。以我的经验,Orcad Allegro使您经历许多毫无意义的GUI操作来完成最简单的事情是最糟糕的。Diptrace几乎是最简单,最流畅的用户体验。PADS是一个非常不错的工具链,具有直观的UI和许多高端功能。PADS适用于喜欢完成工作的工程师,Orcad适用于受虐狂。:D
Wossname

2
在键盘快捷键和特殊情况下,以编程方式生成图案很有意义,但PCB布局主要是交互式图形任务。在相反的情况下,逻辑在诸如FPGA之类的物理实施方案上占主导地位,而ASIC设计(的许多部分)通常由硬件描述语言驱动,从而为逻辑编译器提供了自动布局和布线工具。如果我们仍在使用装有TTL的大板来构建大型机处理器,那么从HDL到PCB的设计流程可能会相当……但是幸运的是我们没有。
克里斯·斯特拉顿

Answers:


19

实际上,Altium有一种脚本语言,几种不同的语言。在某些情况下,使用算法是有意义的,例如创建重复的布局或精确放置在某些位置的零件。

例如,我看到它曾经以圆形图案放置零件(LED),尽管他们引入了极坐标捕捉网格,但麻烦的可能性却很小。

我们已经使用算法直接以.dxf格式创建形状(例如天线等),然后可以将其导入到铜层中。

通常,代码不太适合PCB布局目的,尤其是对于布线任务。


17

在EAGLE CAD中,您可以使用鼠标从命令行执行的所有操作。它还具有您可以进行编程的用户语言。


2
在进行图案等操作时非常有用。即使您手动完成了99%的布局,您仍然可以使用代码来排列零件/特征。
韦斯利·李

1
通常,我使用Matlab或文本处理器进行编码,以输出脚本语言。
Scott Seidman

3
是! 我曾经在Python中做过它:)
Wesley Lee

1
这是Eagle的主要优势之一。一旦开始,您将仅使用命令行。
D Duck

7

我使用代码生成网表为PCB。(编写一个for循环来构建N位多路复用器要比费力地在原理图中绘制所有内容快得多,而且要快得多。)幸运的是,KiCAD网表文件只是文本,其格式没有说明,但相当容易反转-工程师。

我写了一个小的C#库,让我输入要连接的内容(就可重用的电路参数块而言),它会自动弹出一个网表。现在,我可以直接将其导入KiCAD并开始构建PCB,而不必浪费一个小时左右的时间来为其绘制原理图。(该库甚至进行了一些非常基本的检查,以确保我的指令不会尽管我怀疑KiCAD本身会做得更好,但完全是伪造的。)

PCB的KiCad文件,而另一方面,也有文字,但似乎过于复杂,编程产生。真可惜,因为KiCAD默认将所有组件直接转储到彼此之上,这需要我花20多个分钟来繁琐地将它们分开,这样我才能知道我在做什么。(KiCAD有一个讨厌的习惯,即尝试移动文本而不是附加文本的组件,大概只是为了使PCB难以设计?)

也许有一天我会设法使初始组件布局自动化。正如其他人所说,我怀疑实际的“ PCB设计”位将始终涉及GUI。


最好将graphviz的布局引擎之一挂接到KiCAD进行初始放置。我已经使用graphviz为非常简单的布局制作LTspice文件,并且效果很好。
配管

3
kicad中有一些工具可用于首先扩展组件,称为“全局扩展和放置”。为了避免移动文本,通常只禁用文本图层进行布局。毕竟,如果需要,可以单击以查看文本。
jpa

4

我不推荐这样做,但是如果您真的希望可以自己编写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

这是一个规格,显示了 不同命令


2
Gerber(RS-274X)与CNC编程中使用的G代码(RS-274)文件有关。有时候我确实会直接使用文本编辑器编写G代码来完成简单的2.5D任务。
Spehro Pefhany,

5
只是观察:如果您是直接编码gerber,那么除了在脑海中进行可视化之外,不会进行任何设计规则检查。我无法想象键入文本gerber文件,将其发送到fab house,而无需在GUI工具中打开文件即可查看它,除非您是某种下级的专家。
mkeith '19

1
我不确定格柏是否与G代码有关,但我对此有所怀疑。如果需要为天线或滤波器编写一个简单的顶层,那么自己编写一些内容可能还不错。我只编辑了G代码,但从未尝试编写它。
电压峰值

6
任何人都可以使用G代码而不是使用某种视觉工具来处理复杂的电路板,这绝对是一个杰出的人。我认为,任何可以直接使用G代码工作并富有成效的人都必须被视为专家。
mkeith '19

1
我不认识世界上所有的75亿人口,但我可以自信地说,对于任何严肃的,多层的专业用途,没有一个人能比图形显示更好地查看gerber代码。板。
whatsisname

1

如果您使用的是Kicad,请在Youtube上的第一个KiCon(2019)上观看演讲中的一些视频。有几场演讲明确地涉及了演示者编写工具以生成零件的过程,也有关于连接的问题。至少有一个使用过的python,它是作为脚本语言编写的。


1
您能否详细说明并添加指向视频和工具的链接。(参加会议可能是一个有价值的评论,但并不能完全回答。)
尼克·阿列克谢夫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.