C++ ときどき ごはん、わりとてぃーぶれいく☆

USAGI.NETWORKのなかのひとのブログ。主にC++。

KiCad 向けオレオレ 3Dモデリング Pro Micro 編、後半。


昨晩の 「Pro Micro の KiCad 向け 3Dモデル を作ってみるはなし。 Metasequoia の画像計測を使ったり 3DCG 方面の人っぽいアプローチでやってみるよ💁」 の続きです😃

仕上げにソケット&ピンをはめた状態にする前に、 KiCad ではテクスチャーを扱えないらしいので穴くらいはきちんとあけておくかーって思ったんです。 Metasequoia にもブーリアンは搭載されているので、基板にシリンダーで差ブーリアンするだけのはずーって思ったんです。

f:id:USAGI-WRP:20190228221639p:plain

思ったんです。

f:id:USAGI-WRP:20190228221648p:plain

ぎゃー💁

試しに1つだけ穴を開けるようにオブジェクトを調整してみても同様でした。なんてこったい…😂

再現性を確認するため、

  1. MQO を1つ別ウィンドウで起動
  2. 失敗した Pro Micro を作っている MQO から板とシリンダーをそれぞれコピーして検証用の別ウィンドウの MQO へ貼り付け(これができるところも MQO のべんりポイント💁)
  3. ブーリアン!!…同様に失敗💀
  4. シリンダーを1つだけにしてブーリアン!!…失敗💀

🤔…

原因を特定するため、

  1. 検証用の方で新たに板を作ってコピペしてきたシリンダーでブーリアン … 失敗💀
  2. 検証用の方で新たにシリンダーを作ってブーリアン … 成功😅 … ナゼダ…

f:id:USAGI-WRP:20190301110507p:plain

まー、できたからいっかー💁 昨晩は Fusion 360 へ移行するしかないかなーって諦めつつオネンネしいていたのでちょっと嬉しい。(CAD系3Dアプリの操作感はあんまり慣れないので😅)

f:id:USAGI-WRP:20190301114110p:plain

KiCad では 3Dモデル へテクスチャーは読めないらしーのでこれじゃあちょっと寂しいかなー…。

ホールの pad 乗せてみようかなー💁

f:id:USAGI-WRP:20190301140640p:plain

テクスチャー付けなくてもけっこーそれっぽく見えるようになった気がする😃

… SMD の pad も乗せてみようかなー💁

f:id:USAGI-WRP:20190301142915p:plain

だいぶそれっぽい!😃

シルクスクリーンのガイドも乗せてみようかなー💁

f:id:USAGI-WRP:20190301163422p:plain

もう Pro Micro にしか見えなくなってきた😃

… シルクの文字も乗せちゃおうかなー💁

f:id:USAGI-WRP:20190301171649p:plain

どうみても Pro Micro !!😃

…チップのレーザー刻印も付けちゃおうかなー…💁

f:id:USAGI-WRP:20190301201206p:plain

…裏面もちょっとだけシルク乗せちゃおー…💁

f:id:USAGI-WRP:20190301201328p:plain

できた、できた。もう誰がどうみてもパターンとはんだは無いけど ProMicro でしょー😃

いざ KiCad へ!

f:id:USAGI-WRP:20190301203938p:plain

…なんでやねーん😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂

期待動作していない点は、

  1. 基板の色が「赤」のはずが灰色
  2. 基板のポリゴンが壊れてる(↓図)
  3. 基板から R っぽいポリゴンがにょっきしてる(↓↓図)

f:id:USAGI-WRP:20190301205305p:plain

f:id:USAGI-WRP:20190301205634p:plain

先ず、色からなんとかする。

f:id:USAGI-WRP:20190301220612p:plain

MQO のレンダリングを基準に Material を作ったけれど、 KiCad で読むと shininess は金属部品を除きほぼ 0 にしないと diffuse が出ないみたい。 shininess1.0 くらいでもかなーり彩度が失われて灰色化してしまうと実験的にわかり、金属部品を除き基本的に shininess0 にしました😃

すると今度は LED が不透明な事に気付く。 KiCad 公式の LED の 3Dモデル は半透明になっていたはず…↓

f:id:USAGI-WRP:20190301221455p:plain

この↑ kicad-footprints:LED_D3.0mm 用の 3Dモデル のソースを眺めてみる。 VRML はテキストフォーマットなので GitHub でそのまま読める💁

                        DEF o2 Group {
                          children 
                            Shape {
                              appearance 
                              Appearance {
                                material 
                                Material {
                                  diffuseColor 1 0 0
                                  ambientIntensity 0.086274512
                                  specularColor 1 1 1
                                  shininess 1
                                  transparency 0.5

                                }

ambientIntensity が怪しいような、あるいはそもそも VRML 2.0 形式じゃないと透過処理してくれない実装なのか…。 MQO では VRML 1.0 しか吐けないし、これはまたそのうちの対応としよう…💀

さて、続いて致命的なポリゴンが壊れる問題へ。この問題は四角ポリゴンが原因かもしれない。

f:id:USAGI-WRP:20190301205820p:plain

この手の3Dモデルデータのアプリ間交換ではよくあるぱたーんの1つ。MQO で全てのオブジェクトを選択して 面を三角形化 を行ってみる。

f:id:USAGI-WRP:20190301232358p:plain

うむ、良い感じ😃

とはいえ、 SMD 風に実装する事はまず無いので「下駄」とセットの絵にしないとちょっとうさんくさい。自キ界隈でよくつかわれているように見えるスプリングピンヘッダー、コンスルーと呼ばれる工夫されたピンヘッダーを作って穿かせる事にしました。

f:id:USAGI-WRP:20190302060850p:plain

ほいできたっと♥

これを…穿かせて…

f:id:USAGI-WRP:20190302061106p:plain

KiCad で読み込んで…

f:id:USAGI-WRP:20190302061234p:plain

f:id:USAGI-WRP:20190302061349p:plain

オモテ、ヨシ😃

f:id:USAGI-WRP:20190302061442p:plain

ウラもヨシ😃

KiCad ProMicro オレオレ 3Dモデル できました!

https://github.com/usagi/usagi.kicad も更新。

f:id:USAGI-WRP:20190302063847p:plain

高さ違いのバリエーションも用意してみました。游舎工房お取り扱いはH=2.5mm、スイッチサイエンスお取り扱いはH=2.mm 。他の H については マックエイトカタログページ の PDF リンクのデータシート部分を参照して作成しました。10mm も下駄を穿かせるなら中にリセットスイッチとか実装しちゃうと名刺サイズとか小さなプラットフォームでは役に立つこともある…かな💁

f:id:USAGI-WRP:20190302064549p:plain

ProMicro のフットプリントなんだけど3Dモデルはスプリングピンヘッダーだけ立てる版も用意してみました。スプリングピンヘッダーだと ProMicro は着脱可能だしね!

f:id:USAGI-WRP:20190302073520p:plain

それとスプリングピンヘッダー単体も。

この後は「下駄」のバリエーションとしてピンヘッダー&ピンソケットを増やしたら、 MX Switch のKiCad用オレオレ3Dモデルを作ろうかなーって思います💁

それではおやすみなさーい💤