マウスをクリックする代わりにコードを使用したPCB設計?[閉まっている]


14

私はPCBの設計に入り始めたばかりで、メニューやマウスクリックでGUIを使用する方法を習得するのに苦労しています。一部のエンジニアは、コードのようなものを使用してPCBを生成しますか?


7
プレーンなガーバーファイルを書くことはお勧めしません...
Huisman

31
PCBレイアウトは、主に視覚的なタスクです-物を動かしたり回転させてフィットさせます。コードでそれを行うのはつらいですね。
JRE

3
通常、ほとんどの(すべてではないにしても)メニュー項目にはホットキーがあります。ほとんどのツールは、位置と向きのテキスト入力を許可します(ただし、マウスで物を動かすよりもはるかに苦痛です)。テキストツールを使用して、ビアや差動ペアなどを正確に配置します。
ピータースミス

4
一部のCADパッケージは、他のパッケージよりもクリック音が高くなります。私の経験では、Orcad Allegroは、最も単純なことを成し遂げるために多くの無意味なGUIアクションを実行するのに最悪です。Diptraceは、最も簡単で流動的なユーザーエクスペリエンスです。PADSは、直感的なUIと多くのハイエンド機能を備えた非常に優れたツールチェーンです。PADSは物事を成し遂げたいエンジニア向け、Orcadはマゾヒスト向けです。:D
ウォスネーム

2
キーボードショートカットや、パターンのプログラムによる生成が意味をなすユニークなケースがありますが、PCBレイアウトは主にインタラクティブなグラフィカルタスクです。対照的に、FPGAや(多くの)ASIC設計のような物理的な実施形態よりもロジックが支配的な状況では、通常、自動配置ツールに供給するロジックコンパイラに供給するハードウェア記述言語によって駆動されます。TTLで満たされた大きなボードからメインフレームプロセッサを構築している場合、HDLからPCBへの同等の設計フローがあるかもしれませんが、幸いなことにそうではありません。
クリスストラットン

回答:


19

実際、Altiumにはスクリプト言語、いくつかの異なる言語があります。特定の位置に正確に配置された繰り返しのレイアウトやパーツを作成するなど、アルゴリズムを使用することが理にかなっている場合があります。

たとえば、部品(LED)を円形パターンに配置するのに使用したことがありますが、極座標スナップグリッドの導入により、手間をかける価値がはるかに低くなります。

アルゴリズムを使用して、形状(アンテナなど)を.dxf形式で直接作成し、銅層にインポートできます。

一般に、コードはPCBレイアウトの目的、特にルーティングタスクにはあまり適していません。


17

EAGLE CADでは、マウスでできることはすべてコマンドラインから実行できます。また、基本的にプログラムできるユーザー言語もあります。


2
パターンなどを行うときに非常に便利です。レイアウトの99%を手動で行っても、コードでパーツ/機能を配置できます。
ウェズリーリー

1
多くの場合、スクリプト言語を出力するためにMatlabまたはテキストプロセッサでコーディングします。
スコットサイド

3
はい!私はPythonでそれをしていた:)
ウェズリーリー

1
これはEagleの重要な利点の1つです。開始したら、コマンドラインのみを使用します。
Dダック

7

コードを使用してPCB のネットリストを生成します。(Nビットマルチプレクサーを構築するためのforループを書くほうが、回路図にすべてを苦労して描くよりもはるかに高速です。)幸いなことに、KiCADネットリストファイルは、ドキュメント化されていないが、かなり簡単に反転できる形式の単なるテキストです-エンジニア。

接続したいものを(再利用可能な回路のパラメトリックブロックの観点から)入力できる小さなC#ライブラリを作成し、自動的にネットリストを出力します。これで、それをKiCADに直接インポートし、PCBの構築を開始できます。1時間ほど無駄に回路図を作成する必要はありません。(ライブラリは、私の命令が完全に偽物ではないことを確認するために、いくつかの非常に基本的なチェックさえ行いますが、KiCAD自体がその仕事をより良くするだろうと思います。)

kicadのPCBファイルは、他の一方で、テキストもありますが、ように見える遠くプログラムで生成するには複雑すぎます。これは残念です。KiCADはデフォルトですべてのコンポーネントを直接重ねてダンプするため、20分以上の時間をかけて再びコンポーネントを分離する必要があり、私が何をしているのかを見ることができます。(KiCADには、PCBの設計をより難しくするため接続されているコンポーネントではなく、テキストを移動しようとする厄介な習慣がありますか?)

おそらくいつか、最初のコンポーネントレイアウトを自動化することもできます。他の人が言ったように、実際の「PCB設計」ビットは常にGUIに関係すると思われます。


graphvizのレイアウトエンジン 1つを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

右端の行番号はファイルの一部ではありません。ガーバーに関する予備知識なしでこのファイルを調べると、各行が特定のマシンコマンドを表し、アスタリスク(*)がコマンドの終わりの文字であることが正しく推測されます。さまざまな種類のコマンドがあるようです:G、D、Mおよびx、y座標データで始まる命令。

ソース:https : //www.artwork.com/gerber/appl2.htm

さまざまなコマンドを示す仕様は次のとおりです


2
Gerber(RS-274X)は、CNCプログラミングで使用されるGコード(RS-274)ファイルに関連しています。単純な2.5Dタスクのために、テキストエディターでGコードを直接記述することもあります。
スペロペファニー

5
ただ観察:あなたが直接コーディングガーバーである場合、あなたの頭の中で視覚化する以外に行われているデザインルールチェックはありません。テキストガーバーファイルを入力して、それを見るだけでGUIツールでファイルを開かずにファブハウスに送信することを想像することはできません。
mkeith

1
ガーバーがGコードに関連しているかどうかはわかりませんでしたが、疑いがありました。アンテナまたはフィルター用のシンプルな最上層を作成する必要がある場合、自分で何かをコーディングしてもそれほど悪くないかもしれません。Gコードを編集しただけですが、書きませんでした。
電圧スパイク

6
複雑なボード用のある種の視覚ツールよりもGコードを上手く使用できる人は、間違いなく例外的な人でしょう。Gコードで直接作業し、生産性を発揮できる人はだれでも、賢明な人と見なされる必要があります。
mkeith

1
世界の75億人すべてを知っているわけではありませんが、ガーバーコードを見るのに、本格的なマルチレイヤーのプロフェッショナル向けのグラフィックディスプレイよりも優れた仕事をする人は存在しません。ボード。
whatsisname

1

Kicadを使用している場合は、Youtubeの最初のKiCon(2019)での講演のビデオをご覧ください。いくつかの講演では、プレゼンターがパーツを生成するツールを作成すること、および接続についても明確に説明しました。少なくとも1つは、スクリプト言語として組み込まれているpythonを使用しました。


1
動画とツールへのリンクを詳しく説明してください。(会議に向けて手を振るのは価値のあるコメントかもしれませんが、それは答えとして十分に適格ではありません。)
ニックアレクセエフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.