So-net無料ブログ作成

Telesisフォーマット [ALTIUM DESIGNER]

「Telesisフォーマット」はAltium形式の呼び名で表現すると
Comment! FootPrint; Designator
という順序になります。

しかし、水魚堂から直接出力したTelesisではCommentとFootPrintが逆に
なっているようです。

続きを読む


nice!(0)  コメント(0) 

テレシスフォーマットの読み込みマクロ2 [EXCELマクロ]

前の記事の続きです。

実際にマクロにてテレシスフォーマットのネットリストが読み込めるようにしてみました。
まだ、全部のマクロには対応していませんが簡単なものから3点ほど処理しました。

テレシスの特徴は、前にも触れたように先頭の文字列が「$PACKAGES」なので「$NETS」
までを処理すれば部品情報になります。
先頭の文字を認識したら別の処理をすることで「Altium」との区別を自動認識させること
が可能でした。

実務としては楽になりましたが、プログラムとしては片方がよければ片方がNGになったり
で苦労しました。

続きを読む


nice!(0)  コメント(0) 

テレシスフォーマットの読み込みマクロ [EXCELマクロ]

今までプロテル(Altium)フォーマットに限定したEXCELのマクロにしていました。
しかし、要望があったので有名なテレシスフォーマットにも対応しようと思うように
なりました。

別の処理ボタンであれば問題はありませんが、自動でフォーマットを認識して処理できる
かは不安が残ります。

テレシスは先頭の文字が独特なのでそれを検知してIF文などで処理しようと思っています。

続きを読む


nice!(0)  コメント(0) 

パターン設計とアートワーク [プリント基板設計]

一般的には
パターン設計とアートワークは同じ意味に使われているのでしょう。

自分なりの解釈としては、回路設計者と機構設計と相談する場合はパターン設計で
指定されたサイズと場所で引き回しするのはアートワークではないかと思っています。

続きを読む


nice!(0)  コメント(0) 

ピックアンドプレースファイルの応用 [EXCELマクロ]

タイトルは変えていますが以前から記事にしていたピックアンドプレース関連の話です。

顧客とのやりとりとして部品の寸法を確認する図面が必要な場合があります。
その場合の手法の一つです。

ネットリストをエクセルのマクロで加工して使用するフットプリントを1つずつ発行
させるための新たなネットリストを生成します。

それを別の新規PCBDOCファイルにロードします。
それだとバラバラな位置にあります。

前出のマクロにて同時にピックアンドプレースファイルを生成しておきます。
それは部品の間隔を50-100mm程度になるようにプログラミングします。

続きを読む


nice!(0)  コメント(0) 

DelphiのRoundTo [AD Delphi Script]

Delphiの記事も少ないのでAltiumのスクリプト作成時に困ることが多いです。
Delphiにて「RoundTo」を使用すると「銀行丸め」になるようです。

小数点2位程度で処理をすると四捨五入と少し違った結果になる場合があります。
わかって使用する場合は問題ないのですが、それを知らないでスクリプトを作成して
しまうと誤差に悩まされるかもしれません。

弊社では今のところ、ピックアンドプレースでしか使用していませんが
結果を目視していてその違いに気がつき、「銀行丸め」について調べることになりました。

続きを読む


nice!(0)  コメント(0) 

PIKファイル [ALTIUM DESIGNER]

「Altium Designer」のPCBにて下記の手法でファイルを読み込む場合に
PIKファイルと表示されます。
 Tools > Componet Placement > Place From File

これはピックアンドプレースのファイルの英語スペルの先頭の文字PickをPIKと
して拡張子にしているものです。

「Altium Designer」から出力された*.TXTの拡張子を*.PIKとすれば問題ありません。
また当然ではありますが*.*として*.TXTを直接読み込むことも可能です。

続きを読む


nice!(0)  コメント(0) 

マウスとショートカットキー [ALTIUM DESIGNER]

「Altium Designer」で使用するマウスでお勧めはロジクールのMX620でした。
しかし、今は製造されていないようで新古品は10K以上です。

そこで後継といわれているM705tです。
MX620より一回り小さいので違和感はありますが慣れれば万人向けな外形でしょう。
ありがたいのは親指付近に移動となったボタンです。
最初のうちは表示ボタンだと思っていましたがラバー内にタクトスイッチが
忍ばせてあります。

CTRL+Zを割り付けているのでどのソフトウェアでの使い易いです。
親指の左側でアクセルすることになるのでマウスを持つときの力とは少しベクトルの
向きが違うのでミスして押すことはほぼないでしょう。

ロジクール製でありがたいのはホイールを前後ではなくて左右に押すスイッチです。
これをレイヤ移動に割り付けています。
以下そのやり方です。

続きを読む


nice!(0)  コメント(0) 

PCB部品配置 その3 [EXCELマクロ]

