CAD支援ソフト探索2

プリント基板設計CAD(P-CAD/AltiumDesigner)にSolidoworksを併用

スポンサーサイト

--:-- ...Posted

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SCHの位置でPCB部品配置は? その3

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


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

スポンサーサイト

SCHの位置でPCB部品配置は? その2

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

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

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

SCHの位置でPCB部品配置は?

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

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

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

回路図での欠番

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

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

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

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


ADスクリプトFormでの日本語表示

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

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

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

Like & "*"で置換テーブル

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


部品の座標

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

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

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

PnPcustom.pasに関して その2

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

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

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

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


PnPcustom.pasに関して

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

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

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

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

フットプリント名を既存LIB型番にて

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

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

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

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。