So-net無料ブログ作成
検索選択

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

ピックアンドプレースをPCBで再利用する件に関してもうひとつ思いついたことがあります。
それはいくつかのレイアウト案がある場合にはそのファイルを別に保存して管理されているでしょう。
その代わりにピックアンドプレースで管理すればすぐにその位置を再現できるということです。
PCBDOCではないので勘違いで上書きということもないし、ファイルサイズが小さいので
Layout_*.Txtなどと名前を変えて管理すればいいでしょう。


SCHにて複数のページがある場合にスクリプトまたはEXCELのマクロでどう対応するかの
件では、ルームで対応すればいいかもしれません。
また、A2,A3サイズの場合はどう間隔を狭めるかという別の問題がでてきました。

続きを読む


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

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

PCBにてピックアンドプレースを発行した後に部品の位置を移動してから再度
ピックアンドプレースのファイルをロードするテストをしました。
問題なく、元の位置に移動してくれます。

次にファイル内でどの部分が重要なのかをチェックしました。
まずは1行目のヘッダーの項目です。
項目は適当でも大丈夫でなくても問題ありませんでした。
また2行目の空白行も不要でいきなり3行目をトップにしても問題なしでした。
ということでヘッダーは人間の認識用という解釈をしました。

その次に気になるのが座標の種類です。
座標の表現が3種類ありますがSCHの場合は1種類なので問題となるのではないか
ということです。
具体的にはMid XY とRef XY とPad XY とを同じ値にしたら矛盾する部品はどうなるかと
いうテストです。

続きを読む


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

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

「Altium Designer」のSCHにてDesignatorと位置とその座標をレポートして
PCBのツールでそれを読み込んで配置すればいいのではという案が浮かびました。

PCBにはオートプレース機能があり、ピックアンドプレースファイルを利用可能です。
そうなるとSCHのレポートファイルを事前に加工してピックアンドプレースファイル準拠
させれば利用できるのではないでしょうか。

回路図と同じ関係にラフに配置できれば後処理も楽になるのではないでしょうか。

続きを読む


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

回路図での欠番 [ALTIUM DESIGNER]

どこぞのフォーラムでの書き込みを呼んで見ると
Altium Designerの回路図にてCRなどの欠番をどうチェックするかという内容がありました。

回路図提出後の修正となるとREF番号(Designator)振りなおしはNGです。
誰しもクロスリファレンスなどを作成してDesignatorをチェックしているものと思って
いました。

しかし、世間では目視でチェックされる方もいるという内容で驚いています。

シンプルBOMやネットリストをエクセルに読み込んでソートなどをしてクロスリファレンスに
するなどすれば簡単にチェックが可能だと思っていたので意外でした。

続きを読む


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

ADスクリプトFormでの日本語表示 [AD Delphi Script]

「Altium Designer」のDelphiスクリプトのForm
つまりメニューのフォームにて日本語が使えるかどうかの点についての話です。

テストとして一部のフォントメイリオなどの日本語フォントにして使用しています。
(Fontの項目にてParentFontをチェックする必要あり)
ただ、後からチェックするとフォントがメイリオになっていなかったりするので利用
できると断言はしにくいです。

リンクしない説明用の文字であれば問題なさそうです。
つまりCode内で使用する文字と関係がある場合は文字化けでエラーとなりそうです。

続きを読む


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

Like & "*"で置換テーブル [EXCELマクロ]

VBAなどでフットプリントなどの型番を置換したい場合に置換テーブルを作成したりします。
VLOOKUPやREPLACE以外に使えるのがLIKEです。
クエリーでもこれが登場します。
下記のような使い方をします。

"ABCDE" Like ("ABCD*") = True

これを書き換えて
"ABCDE" Like ("ABCD" & "*") = True

具体的にはIf文などで下記の例のように記述します。
(別のシート同士で処理している例)

If NET.Cells(i, 3) Like (RP.Cells(j, 14) & "*") = True Then

NET.Cells(i, 5) = RP.Cells(j, 15)

またRA1,R2などが混在している場合にRだけを該当させるには下記のようにします。
(Left(NET.Cells(i, 1), 1) = "R") And (Mid(NET.Cells(i, 1), 2, 1) Like "[0-9]") Then

続きを読む


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

部品の座標 [AD Delphi Script]

Altium Designerではインチミリ換算の関係なのか配置位置に桁落ちして細かい数値に
なることがあります。
前の記事の「PnPcustom.pasに関して その2」でも触れた関数で処理が可能です。

RoundTo(X,-2)とすれば小数第2位にしてくれます。
小数第3位だと*.999mmとなってしまう場合があるので小数第2位にした方がいいでしょう。

たとえばR2012の座標が(9.9994、15.0001)の場合は小数点部分に0が並ぶのでそれも
表示されなくて(10,15)となり視認しやすくなります。

続きを読む


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

PnPcustom.pasに関して その2 [AD Delphi Script]

このスクリプトを少しずつ改造しています。
ピックアンドプレースにてこれまでに一番気になっていたのが部品の座標です。
インチ系を換算して表示しているので計算上の桁落ちで小数点5-6位ぐらいまで
表示されてしまうことです。

そこで、四捨五入して第3位に揃えようと考えました。
Round関数はうまく動作しなかったのでRoundTo関数で処理しました。

RoundTo(x,-3)とすれば小数第3位に揃います。
具体的にはX座標をこう処理しました。
Y座標も同様に処理します。

X := FloatToStr(RoundTo(CoordToMMs(Component.X - Board.XOrigin),-3));

続きを読む


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

