So-net無料ブログ作成
検索選択

部品の座標の桁落ち [ALTIUM DESIGNER]

グリッド設定をmm系にてパターン設計をしている場合でもブロック移動をしていても小数点以下
でズレが生じてしまいます。
プリファレンスでの桁数を4桁程度にしてもそれは改善されません。

個別に位置を修正するのは大変です。
ピックアンドプレースを出力し、それをEXCELマクロなどでROUND関数などの四捨五入の処理を
してPIKファイルとして読み込めば改善します。

しかし、ミリ系かインチ系かをはっきりしておかないと逆にミスが発生してしまいます。
判断がしやすいミリ系で処理した方が安心でしょう。
最終段階に処理するよりは引き回しをする前に処理をした方が致命的なミスを招かないでしょう。
当然ながら、処理前にはバックアップを取っておいてからの処理が必要です。



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

Delphiスクリプトにてフォーム関連のプロパティ [AD Delphi Script]

フォームの位置やサイズなどに関する自分のための覚書です。

フォーム表示を最前面
 FormStyleプロパティにて、fsStayOnTop にする

フォームサイズを固定
 BorderStyleプロパティにて、bsDialog にする

フォーム位置をデザインのまま
 Positionプロパティにて、poDesigned にする

フォームを半透明にする

続きを読む


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

Comment欄の書き換え [EXCELマクロ]

以前にもこちらの「トリッキーなComment書き換え」という記事でも触れたコメント欄に関する内容の
続きです。
http://sophil3.blog.so-net.ne.jp/2016-10-13-1

顧客の部品表に従ってコメント欄を直さなければいけない場合もあるでしょう。
(設計済みのAltium DesignerのデータからもBOMを出力したい?)

弊社で使用しているEXCELのマクロではネットリストや部品表からネットリストのフットプリント欄を
差し替えていますがその時にコメント欄の修正にも対処しています。

後者のマクロを利用すればそのマクロの改造なしで部品表のコメント欄をネットリストとし、設計基板の
コメント欄を差し替え可能です。
(フットプリント名の自社形状名との差し替えはしないまま。)

ネットリストの読み込み作業時に、フットプリント名の部分は書き換えしないように対処するのは
当然です。


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

使い易いTTF [ALTIUM DESIGNER]

Altium DesignerにてREF番号(デジグネーター)はサンセリフなどで処理していても
機能を英語で説明する場合などは綺麗なTrue Type Fontをシルクレイヤで使用したくなります。

これまでの経験ではBoldの方がバランスがいいようです。
元々、*Blackというフォント名があればそれも太めの場合が多くて使い易いでしょう。
Arial Blackのも候補の一つです。

サンセリフではIが他のフォントに近づいてしまうのでConsolasを使用しています。
しかし、Jはやや特殊です。

かっこいいフォントにしたい場合はConstatiaを使用しています。
(下記画像の上段)
Davidもg以外の文字はかっこいいです。

アルファベットと数字とが混在した状態で試すとバランスが悪いフォントもあるので注意が必要です。

TTF_Cosolas.jpg
nice!(0)  コメント(0) 

基板改版時の作業 [ALTIUM DESIGNER]

大幅なリナンバリングなどをしていないオーソドックスな改版の場合の対処法について箇条書き
してみます。

SCH_Aを旧回路図とし、SCH_Bを新回路図とします。

1.Altiumの新プロジェクトにSCH_AとSCH_Bとのネットリストをドラッグ比較したレポートを
 EXCEL形式で保存した後にチェックをして大まかな接続の違いを調べます。

2.SCH_Aを基準にSCH_Bとネットリストで比較することでフットプリントの違いを見つけます。
 (目視では大変なのでEXCELのマクロを使用しています。)

3.部品点数の増減がある場合もあるので逆にSCH_Bを基準にSCH_Aを2.と同様に比較してフットプリント
 の違いを見つけます。
 (2.と共にVLOOKUP関数を使用します。)

4.基板設計CADにて、1.で接続情報、2.と3.とでフットプリントの違いを比較した結果から
 部品追加、型番変更を手動で行います。
 (完全に処理するのは難しいので適宜に処理します。)

