19
rcairoでものづくり gFab @mgwsuzuki gFab @mgwsuzuki

rcairoでものづくり

Embed Size (px)

DESCRIPTION

2013/03/01 沖縄ruby会議01の発表資料です

Citation preview

rcairoでものづくりgFab @mgwsuzuki

gFab @mgwsuzuki

rcairoとは

• cairo: 2Dグラフィックス用のCライブラリ

• それをrubyにバインディングしたのがrcairo

• PDF, SVGほか多数のフォーマット出力が可能

gFab @mgwsuzuki

基板をハコに入れたい

• ほこりかぶるし

• ショートさせそうだし

• 見た目悪いし収納性も良くないし

gFab @mgwsuzuki

道具はある

• gFabやってます

• レーザーカッターでアクリル板カットも簡単

• 入力データとしてSVGが使用可能 → rcairogFab @mgwsuzuki

ハコの展開図といえば

• 簡単だけど組み立てに接着剤が必要で面倒

• 接着したらばらせない

• 基板のメンテナンスができないgFab @mgwsuzuki

Box Jointとねじ接合

• Box Joint: ずれない ねじ接合: はずれない

• レーザーカッターだけで加工できる

• ねじだから組み立て後にばらすこともできるgFab @mgwsuzuki

設計が面倒…

• 物体を組み上げるから0.2mmもずれたらダメ• 6面をイメージしながら作るのが大変• 凸凹が多いから設計変更が面倒

gFab @mgwsuzuki

自動設計しよう!

• ポイント絞ってパラメータを設計• ねじ位置やコネクタの穴だって簡単に指定できる• 設計変更も楽々

#### パラメータ# 箱内形Box = {:x => Board_x + 4.0, # 箱内側横:y => Board_y + 2.0, # 箱内側縦:h => 26.0, # 箱内側高さ:t => 2.0 # 材料厚さ

}. . .

gFab @mgwsuzuki

パラメータ設定例#### 基板外形Board_x = 85.0Board_y = 56.0Space_b = 7.5

#### パラメータ

# 箱内形Box = {:x => Board_x + 4.0, # 箱内側横:y => Board_y + 2.0, # 箱内側縦:h => 26.0, # 箱内側高さ:t => 2.0 # 材料厚さ

}

# ジョイントJoint = {:yj => 15.0, # 縦ジョイント部の長さ:nyj => 2, # 縦ジョイントの数:xj => 60.0, # 横ジョイント部の長さ:hj => 15.0 # 高さジョイント部の長さ

}

# ねじ穴形状Screw = {:nw => 6.5, # ナット穴幅:nh => 2.0, # ナット穴高さ:sl => 10.5, # ねじ長:sw => 3.0 # ねじ幅

}

# 正面のねじ位置ScrewPosFront = {:top => [],:bottom => [],:left => [0.5],:right => [0.5]

}

# 背面のねじ位置ScrewPosBack = {:top => [0.5],:bottom => [0.5],:left => [],:right => []

}gFab @mgwsuzuki

ハコ生成

ruby boxgen.rb raspi.rb

gFab @mgwsuzuki

Inkscapeで追加修正など

• Inkscape: フリーのドローイングツール• 配置を変えたり、ロゴを追加したり• 材料を無駄なくカットできる!

gFab @mgwsuzuki

切り出す

• 原点あわせてピントあわせてカット開始

• あとは待つだけ (15~20分)

• 臭い!!gFab @mgwsuzuki

切り出し完了

gFab @mgwsuzuki

完成

• ジョイントをあわせてねじ止めして完成

• 3分あれば組み立てられるgFab @mgwsuzuki

この方法のメリット

• CAD不要

•現物の採寸・数値入力→生成→確認が早い

•変数が使えるのでパラメタライズ設計ができる

• テキストファイルのみ

gFab @mgwsuzuki

github

• githubにあげる予定

•パラメータファイルをpull-request

•ハコ作りたい方はgFabへ

gFab @mgwsuzuki

本当に早く作れるか?

• arduino用ケースを作ってみた• 構想、基板外形情報探し、実機から採寸: 1時間• カット+組み立て: 20分

gFab @mgwsuzuki

ギヤ設計

• ギヤは数値計算で作図できる

• これもrcairo

gFab @mgwsuzuki

まとめ

•一度ツールを作れば自動設計は手軽で便利

• エンジニア視点のものづくり

• ruby便利!!

gFab @mgwsuzuki