So-net無料ブログ作成
検索選択
AD Delphi Script ブログトップ
前の20件 | -

フットプリントの作成 [AD Delphi Script]

これまで作成したフットプリントを作成するDelphiスクリプトによって常識的なデバイス
フットプリントの作成が可能です。
これまでのように個別に機構設計CADで下書きして作成することが減ってきました。

怖いのはこのスクリプトに慣れてしまって以前のような作成方法が苦手になってしまいそうです。
実際に、このスクリプトを利用されている知り合いも同様の発言があり、もし他のCADに乗り換えた
としたとしたら怖いとのことでした。

また多少のスクリプトの修正や追加はあるでしょうがかなりのレベルまでは到達していそうです。
願うのはこのスクリプトを「Altium Designer」を使用されているユーザーの方に知って利用して
もらいたいことです。


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

AVRのスクリプトを検討中 [AD Delphi Script]

SOT89やSOT223やDPAKなどの主にAVRで利用されるフットプリントはピン数は少ないのですが
リード線はヒートシンクの部分を作図する場合はやや面倒です。
これまでのスクリプトではそれに対応できないので新たなスクリプトが必要です。
使用頻度は少ないのですがこれまでのスクリプトのように数式に従った作成の仕方をしておくことも
重要なので作成に着手しました。

TOだけは3Pではなくて5Pまで対応させることにしています。

AVR.png

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

スクリプトのカスタマイズ [AD Delphi Script]

スクリプトを作ったとしても利用する方によって使用するレイヤが異なるのでそれように
カスタマイズすることがあります。

中心(クリックした点)にクロスマークを配置することで寸法記載をする場合に基本になります。
シルクの形状やICなどでは1ピンに丸を配置するかどうかも分かれます。
それにも対応するように内部に変更ができるように記述しています。

シルクとして文字を配置することもありますがその情報についてもカスタマイズが可能です。


タグ:script
nice!(0)  コメント(0) 

テキスト配置のスクリプト [AD Delphi Script]

APIでテキストを配置するとTTFは問題ないのですがストロークフォントの場合は
サンセリフとしてもデフォルトになってしまいますがその理由は不明です。

そこでRunプロセススクリプトで記述することで解決しました。

SOPを作成するスクリプトでICの型番を中心位置に配置するのにこのスクリプトを追記することで
益々、便利になりました。

下記の例ではxy座標に+の文字を0.2mm幅、高さ1mmでサンセリフで配置するという意味です。

続きを読む


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

リード線とパッド配置のスクリプト [AD Delphi Script]

チップインダクタなどの四角で囲むリード線の寸法からJt、Jh、Jsからパッドを計算して
配置するスクリプトを作成しようと思いつきました。

これまでのスクリプトでは作れない2ピンのフットプリントに対応しようと思ったのが理由です。
これだけだと単純すぎるのである数値だけ離れた場所にパッドをミラーリングする機能も
設けようと思っています。

Rect_Pad.png


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

フィルの配置 [AD Delphi Script]

フィルを配置するスクリプトの例は知る限りではAltiumのAPI関連記事では一つだけしか
文献がありません。
チップアルミ電解のスクリプトでマイナス側のフィルを配置する場合に必要でした。

APIなどの資料に載っているものでは上手く動作しないので他のTrackなどに準拠するように
変えてみました。
Aのxy座標からBのxy座標を指定すればいいだけです。
通常のマウス動作と一緒で、トラックなどと異なり四角形の対角線のような2点を指定することに
なります。

続きを読む


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

チップアルミ電解作成スクリプト [AD Delphi Script]

プログラミングとしては比較的簡単な方でスムーズに処理できました。
しかし、メニューフォームはチップアルミ電解コンデンサの横の絵柄に固執してしまったので
図を2つ貼り付けたりしてごちゃごちゃしてしまいました。
その後、横からみた図を止めてこのような絵柄にして解決しました。
しかし、それ以外のメニューも多いので複雑なメニューフォームであることにかわりはないです。

これまでは裏方のように表示していたJt、Jh、Jsが重要なのでパッドサイズを決定する要素として
前面に出させました。
どれもデフォルトでは0.5mmとしていますがφ6mm以上であればパッド同士が当たることもなく
利用できます。

これまで使ってきた自社のフットプリントではリード線の内側の部分にパッドが掛かっていない
ものもありました。
改めてスクリプトによる規則的なフットプリント作成が重要なことを思い知らされました。

このスクリプトの内側の円の円弧部分にアークSinを使用することでパッドからSilk Gap分を逃げるように
なりました。

AL_SCR.jpg

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

コネクタ作成のスクリプト [AD Delphi Script]

実際に作成してみるとメニューフォームが複雑になってしまいました。
とくに2列の場合のパッド名の命名方法でそれと左右反転のフラップ機能です。
つまり、ジグザク、1-2、2-1とその左右反転で組み合わせが多くなってしまうことです。