5.基板設計CADにてネットリストコンペアでの接続の違いを参考にしてショートしている場所を手動で
 なるべく事前に対処します。

6.SCH_Bのネットリストのフットプリント名を確認し修正した新しい(自社の)ネットリストSCH_B_NEWを
 作ります。
 (場合によっては接続情報部分だけにします。)

7.ここで初めて新しい5.のネットリストを基板設計CADにロードします。

8.SCH_Bのネットリストと基板設計CADから生成したネットリストSCH_B_NEWを比較して違いを調べます。

9.仮のDRCを掛けてショートが無いことを確認し修正をします。

10.ここからは通常の基板設計と同じ作業に入ります。



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

Quadceptとシェアリングエコノミー [プリント基板設計]

シェアリングエコノミーといえば色々なものを共有するという用語です。
下記のようなジャンルで存在しています。

カーシェアリング
シェアハウス
シェアオフィス

エアビーアンドビー(海外民泊ビジネス)
ウーバー(ウェブ配車の自家用車タクシー)

基板設計CADであるQuadceptには
share(部品共有ライブラリ)という機能があります。
ただ、こういった傾向はコモディティー化しやすいので設計会社がどう個性を出すかが
問題となるでしょう。


タグ:基板設計
nice!(1)  コメント(0) 

秀丸エディタ、変換モジュール [テキストエディタ]

ちょっとした変換の場合に一からマクロをプログラミングするのは大変だと思っていました。
すると、「変換モジュール」というものが用意されているのを知りました。

これを利用すれば大文字小文字変換や半角全角変換が簡単に行えそうです。
PDFで貰った部品表からネットリストを作成する場合も全角文字が厄介でしたがこれなら
簡単に対応できそうです。

プログラミング時にも全角の;などが入り込んでエラーとなる場合もあるのでこれで回避できます。
また、ソート機能もありがたいです。


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

Altiumの検索機能2 [AD Query]

前の記事でも触れましたが、重いのでこれまでにAltiumの検索機能は殆ど使用していませんでした。
しかし、実際に使い始めると起動させて1回目はそうなのですが、その後はそうでもありません。
どう検索するかの具体例です。

1段目に「74HC」を含み、2段目に「#」をいれ、アドバンスドで And 部分に not を追加して
否定すれば「#」を含まないということで検索が可能です。

プログラミングに慣れていれば当然のことなのですが、初心者だと戸惑うかもしれません。

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

ノード名の秀丸エディタでの検索と修正 [テキストエディタ]

ダイオードやコンデンサなどは自社のフットプリントのノード名と顧客のネットリストのノート名が
異なる場合があります。

弊社ではそれに合わせたフットプリントを作ることはなくネットリストのノード名を修正しています。
(というのもフットプリント名と3D部品の部品名がリンクしているので新たにフットプリントを作成
すると、3D部品も別名保存するなどの作業で追加管理する必要があるからです。)

以下、その手順です。

1.秀丸エディタで正規表現にチェックをいれます。

2.検索したい名前を入力しますがここでジャンルとノードを記載します。
 .は前後の区切りです。

 RA〇で -5 の場合は RA.*-5 とします。
 (RA*では、*のすぐ左のAが0個以上と解釈されるのでR〇もヒットしてしまいます。)

 ダイオートの-2のノードの場合は
 D.*-2
 などと入力します。


おまけ
複数の条件で検索する場合
ABとCDとEFの3つのキーワードが同時に含まれる文字列を探す場合は下記のように記述します。

^(?=.*AB)(?=.*CD)(?=.*EF).*$

アンド検索なので下記のようにキーワードの順序は変えても問題ありません。
^(?=.*AB)(?=.*EF)(?=.*CD).*$

node_change_hide.jpg
nice!(0)  コメント(0) 

配線時のショートカットキー [AD Delphi Script]

「Altium Designer」における配線時には色々なショートカットキーがあるので好みのものばかり
使っていると忘れてしまうことがあります。