PnPcustom.pasに関して [AD Delphi Script]

ファイル名は実際はPnPcoustom.pasではなくてoの文字を抜いた
PnPcustom.pasでしょう。

これをSummer09で動作させると途中でエラーになりました。
AD14以降ぐらいであれば動作するようです。

これは表面実装部品専用のピックアンドプレースファイルを生成するものです。

手持ちのファイルをAD15で試してみると一部が存在せずまた逆に重複している
ものがありました。
それをチェックしたら部品のプロパティ内の右下にある
Schematic Reference Infomation内のDesignatorが他と重複していました。
この部分は他の部品をコピーして利用したからでした。

続きを読む


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

フットプリント名を既存LIB型番にて [EXCELマクロ]

顧客のネットリストを読み込んでも顧客のフットプリントを鵜呑みや参考にはできません。
コメント欄を基準に置換をするマクロで処理してフットプリントを差し替えています。

しかし、置換テープルなどで手を尽くしても限度があります。
ICなどは既存ライブラリ内にある型番を置換テーブルの代わりに利用すればいいと考えて
それに該当していればその型番に変換するマクロにしました。

弊社では顧客でコメント欄がまじめにそれも規則的に記載されている場合は
9割ぐらいはマクロで変換処理が可能です。
作業時間が数分で基板設計用のネットリストに変換が可能です。

続きを読む


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

スクリプトにてOkボタンの代わりに [AD Delphi Script]

Delphiスクリプトフォームにて
「Ok」ボタンや「Place」ボタンの代わりに使い慣れたキーボード側の「Enter」キーを
押したいことがあります。

その場合はフォーム設計画面にて
「Enter」キーを変わりに使用したい「Ok」ボタンや「Place」ボタンをまず選択します。
次にスクリプトの「Object Inspector」パネルの上の方にあるBehavior欄の中の
Defaultの右にある□をチェックします。

続きを読む


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

認識マークは部品化か [ALTIUM DESIGNER]

認識マークを作成してLIBに部品登録して使用する場合は
事前に丸や四角のパッド + レジストレイヤに四角のリージョンは○を配置し登録します。
部品なのでBOMとして出力されてしまうのが欠点です。

弊社では1mmの丸や四角のフリーパッドにレジストの増加分1mm(両側)を足して3mmとして
配置しているのでBOM出力されることはありません。
また、ミスを減らすためにスクリプトを作成していて、それを起動させて配置しています。

続きを読む


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

基板設計用NETLIST作成の仕方 [プリント基板設計]

回路設計者の方はSCHから出力されたネットリストがそのまま利用できると思って
いらっしゃるようですがそうではありません。
フットプリントの項目が無い、または自社用のフットプリントに差し替えなければ
いけないからです。
ある程度は埋まっているコメント欄の項目が重要になります。

EXCELのマクロを使用した何種類か方法があるのでそれを記述してみます。

1.ORCADから出力されるBOMを利用
 ORCADから出力されたBOMを部品表太などを使用しないて直接
 EXCELのマクロで読み込んで型番を置換するなどしてフットプリントを差し替えます。

2.Altium Designerから出力されるSimple BOMを利用
 通常のBOMと異なり定型なので処理がしやすいという利点があります。

3.資料として存在するBOMをマクロに貼り付けて自分のデータベース比較して
 生成する手法。

4.PDFのBOMなどから各列をコピーしてそれをマクロで加工する手法があります。
 欠点としてはカンマなどの文字化けがあるので文字置換などの処理が必要です。

続きを読む


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

Simple Bom を利用 [EXCELマクロ]

Altium DesignerではSCH、PCB共にSimple Bomが同じフォーマットで出力されます。
定型というのがExcelのマクロで処理するにはありがたいタイプです。

BOMは他のマクロでも利用しているので列の並びを決めているのですが
Simple Bomを加工する方が人の手が入らないのでミスが出にくいでしょう。

そのマクロの方は途中まではできていますが、Designatorが折り返さずにカンマで
区切って連続しているので、それをどう折り返す処理ができるかに掛かっています。

続きを読む


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

新規フットプリントの検索 [EXCELマクロ]

ネットリストの部品情報を処理して自社のフットプリントの型番に差し替えた
新規ネットリストを生成させる場合があります。
しかし、どれを新規部品として作成すればいいのか確実にわからない場合があります。

そこでその新規ネットリストを読み込んで存在するフットプリントのデータベース
比較してその有無を○×で表示するエクセルのマクロを作成しています。

続きを読む


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

セカンドSSD [パソコン]

メインにSSDを使用しているとセカンドHDDを使用すると折角の静音性が乱されます。
そこでセカンドもSSDにしたくなります。

弊社でもそれが悩みでしたがSSDの価格も廉価になってきたので下記のような
構成にしています。
後者がセカンドSSDです。

PC1:500Gbyte + 256Gbyte
PC2:500Gbyte + 256Gbyte
PC3:500Gbyte + 128Gbyte

128GbyteはSSDの初期のPCで使用していたものの流用品ですが
256Gbyteは新規のものですが価格は12kぐらいなのでやむを得ないでしょう。

続きを読む


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

面付け時の画面表示 [ALTIUM DESIGNER]

以前にもTTFを使用した場合に画面表示をドラフトのままだとその部分がガーバー出力
されないことを記事にしました。
対策としてはスクリプトでドラフトを通常表示に戻して出力するようにして解決しました。

しかし、面付け時はリンク先の状態に依存するので同様の症状がでます。
こちらは解決策がないのでリンク元は通常表示させて終了させておく必要があるようです。

続きを読む


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