これまでのスクリプトと違ってピッチサイズが自由であることとキリ穴の処理が
初めての経験です。

また、2列でピン数が奇数の場合は自動的にジグザグにしないといけないことです。
ジグザグ時のピッチは通常のピッチの1/2ですがスクリプトを使っている人自身が間違えて
しまうかもしれないので図に示すように上段のピッチe1をそのまま続投するようにしました。

テキストエディタよりはAltiumの開発環境の方がIF文などを折りたたむ機能があるので
便利でした。
これがないとプログラミング時に行を混乱していたでしょう。

CN2_SCR.jpg



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

Small Outline パッケージのスクリプト [AD Delphi Script]

2ピンのSOD以外にチップLCR、3-6ピンそして8ピン以上のICまでカバーするスクリプト
作成しました。

8ピン以上のICは実績があるのでさほど問題はなくその向きが違うので作り直しだったぐらいです。
2-6ピンはすべて個別に対応しました。
特に2ピンはノード名もあるので厄介です。
ダイオードの場合はA、Kでリードサイズが異なるのでそれも厄介です。

どのピン数にも合うようにするために外側にシルクを配置することも選択できるようにしました。
また、チップリレーなどのようにボディーとほぼ同じシルクも必要だったので3つから選択します。

このスクリプトから初めて、作図する機能と自動計算する機能に別けどちらでも作図できるように
しました。
この機能に気がついたことが今後のスクリプト作りに生きてくるでしょう。

ピッチをどこで規定するかも厄介で、2ピンにはX方向のピッチがそもそもありません。
フリーのピッチも必要だろうと思って設定項目を設けています。

プログラミングも大変で5000行を少し超えてしまいました。
筆者にとってはこれほどの大規模なプログラムはVBAを含めても初めてです。

SOD_SOT2.jpg


タグ:script
nice!(0)  コメント(0) 

チップアルミ電解のスクリプト [AD Delphi Script]

知り合いからの要望もあってチップアルミ電解を作図するスクリプトを考えています。
単純な作図がいいのか計算させるのがいいかまだ決めていませんが
そのフォーム内の絵柄だけは決めました。

スクリプト自体は簡単そうですが、推奨ランドが少ないのでどう計算またはパッドサイズを
どう算出かが問題です。

AL.png
タグ:script
nice!(1)  コメント(0) 

久々の逆三角関数 [AD Delphi Script]

円弧のシルクのパッドからの逃げを自動計算するプログラミング中に逆三角関数が必要に
なりました。

この「Altium Designer」のDelphiスクリプトで利用できる関数として入っているかも心配
でしたが問題なく使えました。

アークSinは 「ArcSin」を使用。

逆三角関数の答えがラジアンで戻るのでそれを度に変換する手間が気になりましたがそれも
関数処理ができました。

「RadToDeg」を使用し、足算をする都合で 「Roundto」で桁数を揃えました。

一箇所のプログラミングでこれだけ連続で関数を利用するのは珍しいです。


タグ:script
nice!(0)  コメント(0) 

Slice Tracks [AD Delphi Script]

基板設計画面にて、配置したトラックをカットするコマンドが「Slice Tracks」です。
しかし、部品作成画面では「Slice Tracks」のコマンドはありません。

「Run Process」で下記のように記載すれば部品作成画面でも動作します。

上段 PCB:RunScissors
下段 Mode=Cut_Tracks

スクリプトでこれを記載して使用した方がいいでしょう。

続きを読む


タグ:script
nice!(0)  コメント(0) 

メニュフォームの作成と修正 [AD Delphi Script]

スクリプトでメニューフォームがある場合はスクリプトを作成する前にそのメニューを作成
します。
しかし、実際にそのスクリプトを動作させて実作業に入ると修正をしたくなります。
また、コンパクトにした方がいい場合や、TABキーで入力値を次々に移動できるように
した方がいいでしょう。

そのメニューの変化の例を示します。
ドロップダウンする窓が他に掛かるので離していましたが近くても意外に問題ない場合も
ありました。

SSOP_New.jpg

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

コネクタ作成のスクリプト作成中 [AD Delphi Script]

半導体以外に部品作りで欲しいスクリプトはコネクタです。
どのようなメニューにしようか悩ましいのですが下記のようなメニューなら
色々なタイプに対応できそうです。

他の部品の作成スクリプト中で思いついた作図機能にコネクタの場合は特化すれば
いいのでしょう。

図の向きを規格化するとピン番号を1からではなくカウントダウンするような手法も
必要でしょう。

CN_PAD.png


タグ:script
nice!(0)  コメント(0) 

Delphiスクリプトのスキル [AD Delphi Script]

「Altium Designer」用のスクリプト作りもそろそろアイデアが無くなって来ているので終盤です。
気がつけばDelphiでのプログラミングも慣れてきました。

欠点は時々、VBでプログラミングをしているのでDelphiでは行末のセミコロン;を忘れてしまうこと
ぐらいです。