使用頻度が多いものと少ないものとがあるのでそれを一覧にしたいものです。
そこで、Delphiスクリプトにしてフォーム(Form)として文字を並べてみました。
折角なので右側の説明はすべて日本語表示にしました。
(コードの中では文字化けが怖いので日本語は最小限にしていましたがForm内での使用は初です。)
特にコマンドはないのでボタンはCancelだけです。
赤い文字は使用頻度の高いものを表しています。

Delphi_shortcut.jpg

コードはあまりにも簡単で申し訳ないですが一応記載しておきます。

続きを読む


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

Altium DesignerのWasisをOrcadへ反映 [ALTIUM DESIGNER]

「Altium Designer」からWasisファイルを生成させてそれを加工すればOrcadに
リナンバリング情報をフィードバックできます。
以前にもこの件に少しだけ触れましたが手法までは記載していませんでした。

具体的な手順を示します。

1.「Altium Designer」からのWasisファイルを下記の画像のように右側が_になっている部分と
 後半に左側が_になっていて、その境目があることを確認します。

 これはAをBにしたいけれど一度に処理するとその途中でREF番号が重複してしまうので
 一旦、別のREF番号に置換しておいてからもう一度置換するという意味です。

2.これを*.SWPとファイル名を変え、次にそれをORCADで実行させれば回路図修正が完了です。

*.SWPはスワップファイルの略です。

Wasis_Orcad.jpg
nice!(0)  コメント(0) 

Altiumの検索機能 [ALTIUM DESIGNER]

SCHやPCBではライブラリー内から型番を検索しますが少し重い感じがしていました。
CPUがi7-860という第一世代でしたが第三世代以降ではそうでもなくすんなり動作するようです。
CPUパワーで解決できたようです。

ただ、検索時に最初だけは少し重いようです。
テンポラリーな「Query Results」が存在しているのでそれの為なのかもしれません。
Field欄はNameにし、Operator欄をcontainsにすればValue欄に型番を入れれば
ワイルド検索できます。

Find_lib_CPU.jpg
タグ:クエリー
nice!(0)  コメント(0) 

SolidWorks PCB と Altium [AD16]

「SolidWorks2017プレミアム」に付属する「SolidWorks PCB」についての話です。

もし、2000ユーザーがバージョンアップしたとするとそのオペレーターがすべて電気が得意という
訳ではないでしょうから何らかの動きがあるでしょう。
例えば、SCH部品ライブラリーが欲しいとかPCBフットプリントライブラリーが欲しいとかです。
こういった営業チャンスが到来するでしょうが、これまでアウトソーシングしていた顧客が
自社設計に走る場合もあるのでまだ何ともいえません。

その場合に気になるのが「SolidWorks PCB」と「 Altium Designer」との互換性です。
AD16ではPcbworksへのエクスポート機能がありましたが今回はどうなのでしょうか。
また「SolidWorks PCB」で途中まで設計したものや改版を「 Altium Designer」で行いたい場合の
ファイル形式はどうなのかが気になっています。

「SolidWorks PCB」にて回路図作成や基板設計中には「SolidWorks」での機構設計は同じ
設計者の場合は問題ありませんが、実際には別のオペレーターの筈はのでソフトウェアが一本では
効率が悪いという点もあります。


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

90度ではないローテーション [ALTIUM DESIGNER]

Altium Designer では単体またはブロックでの回転はスペースキーでは通常は90度回転です。

プリファレンスで別の細かい値に変更はできますが、また戻しておく必要があります。
Edit > Move > Rotate Selection... であればその都度、回転させたい値が一時的に設定できます。

以下、その手順です。
先に処理したいブロックを選択しておき、次に前出のRotate Selection... を
実行します。
回転させたい左周りの角度を入力し、回転させる原点をマウスで指定すれば完了です。

通常の設計では利用する頻度は少ないでしょうから、ショートカットキーなどに割振らない方が
コマンドの誤使用をさせなくていいでしょう。


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

Perl言語入門 [プログラミング言語]

秀丸エディタのマクロ関連書籍を読んでいて、ふとPerl言語が気になって定価の約1/3だったので
中古書籍を取り寄せました。

「AWK」から急に「Ruby」の勉強に入ったのでその前に「Perl」を覚えるのもいいのではないかという
考えが前からずっとあったからです。
また、この本には「正規表現」についても深く触れていたということもあります。