ピックアンドプレースファイルの利用の仕方としてレイアウトの変更があります。
顧客に提出するレイアウトが1種類ならともかく複数ある場合はそのPCBDOCを保存して
いることでしょう。

パターンを引いてないレイアウトの時点であればピックアンドプレースファイルを
保存して別名で管理すればよいのではないでしょうか。

それをロードすれば部品が勝手に移動してくれるからです。
何といってもファイルサイズが小さいので長年の設計で保存ファイルが増加してしまう
ことの防止にもなります。

続きを読む


nice!(0)  コメント(0) 

Ruby関連書籍 [プログラミング言語]

これまでにRubyの書籍を5冊以上購入しましたが、その中でよかったものを記載しておきます。
番号はその読む順序です。
1.は一番わかりやすくて初心者向けです。

1.「たった2日でできるRuby

2.「たのしいRuby

3.「Ruby逆引きハンドブック

続きを読む


nice!(0)  コメント(0) 

秀丸でのテキスト比較 [テキストエディタ]

テキストファイルの比較をしたい場合、「WinMerge」が有名です。
しかしソフトウェアのコーディングの場合はそのままテキストエディタで処理を
したくなります。

秀丸エディタはVer.8からその比較機能があるのを知りました。
ウィンドウ画面で2画面以上で開いていると「他の秀丸エディタと内容比較」と
表示されるので実行します。
指定したカラーマーカーで異なる部分が色分けされます。

続きを読む


nice!(0)  コメント(0) 

PCB部品配置 その2 [EXCELマクロ]

ピックアンドプレースファイルにてフットプリントがない場合にどうなるのかテストして
みました。
すると次の列であるMid-Xをフットプリントと認識するようです。
しかし、部品は配置されているので異なっていても無視されます。
問題となるのは次々に列がずれることで
最後のRotationの列がPad-Yと解釈されてしまいます。

するとRotationの代わりにコメントが割り振られます。
コメント欄が例えば74HC04AFと書かれていたら74度と解釈されて回転してまいます。

当然ながらその前の項目も違っているので異なった座標に移動します。
コメント欄自体は未記入の場合もあるので通常の動作ではなくてもいいはずです。

続きを読む


nice!(0)  コメント(0) 

Rubyの勉強 [プログラミング言語]

EXCELマクロやDelphiスクリプトでもできないことがあります。
それを解消するためにRubyの勉強をしています。

例えば、ネットリストでネット名が-abcなどという場合です。
-5Vであれば問題はないのですが-abcではハイフンがマイナスと解釈されてアルファベットの
引き算をさせることになり、EXCELのマクロでは読み込み途中でエラーとなります。

テキストエディタで事前に置換する必要がありますがやや面倒です。
定型な置換なのでテキスト加工ツールの方が有利でしょう。

続きを読む


nice!(0)  コメント(0) 

PCB部品配置 [EXCELマクロ]

基板の周辺に部品発行したばかりのPCBにて
そのネットリストを読み込んでEXCELのマクロで処理してピックアンドプレースファイルに
することに成功しました。

それを読み込んで下記の手順で部品を移動できます。
 Tools > Componet Placement > Place From File

縦横10mm間隔での配置としましたが大きなコネクタなども想定していたほど他の部品と
被らないので問題ありませんでした。
CRなどは連番となっているので探しやすいです。

続きを読む


nice!(0)  コメント(0) 

SCHの位置でPCB部品配置は? その5 [EXCELマクロ]

SCHからPCBへ座標を流用するマクロが完成し複数ページのSCHから生成したものから
ピックアンドプレースファイルを作成できました。

PCBの位置もそのファイル*.PIKをロードすることで予想通りの位置に再配置できました。
これから実務で利用して更にブラッシュアップしていくことになります。

複数のシートの場合はどのように配置するか悩みましたが事前に5x5で25シートを最大
とし、オフセット値をCASE文にて、具体的な数値を記載させることで解決しました。


SCHの位置情報が使えない場合も想定して、部品をDesignatorのアルファベット順に
左下から10mmずつ配置できるようなマクロを考えています。

続きを読む


nice!(0)  コメント(0) 

SCHの位置でPCB部品配置は? その4 [ALTIUM DESIGNER]

設計が終わったPCBとそれに対応するSCHとにて
まだ手動ではありますがテストをしてみました。

元になるSCHはORCADです。
Altiumで読み込んで変換しDesignatorの座標をCSV形式のレポートファイルで
出力しました。

それをExcelで読み込んで処理します。
列としては「Designator」とそれぞれのXY座標なので3列です。

XY座標をコピーして増やして新たにT/Bと回転角の列を追加します。
とりあえずT(トップ)で回転角は0としました。
2列目にフットプリントの項目があるのでそれは手動で記載しました。

これを設計が終わったPCBをコピーしたものをアンルートにします。
次に Tool > Component Placement > Place from File
にてそのファイルを読み込みます。

続きを読む


nice!(0)  コメント(0)