So-net無料ブログ作成

IDFの桁数 [IDF]

「Altium Designer」から出力された*.brdと*.proをチェックしてみると
VIAはミリ系で下記のようにキリがいい数値にしています。
これはHoleサイズエディタでチェックした値です。
0.3000
0.3500
0.5000

しかし*.brdの内容をチェックすると下記のように桁落ちしたものが多数でてきます。
*.proファイルの部品の座標に関しても同様でした。

0.2999994 289.8775 99.06 PTH BOARD VIA ECAD
0.499999 208.28 157.9626 PTH BOARD VIA ECAD
0.499999 216.535 155.575 PTH BOARD VIA ECAD
0.350012 218.7575 155.575 PTH BOARD VIA ECAD
0.350012 277.495 155.575 PTH BOARD VIA ECAD
0.350012 279.7175 155.575 PTH BOARD VIA ECAD

ミリ系のものを一旦内部でインチ系にし、それを更にミリ系に戻していればこうなることを
説明できます。
このような周辺的なプログラムは「Altium Designer」社のプログラム開発は以前から甘い感じが
しています。



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

IDFによる穴 [IDF]

IDFデータを出力する場合にも部品の穴やVIAの穴も重要です。
これは理解していそうでそうでもないので説明してみます。

IDFでは部品の外形(簡単なシルク風)とリードの穴位置を基板形状とその内側に表示します。
それには基板の取り付け穴も含みます。

基板設計では無意識に処理していますが基板外形内に取り付けPADを配置し
事前登録したPADのある部品を基板上に配置することで基板エリア内に穴が開きます。
VIAも同様に基板エリア内に配置すれば基板に自動的に穴が開きます。
慣れているので当然のようですが門外漢であれば不思議でしょう。

IDFではそれを3D化してくれるのでこのことが余計に重要です。
IDFに関してこれをまとめると基板設計時に基板内に取り付け穴を配置し
リード部品に関しては穴開きPADを配置しないとIDFデータ化した時にそれを表現できません。

逆に言えば表面実装部品に関してはIDFデータでは座標と取り付け面以外は基板設計時の
PADは意味がないことになります。
PADがある部品に関しても穴明けの情報だけでアニューラリング部分などの銅箔はIDFデータ上は
無視されます。
その部分に関してはドリルデータのようなものだと思えば理解しやすいでしょう。

3DCADの展開図には部品と取り付け穴、リード線の穴はありますがパターンはないという
意味でもあります。


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

IDFデータの作成マクロの考察 [IDF]

以前から記事にしているIDFデータをネットリストとピックアンドプレースファイルで
作成することをEXCELのマクロで実現する手順の考察です。

手編集も必要なので直接的ではなくて一旦、何らかのテーブルにする必要があるでしょう。
ネットリストを読み込んでAltium社風のピックアンドプレースファイルのテーブルに
すればいいでしょう。

別のシートに資料としてのピックアンドプレースファイルをREF番号、X座標、Y座標という
3列のテーブルを儲けて手編集します。
他社のピックアンドプレースファイルはフォーマットが統一されていないのでこれだけは
仕方ないでしょう。

そのREF番号を元にVLOOKUP関数で前出のテーブルを埋めればいいでしょう。
別途IDFデータ出力ボタンを設けて、そのテーブルを加工してファイル出力すれば
いいでしょう。
出力ファイルは2つあるので別のシート1列ずつに記載した方がいいかもしれません。

ピックアンドプレースファイルにオフセットがある場合は基板外形にも反映すれば
問題ないでしょう。


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

IDFデータの作成手順 [IDF]

タイトルは一般的なものに変更しましたが
内容としては「IDFデータを作成すれば 3」に相当します。

IDFが出力できないCADのデータを3D化する手順を
具体的に記載してみます。

0.顧客よりDXFなどのテンプレートとなる資料を貰い基板にロードする。

1.基板外形をDXFなどから作成し、板厚を設定する。

2.取り付け穴を配置する。