プログラマーなら色々な言語を知っているのは当然なのでしょうが、そういうジャンルの仕事では
ないので単なるユーティリティを作りたいだけの人間にはハードルが高いです。

ざっと読んだ限りは「Perl」は秀丸エディタのマクロと「Delphi」の中間ぐらいの内容のように
思えました。

今さらPerlでCGIを作りたい訳ではないので単なる参考書として読もうと思います。


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

Altium PCB 質問コーナー [質問コーナー]

Altium Designer に関して知っている内容に関してはある程度はお答えできるのではないかと
思い「質問コーナー」を作っていました。

ブログなので掲示板ほどの機能がないのでややこしくなるかもしれませんが
まずはトライしてみます。

質問を受付る内容としては一般的な基板設計、PCB(CAD)、STEPファイル、3D関連などです。
SCHに関してはORCADを変換して利用している程度で詳しくありませんので除外させてもらいます。


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

SOLIDWORKS 2017 [3DCAD]

Altium社が開発した「SOLIDWORKS PCB」が搭載される「SOLIDWORKS 2017 Premium」についての
記事がこちらにありました。

「SOLIDWORKS PCB」に関する動画こちらにあります。

「SOLIDWORKS 2017」のその他の機能はこちらにも掲載されています。
他の3DCADが編集できる機能は珍しいです。

どこの3DCADもある程度の機械設計に関する機能が装備されてきたのでこれからは電気系の
CADを取り込むことで発展させるのでしょう。
他のメーカーでも電気系のCADを買収しているのでこの流れは止まらないでしょう。


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

FootPrintの置換テーブル [EXCELマクロ]

顧客の回路図から生成したネットリスト内のフットプリント名は自社のフットプリント名とは
異なるので変換が必要です。

EXCELマクロで細かく処理していますが規則性のある部分はEXCELマクロ内に別シートとして
置換テーブルを設けています。

これまでは汎用マクロとしていましたが、置換させるのに限度があるので顧客別にEXCELマクロ自体を
別名保存して顧客別に対応することにしました。

欠点としてはEXCELマクロ自体を(バグ)修正すると、顧客別の複数のEXCELマクロを修正するのが面倒に
なります。
この修正もEXCELマクロで処理することが可能なのか検討中です。

これ以外の方法として
秀丸エディタのマクロでReplaceallなどのコマンドで細かく置換させる手もあります。
74HCシリーズなど似たような型番を置換させるには行数が増えて大変です。


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

秀丸エディタのgrep利用 [テキストエディタ]

ネットリストの編集などで検索する場合に、そのテキストを直接編集する場合もありますが
どこを編集すればいいのか、消し込み用の資料を作りたい場合はgrepが便利です。

この例ではネットリスト名でマイナスで始まっているものを探します。

検索 > grepの実行 で処理します。
この例の場合は検索するのに正規表現をチェックし ^(-) を入力します。
先頭がマイナスという意味です。

結果はファイル名と行数、該当した文字列が新規暫定ファイルとして生成されます。

Hide_Grep.jpg
nice!(0)  コメント(0) 

ネットリスト・コンペア [ALTIUM DESIGNER]

ビフォー・アフターなど2つのネットリストを比較する場合に何種類かの方法があります。
1.ネットリストコンペア専用ソフトウェアを利用
2.印刷して手動で比較
3.EXCELマクロなどを使用して両者を加工しREF番号を基準にしてセルを比較し異なる文字列の場合は
 色分けする。

弊社では主に3.を利用しています。
これ以外にも「Altium Designer」の機能で比較が可能です。
以下、その手順です。

A.アフター側として
 Design > Netlist > Create Netlist from Connected Copper でネットリストを生成します。

B.プロジェクトファイルにすでに設計に使用したネットリストが含まれている筈ですがそこに更に
 A.で生成したネットリストをドラッグします。

C.Project > Show Differences で両者を比較できます。
 ネットリストのロードと同じ手法なのでAdvanced Modeチェックを入れる必要があります。
 「No Diffrences Detected」 と表示されればOKです。

注意点
ネットリストは同じフォーマットにしてください。
Protel(Altium、Tango)形式にしておけば安心です。


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