CAD支援ソフト探索2

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

スポンサーサイト

--:-- ...Posted

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

スクリプトの販売

これまで作成してきたDelphiスクリプトを販売することに致しました。
(一部はVBです。)
内容と説明用の動画はこちらです。

ソフトウェア名 備考 URL
FootPrint収集用スクリプト パターン設計用 https://youtu.be/mgztyEvH_7U
グリッド設定用スクリプト パターン設計用 https://youtu.be/7XhYo-_0eRQ
Qualityのスクリプト パターン設計用 https://youtu.be/Cbz3znfLmm4
レイヤセット関連のスクリプト  パターン設計用 https://youtu.be/KQeRwnwGJ2k
Place FMスクリプト パターン設計用 https://youtu.be/parh_a0QVUU
Place VIAスクリプト パターン設計用 https://youtu.be/tIEMpnFbHzI
Place PADスクリプト 部品作成用 https://youtu.be/12tCRyAWF14
Place PPスクリプト 回路図作成用 https://youtu.be/iZ5wUfdxn3A
四角形を配置するスクリプト  部品作成用 https://youtu.be/r43fpvWVDEo
REF番号の位置リセット 部品作成用 https://youtu.be/jA4z7DCmlLw
コーナーのR面取りスクリプト 部品作成用 https://youtu.be/pJAErGAOeUY
TrimExtendスクリプト 部品作成用 https://youtu.be/wmXEqUKtq2M






スポンサーサイト

DelphiのRoundTo

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

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

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

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

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

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

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

部品の座標

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が他と重複していました。
この部分は他の部品をコピーして利用したからでした。

スクリプトにてOkボタンの代わりに

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

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


Delphiの「XPComboBox」

DelphiのスクリプトをSummer09で動作させる場合に通常の「ComboBox」だと
登録当初は動作しますが、アプリを再起動させると動作しないという状況でした。

フォームである*.dfmをテキストエディタで見ると記載はされているので
何ら問題なくAD14.3などでは動作します。

Summer09で使いたい場合、似たような機能の「XPComboBox」であれば
問題なく動作するようです。

Delphiでフォームを常に最前面にするには

フォームのあるスクリプトでSCHやPCB作業画面中にその画面の裏に隠れてしまうことが
あります。

今まではこれの対策の為に、末尾にcancelを記述することで
即刻終了ということで回避していました。

ネットで調べたらこれを回避する方法がありました。

Form画面にて
「ObjectInspector」内にある「FormStyle」を「fsNormal」から「fsStayOnTop」に
変更してください。

Pad,Viaの配置パレット その2

スクリプトの方はある程度は出来上がりましたがPadとViaは使い道が違うので
それぞれ別のスクリプトにすることにしました。

つまりPadを配置するのは部品作りの場面が殆どで
Viaを配置するのは基板設計業務の時だけで、部品作りでViaを使用することは
極めて稀でしょう。

どちらも似たような形状でありながら使い方が違うので別のスクリプトとするのが
ベストだと考えました。

Viaの直径と穴径(mm)は現状では5種類です。
0.6/0.3
0.7/.35
1.0/.5
1.5/0.8
2.0/1.0

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