3.基板設計時と同様に部品をライブラリ登録をするが四角形のシルクの外観と基準点を
 十字のシルクで示し作成する。
 基板に開く部品取り付け穴がある場合はそれも作成しないと基板から急にリード線が貫通した
 3Dデータになってしまいます。

4.前の3.で作成した部品を基板上に配置する。
 その座標はピックアンドプレースファイルとDXFを参考にする。
 回転角度などの部品向きも重要です。
 部品登録した座標や向きをはっきりしておかないとピックアンドプレースファイルの座標の
 情報が意味なくなります。
 使用点数の多いCRなどはピックアンドプレースファイルを加工し「AltiumDesigener」に
 インポートすることで対応します。
 しかし、機構設計にあまり関係のないCRなどの配置は除外してもらった方がよいでしょう。

5.IDFデータを「AltiumDesigener」から出力します。

6.EXCELのマクロにてフットプリントとコメントの情報を同じにします。
 そうしないとフットプリントが同じでもコメントが異なる部品を3DCAD側で別名で発行し
 管理することになります。
 
7.ソリッドワークスなどのIDFデータを読める3DCADでそれぞれの部品に対応する3D部品を
 作成し2D部品と差し替えてます。

8.展開図などを作成して作業は完了です。


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

IDFデータを作成すれば 2 [IDF]

「Altium Designer」以外で3D化の依頼がある場合は大物の機構部品だけの場合が殆どです。
それに着目すれば「Altium Designer」で簡単に個々の部品を発行、配置して
IDF出力すればプログラミング無しでIDFデータ化ができることに気がつきました。

特に、個々の部品の取り付け穴などは位置出しで重要なのでその部分だけ
登録すれば基板にその穴が生成されるので便利です。

後は3DCAD側でその情報を3D化すれば完成です。


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

IDFデータを作成すれば [IDF]

基板データを3D化するにはCAD側で特に対応していない場合はIDFデータを出力して
それを3DCADにインポートすることで3D化します。

しかし、IDFデータを出力する機能が無かったりオプション扱いだったりするCADもあります。
そういう場合はIDFデータを一から作成してはどうかという案を思いつきました。

IDFデータは基板の形状と部品の位置情報、部品の素性の2種類がペアで必要です。
前者はピックアンドプレース情報が利用でき、後者はネットリストが参考になります。

具体的にはEXCELで表を作成し、そこに各種データをクロスリファレンスのように手動で記載し
それをVBAで処理すればいいでしょう。
後からヘッダー部分に基板の形状を四角として別に編集すればいいでしょう。

それを3DCADで読み込んで、基板形状が四角で無い場合は編集をします。
他は通常通りの部品作成と差し替えで対応できるでしょう。

基板に取り付け穴やディスクリート部品のPADやVIAが多い場合はある程度は省略しないと
3DCAD側での作業が大変になるでしょう。

理論的にはこうですが実際のプログラミングはまだ行っていないので不具合がでるでしょう。
空き時間にでもトライしてみます。

一つだけ問題なのは部品の座標と部品作成の座標がどこかを知ることが必要なことです。
自分で処理していれば、どこが原点なのかわかりますが人から貰ったファイルの場合は
その指示図も必要になるでしょう。


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

milとthou [IDF]

IDFの出力画面などでImperial(THOU)という画面が登場します。
インチ系だというのはわかりますが、IDFのファイル内にもヘッダーとして登場しているので
調べてみました。

THOUはサウと読み、サウザンス(thousandth、1000分の1)の短縮形だそうです。
つまり 1 Thou = 1 mil ということになります。

milはmmと間違いやすいのでどうしても使うのであればThouにするという流れのようです。
IDFもそれに準じているのでしょう。

ちなみにmilはラテン語のミッレ(mille、1000)の短縮形だそうです。


APIの中に下記のような記述がありました。
あるスクリプトの中で /10000 という部分がありましたが InternalUnits にする為に
そういう処理をしたのでしょう。

k1Mil = 1 * InternalUnits;
Notes
1 mil = 10000 internal units

続きを読む


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

IDFからPIKファイルに [IDF]

