So-net無料ブログ作成
Altium Delphi (E/J) ブログトップ
前の20件 | -

Fix footprint collection script [Altium Delphi (E/J)]

This reports a list of footprints by specifying a parent folder
with multiple PCBLIBs.

For Summer09

FtCl_Scr0.png

For AD14 or higher
Since the component "XPDirectoryEdit" is old, I modified that part.

FtCl_Scr1.png


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

VIA spacing at high frequencies [Altium Delphi (E/J)]

This calculates the proper distance to strike VIA on solid ground.
Calculated from the wavelength of the frequency being used.
(From overseas literature : P = wavelength / 20)

Freq_Via_Pitch.png


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

Thickness during cross-hatching [Altium Delphi (E/J)]

If cross-hatching is used, the capacitance decreases.

This will cause an error when calculating the width
of the microstrip line.
Calculate the target Zmesh by calculating this back.
Enter this Zmesh instead of Z and recalculate with the script
introduced earlier.

https://sophil3.blog.so-net.ne.jp/2019-08-20-9#more
(Used strip1)

Mesh.png


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

Pad placement script [Altium Delphi (E/J)]

I created a basic script that places a pad.
This is to cope with the case where it cannot be processed by other scripts.

Lead_PAD2.png


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

Transmission line delay time [Altium Delphi (E/J)]

This was ported as a Delphi script from EXCEL.
This script simply calculates from the difference in length between
the two tracks.

The effective dielectric constant value of the substrate material is preset.

DeLay_TXL_F.png
nice!(1)  コメント(0) 

Place Power Port Script [Altium Delphi (E/J)]

I created a script to place the power port on SCH.
If the first character such as -5V or -12V is negative in the VCC system,
the orientation will be 180 degrees.
Also, lowercase letters are converted to uppercase letters.

SCH_VCC_Scr2.png

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

Universal chip inductor footprint [Altium Delphi (E/J)]

Until now, I created chip inductor footprints by manufacturer.
Since it is not possible to cope with it,
I made it possible to create a universal type.
Delete unnecessary ones afterwards Please use it.

CI_Universal.png


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

4-pin(6-pin) component footprint [Altium Delphi (E/J)]

Since there are many 4-pin parts, the footprint can be created with a script.
THD is also supported.
In that case(THD), "Pad-Y" changes to "Hole(Size)".

4_6P_Form_menu.png
nice!(1)  コメント(0) 

PnP Gen. Script [Altium Delphi (E/J)]

I created a script that outputs a Pnp file.
It is possible to generate without depending on the version of Altium Designer.
(This script does not work on Summer09.)

PnP_Rep_V2_SCR.png

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

Microstrip line cutout script [Altium Delphi (E/J)]

Altium microstrip line cutout rate article in
I created a Delphi script using mathematical formulas.

Cr:Chamfer Rate
Cr = 52 + 65 * e (-1.35 * W/h)

This article is also helpful.
https://toragi.cqpub.co.jp/Portals/0/trcalc/trcalc.html?53

Chamfer_Rate_Scr2.png


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

スクリプトエラー時のPCBDOCファイル保存 [Altium Delphi (E/J)]

スクリプトのプログラミング時に、エラーを起こした後で時々、スクリプト自体ではなく
そのプログラムでスクリプトなどを生成しようとしているPCBDOCファイルが保存できない場合が
ありました。

プログラム実行した途中でエラーでそれを抜けるからというのは理解していました。
しかし、三角関数で処理すると角度によってはエラーがでるので途中で抜けるようにした
プログラムでも同様の症状がでる場合がありました。

調べてみたら最初に下記のような記述をしています。
PCBServer.PreProcess;

これに対応するのが下記です。
PCBServer.PostProcess;

これがペアなのに後者を処理しないでExitなどで抜けるからでした。
PCBServer.PreProcess を記述した後で
IF文などで抜ける場合は
下記のようにPostProcessの記述をして終了すればいいでしょう。

Begin
Showmessage('エラーで処理中断') ;
PCBServer.PostProcess;
Exit ;
End;

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

チップインダクタのフットプリント Part.3 [Altium Delphi (E/J)]

前出の3つのメーカー以外にチップインダクタを製造しているメーカーがないかと考えていたら
スミダを思い出しました。
こちらも3、4種類はありそうです。

これで打ち止めにしようとしていたのですが、もしか村田もあるのではないかと検索すると
案の定、ありました。

分類すると6種類ぐらいあって、型番の一部は東光と同じものがありました。
OEM供給されているのでしょう。
より詳しい形状で恐らく、仕様書なのでしょう。
輪郭がオリジナルの東光よりも詳しくで修正が必要になりました。

この時点でスクリプトは5社になりました。
形状が重複するものもあるようですが、メーカー別の方がわかりやすいので重複していても
良しとします。
コーナーの面取りの寸法が記載されていない場合が多いのでその部分は浅めの数値で自動処理
しています。

逆三角関数などを使用しているのでパッドのY方向サイズには制限を設けています。
あまり大きなパッドの場合はシルクカットをする部分が大きいのでLCR同様の四角形で
囲んだ絵柄の方がわかりやすいと判断しました。


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

チップインダクタのフットプリント Part.2 [Altium Delphi (E/J)]

形状で分類しようとしましたがメーカーによって微妙に異なるのが厄介でした。
そこであっさりメーカー別に分類することにしました。
現状ではTDK、東光、太陽誘電の3社に対応予定でTDK以外は対応させる形状も把握していて
どちらも3種類です。
メーカーによっては縦横サイズが同じでどちらか一方の数値だけの場合もあるので
メーカー別の分類というのは正解でしょう。