最初はテキストエディタで処理していました。
秀丸エディタよりはTeraPadの方が便利でした。しかし、長めのスクリプトになるとIDEがないと
大変なので「Altium Designer」の作成画面での作成が殆どとなりました。

ラジオボタンなどのコマンドはエディタでコピーした場合はリンクしない場合もあるようです。
フォーム画面でマウスでクリックすることで生成される空のプログラム内に記述し直すことで
対処できます。


タグ:script
nice!(0)  コメント(0) 

コピーしたコンポーネントのエラー [AD Delphi Script]

フォームですでに利用しているボタンなどのコンポーネントコピーしてリネームして利用することが
あります。
それをプログラム内で記述すると動作はしますが、他との絡みで誤動作することがあります。

フォームとのリンクが上手くできていないけれどプログラム上は通常動作する場合があります。
しかし、別のラジオボタン群を強制的にデフォルトにしたりする場合があります。

不具合を見つけるにはそのボタンなどのコンポーネントをクリックして新たに空のコードが
生成されればいいのですが、そうでない場合は問題ありです。



タグ:script
nice!(0)  コメント(0) 

FloatToStrF() [AD Delphi Script]

「Altium Designer」のDelphiスクリプトにて、キリ穴に名前を付けようとしました。

NTHのパッド名にそのまま直径DIの値をいれてNTH1.0としたい場合があります。
Pad.Name := 'NTH'+ FloatToStr(DI) ;

この場合は1.1などの場合はNTH1.1となりますが1.0の場合は小数点以下の文字が消えて
NTH1となってしまいます。
そこで下記のようにすればNTH1.0となってくれました。

Pad.Name := 'NTH'+ FloatToStrF(DI,ffFixed,2,1) ;

FloatToStrが動作するのは当然ですが、FloatToStrFが動作するか不安でしたが問題なしでした。
穴径DIは5mmまでと、入力側でリミッターを掛けてあるので有効数字、小数点はこれぐらいでも
いいでしょう。

手探りの中でDelphiスクリプトでのプログラミングをしているので知らないことばかりです。


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

SOP、TSOP配置スクリプト [AD Delphi Script]

呼び名をどうするか悩みますがIPCウィザードの名前に準拠しました。

メニューフォームはこのような感じです。

SOP_TSOP_Cre.jpg

ユーザー設定もできるようにしてあります。
実践配備も終了しましたが、ガルウィングを配置したものが新しいフットプリントということで
これまでのフットプリントと混在して使用することになりました。
(新規作成分はスクリプトで作成します。)

トウ部分が現状では0.45mmなのですが新しく作成したものだと0.5mmなので誤差の範囲ということで
こういう混在という判断をしました。

IC関連のフットプリントは量が多いので、いまさらすべてを差し替えというのはリスクがありすぎて
難しいです。



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

Small Outline パッケージのスクリプト作成中 [AD Delphi Script]

SOD(チップダイオード)またはSOT(チップトランジスタ)などフットプリントを作成するスクリプト
できたらいいなと思ってメニューフォームを考えています。

それを発展させるとリード線の部分の幅が広い表面実装のフォトカプラー、リレーも作成したくなりました。
しかし、それぞれのスクリプトを作成しているとそのスクリプトファイルを選んだりするのが大変になります。
そこでこれらのSO*などを一つのスクリプトメニューで作成できるのではないかと検討中です。

2Pinのダイオード、3PinのTR、5-6PinのICも縦置きします。
8Pin以上のパッケージもそれに準じると90度回転した形になりますがそれは多めにみることにします。
ダイオードだけがノードをA、Kとし、他は1から順に命名します。

2ピンのときだけはパッド間のピッチは関係なくなりますし、逆にリード線のサイズがアノードと
カソードで異なる場合があるので厄介です。
2ピンのSODをこのメニューフォームに加えるかどうかで悩んでいます。

SO.png


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

コネクタ作成のスクリプトは? [AD Delphi Script]

LCR以外にどのような部品作成のためのスクリプトができるか考えてみたら
コネクタが可能性が高いです。

しかし、系統的に処理することができないので本体のパッド、ホールド用のパッド
NTHなどを個別に作成した方がいいでしょう。

コネクタの寸法図はセンター指定ではなくて、パッドの外形から外形までの距離だったりと
作図しにくいです。

通常はメカニカルCADで下図を描いてDXFインポートしていますが、それをどこまでスクリプトで
処理できるかがキーになります。

アルゴリズムで一番難しいのがパッド番号の振り方を複数のチェックボタンによる階層構造です。
ラジオボタンであればその項目ごとに処理すればいいですが、チェックボタンの組み合わせによる
複数の処理は未経験で、案が浮かびません。

ジグザグな配置時のパッドサイズとクリアランスによるエラー告知も難しいです。



nice!(0)  コメント(0) 
前の20件 | - AD Delphi Script ブログトップ