「Quadcept」ではIDFファイルを読み込むとその部品に位置情報を元に発行したばかりの部品を
その位置に一括で移動してくれます。
「Altium Designer」ではIDFの情報で使用するのは基板外形情報だけなので勿体ないです。

IDFファイルを加工してピックアンドプレースファイルPIKにすれば「Altium Designer」でも利用
できることを思いつきました。
まだ具体的にプログラミングを考えてはいませんがEXCELマクロでも実現可能でしょう。

改版の場合など参考になる改版前基板のIDFから生成して改版後のバラバラは部品にロードすれば
いいでしょう。しかし、IDFでなくてもピックアンドプレースファイルを生成して、それをロード
する方法もあるのでこちらの方が現実的なのも確かです。


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

IDFのフットプリントとコメント [IDF]

IDFはフットプリントだけに着目して処理していました。
しかし、コメントも重要なようです。
つまりソリッドワークスのサーキットワークスで言えば
フットプリント=コメントとして部品を作成したとすればIDF側で
フットプリントとコメントの形状が異なっている場合は別の部品として扱うようです。
これは10mmピッチのカーボン抵抗の場合、フットプリントに対してコメントとして
値が入っている場合はそれによってサーキットワークス側で3D部品形状を変えて
カラーコードをそれに対応可能ということです。

続きを読む


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

IDFのエラー対応 [IDF]

Altiumのライブラリーとしてはスラッシュが使用できますがそのままだとIDF
にも同じように記述されます。
しかし、SolidWorksなどでIDFを3D化するにはその名前と同じファイルを準備する
必要があります。
しかし、ファイルにスラッシュは使えないのでNGです。
Altium側で型番のその部分を_や-などに変更するか、IDFをテキストエディタで
文字置換する必要があります。

また、AltiumでIDF出力しようとするとハングアップすることがあります。
以前にも記事にしたように部品内のメカニカルレイヤに文字情報があるとNGです。
それ以外にテキストだけを部品登録した場合はそれもエラーになるようです。

続きを読む


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

基板外形をIDFで指定 [IDF]

「Altium Designer」にて、四角い基板外形をIDFで出力して板厚の項目をテキスト
エディタで変えて、再度インポートしてみました。

板厚は「Altium Designer」のレイヤースタックマネージャで見る限りは変化して
いませんでした。
エクスポート時はレイヤースタックマネージャの値に準拠するようですが
インポート時はIDF(SDRC-IDF)の値は無視するようです。

続きを読む


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

IDFエディタがあれば [IDF]

IDFの記載内容をマクロで修正していて気が付いたのですが
「型番」や「Standoff(部品のZ方向のオフセット)」、「Height(部品の高さ)」
などを修正できればいいということです。

*.BRDファイル内の「.PLACEMENT」情報は下記のようになっています。

1段目:「FootPrint」「Comment」「Designator」
2段目:「X座標」「Y座標」「Standoff」「回転角度」「TOP/BOTTOM PLACED」

となっています。

続きを読む


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

IDF Ver.3規格での出力のエラー その2 [IDF]

「Altium Designer」でVer.3規格での出力時の3D部品のオフセットの件の
続きの記事です。

「Altium Designer」のTools > Manage 3D Bodies for .... の画面にて
Standoff Height の数値がIDFの*.brdファイルに出力されるようです。

「Manage 3D Bodies for ....」の機能は2Dの部品情報から3D形状を仮想するツール
なのでこのような数値になっても仕方ありません。

これが0でないとIDFにて3D部品にてZ方向のオフセットが掛かります。
「Altium Designer」のこの編集画面で0にするかIDFのファイルを
テキストエディタで編集するかのどちらかで処理する必要があります。

IDF_3D_PRT.jpg

続きを読む


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

IDF Ver.3規格での出力のエラー [IDF]

「Altium Designer」でVer.3規格でIDF出力し、ソリッドワークスで処理すると
何故か部品が基板の中に埋もれたような状態になります。
IDFの情報を分析するとそのようになっているので仕方ないようです。

Ver.2規格では問題ありません。

続きを読む


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

「AltiumDesigner」のIDFは方言では [IDF]

「AltiumDesigner」のIDFについて更にチェックをしてみました。