メニューフォームには画像を掲載するのでその空いた部分に具体的なシリーズ名を
掲載することでも対応予定です。

ただ、45度回転したような形状の場合は画像の作画も大変ですが、プログラミングが
もっと大変です。

TOKO2.png

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

チップインダクタのフットプリント [Altium Delphi (E/J)]

チップCRとは違った形状の比較的インタクタンスの大きめなインダクタを作成する
スクリプトを作成する予定です。

電極は2つですが、外形の種類が多いのでそのシルクを自動処理する方法を考えています。
TDKやTOKOなどのカタログから外形を7つに分類しました。

TAB切替によるページコントロールにするかラジオボタン+画像
にするかで悩んでいます。

コーナー部分が切り欠きなのかRなのかの種類も多いのでそれをどういう数値入力する
項目にするかで悩みます。


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

4ピンの部品のフットプリント Part.2 [Altium Delphi (E/J)]

このスクリプトは当初はSMDで考えていたのですが、スイッチなどではディスクリートの
場合も多いのでそれにも対応した方がいいと方針転換しました。

その場合はパッド形状は真円のみで、穴径の入力欄が必要となります。
パッドのY方向サイズの欄のテキストを変化させることで対応する予定です。
そのようなプログラミングはしたことがないのでどうなるか楽しみです。

スクリプトはすでに作成中なのですが、メニューが複雑なので6Pの場合はそれには対応できそうも
ありません。

LED付きスイッチなどでは6Pの場合がありますが、それは後から手動で追加することで対応
するか、位置や穴径を後で調整してもらうか思案中です。


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

4ピンの部品のフットプリント [Altium Delphi (E/J)]

比較的大きめのフットプリントとして4ピンのEMCラインフィルタや水晶振動子
などがあります。

簡単そうでこれまでのスクリプトが流用できそうですが、ピンの命名順序が違います。
左上が1として、上から1、2でまた左下に戻って3、4となるか
左上から下に1、2で循環するように3、4となる場合があります。
水晶振動子の場合は左下が1番で左周りになるので異なる順番になります。

これに水晶振動子は6ピンが存在するので4種類は必要になります。

また、リード線を描画する必要がある場合はそれが外形の端から存在するのか
ある間隔で存在するかで絵柄が変わります。

意外と複雑なメニューになりそうです。

4_6P_A.png4_6P_D.png
nice!(0)  コメント(0) 

露出パッドの半田面 [Altium Delphi (E/J)]

DFNやQFNには露出パッドが存在する場合が殆どです。
露出パッドのピン番号は連番にされる方が多いようですがその場合に半田面にもパッドを置くと
ややこしくなります。

弊社ではメタルマスクにならないことを考慮して同サイズのFILLを配置することで処理しています。
複数のVIAを配置することで電位やネットは同じにしています。

更に、スクリプトで処理するために中心に一つだけのVIAを配置することで画一化しています。
複数のVIAは露出パッドのサイズを考慮してそれを自力でコピーすることで対応します。

QFNとDFNのフットプリントを作成するスクリプトにこれを採用しています。
nice!(0)  コメント(0) 

短時間でフットプリント作成が可能 Part.2 [Altium Delphi (E/J)]

このスクリプトを利用開始された方のレポートが届きました。
その方もフットプリントウィザードや別の似たフットプリントを探してコピーして修正していました。
しかし、後者の場合は探した割には似たものが見つからずという場合が多いそうです。
前者の場合はウィザードから聞かれる項目が多い割には、後からメカニカルレイヤなどの処理で
時間が掛かるとのことでした。

筆者も初めて遭遇するフットプリントでフットプリントウィザードで作成が可能な場合だは
それで処理ひな形だけを作成していました。
しかし、ウィザードはそれなりの時間が掛かるのでスクリプトで処理することを考えつき
ました。

ピン番号などの文字にも対応させているのでこちらの方がアドバンテージがあるでしょう。


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

DFN,QFNの向き [Altium Delphi (E/J)]

SOPでもそうだったのですが、DFN、QFPのフットプリントを作成する場合に
基板設計会社によってそのデフォルトの向きが違う場合があります。

スクリプトを作成する場合もそれに合わせないといけないので両方に対応しないと
いけない場合があります。

DFNとQFNのスクリプトを作成中なのですが、顧客の要望で横向きで左下が1番で
弊社の考えとは違います。
海外では左上が1番になるからです。
それはBGAなどで左上が1番になっていることからも理解できます。

画像の絵柄は簡単に「Fireworks」で作成できるのですが、スクリプト本体は
パッドのXYサイズの定義やシルクとしてのトラックの座標などで混乱をしてしまいます。

顧客向けのスクリプト作りが一段落したので、自社用の向きでスクリプトを作成中です。
呼名の管理をどうしようか悩ましいのですが、当面は同じ名前としメニューフォームの
基準となる画像の向きで判断するしかなさそうです。


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

フットプリント作成用スクリプト Part.2 [Altium Delphi (E/J)]

LCRとダイオードを一緒に作成中でしたがLCR自体もシルクで分類しますし
ダイオードも種類があるので、ダイオードは別に処理することにしました。

そのダイオードはリードタイプとフラットタイプとフラットタイプで長さの異なるタイプの
3つに分類しました。
具体的にはこのような感じです。

DIODE3.png

DIODE2.png

DIODE1.png

リードタイプで横幅や長さが異なるタイプもあったように思いますが出現頻度が少ないので
それは除外しています。


nice!(0)  コメント(0) 
前の20件 | - Altium Delphi (E/J) ブログトップ