忍者ブログ
  • 2024.04
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 2024.06
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/05/18 17:44 】 |
PCBNEWでの3Dモデルについてはまったこと
複数枚基板の作成・ケースの作成を考えるにあたり、
KICADの3Dモデルで確認できれば便利だなあと考え、3Dモデルを作りを作ってみることにしました。モデルの作り方はhttp://ch.nicovideo.jp/kuwakuwa_san/blomaga/ar878990を参考しております。
(モデル作成始めたところで、実物を用意して確認したほうが楽だと思い始めました)

pcbnewでプレビュー画面を見ると、blenderで作成したモデルのサイズが合っていない。
なぜか?
→①mm系でモデルを作ったが、kicadがインチ系として解釈しているためサイズがずれる。
参考:http://ch.nicovideo.jp/kuwakuwa_san/blomaga/ar878990

ftとかthouとか単位がずれてるの困りますね。
(1ft=12,000thou,1inch=1,000thou(mil), 1inch = 2.54mm)

例えば1cmの辺としてデータを作ると、1inch=2.54cmとしてKICADが解釈してしまうため、2.54倍の大きさで表示されてしまう。
下図のような一辺2cmの立方体をstlで出力し、Wing3Dで.wrlに変換し、KICADで読み込ませると一辺5.08cmの立方体として表示されてしまう。


→②拡大縮小時に実寸法に対する比率が変化してしまっていた。
参考:http://yokalab.jp/blog/post/70
 
これは、下図赤枠が全部1になっていれば直ります。

倍率が異なっている場合は、ctrl+a→拡大縮小で直せます。(下図)
 



・暫定手段:blenderで倍率1.0で制作し、stlを吐き出す直前に、拡大縮小を0.3937とする。

・問題点
①寸法の数字をいじると拡縮の比率も動いてしまうので、
トランスフォームの位置を変化させて大きさを変えるようにしないといけない
②位置も拡縮で動いてしまうので、オブジェクトの位置も0,0,0になってないといけない。

今後作る場合は、今のところ、この方法以外に手段が思いつかないので、この方法を使っていきます。
どちらもオープンソースだから、不便と感じるところは自分で対処しないといけませんね。
1部品(1ピンソケット)だけですが、部品の作り方はわかりました。
3Dは難しいですね。



PR
【2016/01/02 20:03 】 | KICAD | 有り難いご意見(0)
teardrop
最近KICADを触っています。

teardrop(ティアドロップ)のスクリプトを動かせるようになったため、
備忘録として書いておくことにします。

KICADにはteardrop機能がなく、手作業でteardropを付ける必要があります。
svofskiさんが下記URLにてteardropのスクリプトを公開されています。
https://github.com/svofski/kicad-teardrops
これを使えばできそうです。

このteardrops.pyをダウンロード、もしくはソースをコピーして.pyファイルを作成します。
使ってみました。(G:\KICAD\pythonにteardrop.pyを置いた例)
>>> cd ./python
G:\KICAD\python
>>> import teardrops
>>> import teardrop
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "./teardrops.py", line 36, in <module>
    if pad.GetDrillShape() == PAD_DRILL_CIRCLE:
>>> NameError: name 'PAD_DRILL_CIRCLE' is not defined

怒られる。
クラス名が違うらしい。
一覧で調べてみると、"PAD_DRILL_SHAPE_CIRCLE"がそれっぽいので、
置き換えてみる。
下のように書き換えました。(36行目を修正)

#        if pad.GetDrillShape() == PAD_DRILL_CIRCLE:
            if pad.GetDrillShape() == PAD_DRILL_SHAPE_CIRCLE:

使ってみました。(修正後)
※pythonはインテンドがずれているとエラーをはきます。
>>> import teardrops
Teardrops generated for 62 vias and pads. To undo, select all drawings in copper layers and delete block

・使用前

 
・使用後


 作者の説明では、DRCチェックとかがあてにならなくなるから、製品設計等には推奨しないです。
と書かれているので、使用する際は気を付ける必要がありますが、
一つ一つ塗りつぶしをする手間を考えると、とても便利な機能かと思います。
配線されている太さの線をスルーホールパッドに対して同レイヤの図形線を追加しているようです。
線が細かったり、配線角度45度の倍数になっていないと、きれいなティアドロップにならない場合があります。
あと、適用後は直接図形を削除しないと消せないので、バックアップを作成した上で適用したほうがよさそうです。

参考:PCBNEWのクラス名一覧

2016/08/15 この記事に対しアクセスがあったので、少し修正しました。



【2016/01/01 12:40 】 | KICAD | 有り難いご意見(0)
<<前ページ | ホーム |