*.brdファイルのある部分では下記のような並びでした。
[FootPrint]_[Comment]_[Designator]となっていました。

しかし「AltiumDesigner」の設計ファイルにて[Comment]の記載がない場合は
[FootPrint]__[Designator]となってしまいます。

_の部分は実際は半角の空白の意味です。
つまり半角のスペースが2つ連続してしまいます。

*.proファイルでは[FootPrint]のプロフィールを示しているので
([Designator]の部分は不要ですが) [Comment]欄については同様です。

その為に3DCAD側でエラーとなってしまいます。

これを回避するには「AltiumDesigner」の設計にて[Comment]欄を埋めれば
OKです。

続きを読む


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

「AltiumDesigner」のIDFの修正 [IDF]

「AltiumDesigner」のIDF(SDRC-IDF Brd Files)と「P-CAD」のIDFを比較したら
空白部分が違うのがわかり、これが方言になっているのではないでしょうか。

「AltiumDesigner」の方は半角空白が1から4文字分だけ揺らいでいるのでそれを
常に半角1文字の空白になるように修正しました。
これだけでは改善しないようで、次に部品の型番またはフットプリント名が1回だけ
登場しますがこれを2回繰り返します。
コメント部分も出力されるようなのでそれは削除する方が無難です。

続きを読む


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

「Altium Designer」のIDFの加工 [IDF]

「Altium Designer」から出力されるIDFファイル(SDRC-IDF Brd Files)は
以前から方言があるように感じています。
それはこちらの記事にも書いています。

brdとproファイルの両方に記述されている部品の型番は1度だけの記述です。
しかしそれを2度繰り返せば解決する場合があります。
その文字間は半角スペースである必要があります。

テキストエディターで修正するには部品点数が多いと時間が掛かりそうです。
AWKやPERLで処理するにはややこしい記述です。

続きを読む


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

IDFのバージョン [IDF]

これの規格に関しては以前のブログで少しふれたことがあります。
その時とは違う資料ですがこちらのサイトに情報があります。

現行ではIDF2.0とIDF3.0が主で
より3D化が進んだIDF4.0が出力される基板設計ソフトウェアは見かけたことが
ありません。

複雑なIDF4.0形式を入力する3DCADもそれなりの対応をしていないと
エラーを招きそうです。
nice!(0)  コメント(0) 

IDFの説明 [IDF]

基板設計CADと機構設計CADを繋ぐファイル形式であるIDFについて
馴染みがない人への説明がしにくいので考えてみました。

回路図CADと基板設計CADを繋ぐファイル形式としてはネットリストが
あります。
IDF形式は概念としてはこの関係と似ていて基板設計と機構設計CADを繋ぐ
唯一のファイル形式といえばいいでしょう。
テキストファイル形式なのも一緒です。
ただ、通常はファイルが2つ生成されることが違いでしょう。

IDF = 部品表 + マウント座標 + シルク 
これらの複合体と思ってもさほど問題ないでしょう。


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

「AltiumDesigner」のIDF [IDF]

「AltiumDesigner」からIDF出力すると「SolidWorks」で読み込むと
何も表示されないようです。

そこで編集後のファイル(*.brdと*.pro)を記載しておきます。

このテスト基板の部品構成の中身としては
E8という名前の電解コンデンサC1と
C2012というチップコンデンサC8の2つで
穴の出力は省略しました。
ピリオド.があると注釈文となるようなので
ピリオドの連続で分離してわかりやすくしてあります。

*.brdファイルでは
A.E8、C2012という部品の型番を2度ほど繰り返す必要があります。
 (オリジナルは1度だけ)
B.3番目は高さのオフセットのようでSTEPファイルを割り振ると
 数字がでますが0.0に修正する必要ありです。
 (1、2番目の数字は座標です。)

*.proファイルでは
C.同様に型番を2度繰り返し、最後にTHOU 0.0とつけると
 うまくいくようです。
 他の数字はシルク外形などから算出したラインで
 3D部品に変換する前にソフトウェア上で仮に表示されるものです。
 数字さえあればその後のエラー防止になります。

続きを読む


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